gogol-compute 0.0.1 → 0.1.0
raw patch · 204 files changed
+23946/−20078 lines, 204 filesdep ~gogol-core
Dependency ranges changed: gogol-core
Files
- README.md +3/−3
- gen/Network/Google/Compute.hs +133/−16
- gen/Network/Google/Compute/Types.hs +102/−32
- gen/Network/Google/Compute/Types/Product.hs +16931/−15802
- gen/Network/Google/Compute/Types/Sum.hs +2544/−2349
- gen/Network/Google/Resource/Compute/Addresses/AggregatedList.hs +35/−19
- gen/Network/Google/Resource/Compute/Addresses/Delete.hs +8/−5
- gen/Network/Google/Resource/Compute/Addresses/Get.hs +9/−5
- gen/Network/Google/Resource/Compute/Addresses/Insert.hs +8/−5
- gen/Network/Google/Resource/Compute/Addresses/List.hs +36/−22
- gen/Network/Google/Resource/Compute/Autoscalers/AggregatedList.hs +36/−20
- gen/Network/Google/Resource/Compute/Autoscalers/Delete.hs +12/−9
- gen/Network/Google/Resource/Compute/Autoscalers/Get.hs +15/−9
- gen/Network/Google/Resource/Compute/Autoscalers/Insert.hs +13/−10
- gen/Network/Google/Resource/Compute/Autoscalers/List.hs +37/−23
- gen/Network/Google/Resource/Compute/Autoscalers/Patch.hs +14/−11
- gen/Network/Google/Resource/Compute/Autoscalers/Update.hs +14/−11
- gen/Network/Google/Resource/Compute/BackendServices/Delete.hs +8/−5
- gen/Network/Google/Resource/Compute/BackendServices/Get.hs +13/−7
- gen/Network/Google/Resource/Compute/BackendServices/GetHealth.hs +8/−4
- gen/Network/Google/Resource/Compute/BackendServices/Insert.hs +14/−7
- gen/Network/Google/Resource/Compute/BackendServices/List.hs +34/−18
- gen/Network/Google/Resource/Compute/BackendServices/Patch.hs +16/−9
- gen/Network/Google/Resource/Compute/BackendServices/Update.hs +14/−7
- gen/Network/Google/Resource/Compute/DiskTypes/AggregatedList.hs +35/−19
- gen/Network/Google/Resource/Compute/DiskTypes/Get.hs +13/−7
- gen/Network/Google/Resource/Compute/DiskTypes/List.hs +35/−21
- gen/Network/Google/Resource/Compute/Disks/AggregatedList.hs +35/−19
- gen/Network/Google/Resource/Compute/Disks/CreateSnapshot.hs +9/−6
- gen/Network/Google/Resource/Compute/Disks/Delete.hs +7/−4
- gen/Network/Google/Resource/Compute/Disks/Get.hs +12/−6
- gen/Network/Google/Resource/Compute/Disks/Insert.hs +17/−8
- gen/Network/Google/Resource/Compute/Disks/List.hs +35/−19
- gen/Network/Google/Resource/Compute/Disks/Resize.hs +125/−0
- gen/Network/Google/Resource/Compute/Firewalls/Delete.hs +10/−7
- gen/Network/Google/Resource/Compute/Firewalls/Get.hs +11/−7
- gen/Network/Google/Resource/Compute/Firewalls/Insert.hs +11/−8
- gen/Network/Google/Resource/Compute/Firewalls/List.hs +35/−21
- gen/Network/Google/Resource/Compute/Firewalls/Patch.hs +10/−7
- gen/Network/Google/Resource/Compute/Firewalls/Update.hs +10/−7
- gen/Network/Google/Resource/Compute/ForwardingRules/AggregatedList.hs +36/−20
- gen/Network/Google/Resource/Compute/ForwardingRules/Delete.hs +8/−5
- gen/Network/Google/Resource/Compute/ForwardingRules/Get.hs +9/−5
- gen/Network/Google/Resource/Compute/ForwardingRules/Insert.hs +8/−5
- gen/Network/Google/Resource/Compute/ForwardingRules/List.hs +38/−22
- gen/Network/Google/Resource/Compute/ForwardingRules/SetTarget.hs +12/−7
- gen/Network/Google/Resource/Compute/GlobalAddresses/Delete.hs +7/−4
- gen/Network/Google/Resource/Compute/GlobalAddresses/Get.hs +12/−6
- gen/Network/Google/Resource/Compute/GlobalAddresses/Insert.hs +7/−4
- gen/Network/Google/Resource/Compute/GlobalAddresses/List.hs +35/−19
- gen/Network/Google/Resource/Compute/GlobalForwardingRules/Delete.hs +8/−5
- gen/Network/Google/Resource/Compute/GlobalForwardingRules/Get.hs +13/−7
- gen/Network/Google/Resource/Compute/GlobalForwardingRules/Insert.hs +8/−5
- gen/Network/Google/Resource/Compute/GlobalForwardingRules/List.hs +38/−22
- gen/Network/Google/Resource/Compute/GlobalForwardingRules/SetTarget.hs +12/−7
- gen/Network/Google/Resource/Compute/GlobalOperations/AggregatedList.hs +35/−19
- gen/Network/Google/Resource/Compute/GlobalOperations/Delete.hs +7/−4
- gen/Network/Google/Resource/Compute/GlobalOperations/Get.hs +12/−6
- gen/Network/Google/Resource/Compute/GlobalOperations/List.hs +35/−19
- gen/Network/Google/Resource/Compute/HTTPHealthChecks/Delete.hs +8/−5
- gen/Network/Google/Resource/Compute/HTTPHealthChecks/Get.hs +13/−7
- gen/Network/Google/Resource/Compute/HTTPHealthChecks/Insert.hs +8/−5
- gen/Network/Google/Resource/Compute/HTTPHealthChecks/List.hs +34/−18
- gen/Network/Google/Resource/Compute/HTTPHealthChecks/Patch.hs +8/−5
- gen/Network/Google/Resource/Compute/HTTPHealthChecks/Update.hs +8/−5
- gen/Network/Google/Resource/Compute/HTTPSHealthChecks/Delete.hs +8/−5
- gen/Network/Google/Resource/Compute/HTTPSHealthChecks/Get.hs +13/−7
- gen/Network/Google/Resource/Compute/HTTPSHealthChecks/Insert.hs +8/−5
- gen/Network/Google/Resource/Compute/HTTPSHealthChecks/List.hs +34/−18
- gen/Network/Google/Resource/Compute/HTTPSHealthChecks/Patch.hs +8/−5
- gen/Network/Google/Resource/Compute/HTTPSHealthChecks/Update.hs +8/−5
- gen/Network/Google/Resource/Compute/Images/Delete.hs +9/−6
- gen/Network/Google/Resource/Compute/Images/Deprecate.hs +7/−4
- gen/Network/Google/Resource/Compute/Images/Get.hs +12/−6
- gen/Network/Google/Resource/Compute/Images/GetFromFamily.hs +105/−0
- gen/Network/Google/Resource/Compute/Images/Insert.hs +14/−8
- gen/Network/Google/Resource/Compute/Images/List.hs +33/−17
- gen/Network/Google/Resource/Compute/InstanceGroupManagers/AbandonInstances.hs +8/−5
- gen/Network/Google/Resource/Compute/InstanceGroupManagers/AggregatedList.hs +35/−18
- gen/Network/Google/Resource/Compute/InstanceGroupManagers/Delete.hs +12/−7
- gen/Network/Google/Resource/Compute/InstanceGroupManagers/DeleteInstances.hs +8/−5
- gen/Network/Google/Resource/Compute/InstanceGroupManagers/Get.hs +13/−5
- gen/Network/Google/Resource/Compute/InstanceGroupManagers/Insert.hs +8/−5
- gen/Network/Google/Resource/Compute/InstanceGroupManagers/List.hs +34/−18
- gen/Network/Google/Resource/Compute/InstanceGroupManagers/ListManagedInstances.hs +10/−5
- gen/Network/Google/Resource/Compute/InstanceGroupManagers/RecreateInstances.hs +8/−5
- gen/Network/Google/Resource/Compute/InstanceGroupManagers/Resize.hs +8/−5
- gen/Network/Google/Resource/Compute/InstanceGroupManagers/SetInstanceTemplate.hs +9/−5
- gen/Network/Google/Resource/Compute/InstanceGroupManagers/SetTargetPools.hs +9/−5
- gen/Network/Google/Resource/Compute/InstanceGroups/AddInstances.hs +10/−7
- gen/Network/Google/Resource/Compute/InstanceGroups/AggregatedList.hs +34/−18
- gen/Network/Google/Resource/Compute/InstanceGroups/Delete.hs +12/−7
- gen/Network/Google/Resource/Compute/InstanceGroups/Get.hs +13/−7
- gen/Network/Google/Resource/Compute/InstanceGroups/Insert.hs +8/−5
- gen/Network/Google/Resource/Compute/InstanceGroups/List.hs +34/−18
- gen/Network/Google/Resource/Compute/InstanceGroups/ListInstances.hs +34/−18
- gen/Network/Google/Resource/Compute/InstanceGroups/RemoveInstances.hs +8/−5
- gen/Network/Google/Resource/Compute/InstanceGroups/SetNamedPorts.hs +8/−5
- gen/Network/Google/Resource/Compute/InstanceTemplates/Delete.hs +18/−7
- gen/Network/Google/Resource/Compute/InstanceTemplates/Get.hs +13/−7
- gen/Network/Google/Resource/Compute/InstanceTemplates/Insert.hs +16/−7
- gen/Network/Google/Resource/Compute/InstanceTemplates/List.hs +34/−18
- gen/Network/Google/Resource/Compute/Instances/AddAccessConfig.hs +7/−4
- gen/Network/Google/Resource/Compute/Instances/AggregatedList.hs +35/−19
- gen/Network/Google/Resource/Compute/Instances/AttachDisk.hs +8/−5
- gen/Network/Google/Resource/Compute/Instances/Delete.hs +9/−6
- gen/Network/Google/Resource/Compute/Instances/DeleteAccessConfig.hs +7/−4
- gen/Network/Google/Resource/Compute/Instances/DetachDisk.hs +7/−4
- gen/Network/Google/Resource/Compute/Instances/Get.hs +12/−6
- gen/Network/Google/Resource/Compute/Instances/GetSerialPortOutput.hs +8/−4
- gen/Network/Google/Resource/Compute/Instances/Insert.hs +7/−4
- gen/Network/Google/Resource/Compute/Instances/List.hs +35/−21
- gen/Network/Google/Resource/Compute/Instances/Reset.hs +7/−4
- gen/Network/Google/Resource/Compute/Instances/SetDiskAutoDelete.hs +7/−4
- gen/Network/Google/Resource/Compute/Instances/SetMachineType.hs +130/−0
- gen/Network/Google/Resource/Compute/Instances/SetMetadata.hs +7/−4
- gen/Network/Google/Resource/Compute/Instances/SetScheduling.hs +7/−4
- gen/Network/Google/Resource/Compute/Instances/SetTags.hs +7/−4
- gen/Network/Google/Resource/Compute/Instances/Start.hs +11/−8
- gen/Network/Google/Resource/Compute/Instances/Stop.hs +19/−16
- gen/Network/Google/Resource/Compute/Licenses/Get.hs +13/−7
- gen/Network/Google/Resource/Compute/MachineTypes/AggregatedList.hs +35/−19
- gen/Network/Google/Resource/Compute/MachineTypes/Get.hs +13/−7
- gen/Network/Google/Resource/Compute/MachineTypes/List.hs +35/−21
- gen/Network/Google/Resource/Compute/Networks/Delete.hs +10/−7
- gen/Network/Google/Resource/Compute/Networks/Get.hs +13/−7
- gen/Network/Google/Resource/Compute/Networks/Insert.hs +11/−8
- gen/Network/Google/Resource/Compute/Networks/List.hs +35/−21
- gen/Network/Google/Resource/Compute/Projects/Get.hs +10/−6
- gen/Network/Google/Resource/Compute/Projects/MoveDisk.hs +7/−4
- gen/Network/Google/Resource/Compute/Projects/MoveInstance.hs +7/−4
- gen/Network/Google/Resource/Compute/Projects/SetCommonInstanceMetadata.hs +7/−4
- gen/Network/Google/Resource/Compute/Projects/SetUsageExportBucket.hs +10/−4
- gen/Network/Google/Resource/Compute/RegionOperations/Delete.hs +8/−5
- gen/Network/Google/Resource/Compute/RegionOperations/Get.hs +9/−5
- gen/Network/Google/Resource/Compute/RegionOperations/List.hs +36/−20
- gen/Network/Google/Resource/Compute/Regions/Get.hs +12/−6
- gen/Network/Google/Resource/Compute/Regions/List.hs +33/−17
- gen/Network/Google/Resource/Compute/Routes/Delete.hs +11/−8
- gen/Network/Google/Resource/Compute/Routes/Get.hs +14/−8
- gen/Network/Google/Resource/Compute/Routes/Insert.hs +10/−7
- gen/Network/Google/Resource/Compute/Routes/List.hs +36/−20
- gen/Network/Google/Resource/Compute/SSLCertificates/Delete.hs +8/−5
- gen/Network/Google/Resource/Compute/SSLCertificates/Get.hs +13/−7
- gen/Network/Google/Resource/Compute/SSLCertificates/Insert.hs +8/−5
- gen/Network/Google/Resource/Compute/SSLCertificates/List.hs +34/−18
- gen/Network/Google/Resource/Compute/Snapshots/Delete.hs +26/−23
- gen/Network/Google/Resource/Compute/Snapshots/Get.hs +31/−25
- gen/Network/Google/Resource/Compute/Snapshots/List.hs +65/−50
- gen/Network/Google/Resource/Compute/Subnetworks/AggregatedList.hs +154/−0
- gen/Network/Google/Resource/Compute/Subnetworks/Delete.hs +113/−0
- gen/Network/Google/Resource/Compute/Subnetworks/Get.hs +115/−0
- gen/Network/Google/Resource/Compute/Subnetworks/Insert.hs +114/−0
- gen/Network/Google/Resource/Compute/Subnetworks/List.hs +161/−0
- gen/Network/Google/Resource/Compute/TargetHTTPProxies/Delete.hs +8/−5
- gen/Network/Google/Resource/Compute/TargetHTTPProxies/Get.hs +13/−7
- gen/Network/Google/Resource/Compute/TargetHTTPProxies/Insert.hs +8/−5
- gen/Network/Google/Resource/Compute/TargetHTTPProxies/List.hs +34/−18
- gen/Network/Google/Resource/Compute/TargetHTTPProxies/SetURLMap.hs +9/−6
- gen/Network/Google/Resource/Compute/TargetHTTPSProxies/Delete.hs +8/−5
- gen/Network/Google/Resource/Compute/TargetHTTPSProxies/Get.hs +13/−7
- gen/Network/Google/Resource/Compute/TargetHTTPSProxies/Insert.hs +8/−5
- gen/Network/Google/Resource/Compute/TargetHTTPSProxies/List.hs +34/−18
- gen/Network/Google/Resource/Compute/TargetHTTPSProxies/SetSSLCertificates.hs +10/−6
- gen/Network/Google/Resource/Compute/TargetHTTPSProxies/SetURLMap.hs +8/−5
- gen/Network/Google/Resource/Compute/TargetInstances/AggregatedList.hs +36/−20
- gen/Network/Google/Resource/Compute/TargetInstances/Delete.hs +8/−5
- gen/Network/Google/Resource/Compute/TargetInstances/Get.hs +13/−7
- gen/Network/Google/Resource/Compute/TargetInstances/Insert.hs +8/−5
- gen/Network/Google/Resource/Compute/TargetInstances/List.hs +38/−22
- gen/Network/Google/Resource/Compute/TargetPools/AddHealthCheck.hs +11/−8
- gen/Network/Google/Resource/Compute/TargetPools/AddInstance.hs +11/−7
- gen/Network/Google/Resource/Compute/TargetPools/AggregatedList.hs +36/−20
- gen/Network/Google/Resource/Compute/TargetPools/Delete.hs +10/−7
- gen/Network/Google/Resource/Compute/TargetPools/Get.hs +13/−7
- gen/Network/Google/Resource/Compute/TargetPools/GetHealth.hs +13/−8
- gen/Network/Google/Resource/Compute/TargetPools/Insert.hs +12/−9
- gen/Network/Google/Resource/Compute/TargetPools/List.hs +38/−22
- gen/Network/Google/Resource/Compute/TargetPools/RemoveHealthCheck.hs +12/−9
- gen/Network/Google/Resource/Compute/TargetPools/RemoveInstance.hs +11/−7
- gen/Network/Google/Resource/Compute/TargetPools/SetBackup.hs +12/−9
- gen/Network/Google/Resource/Compute/TargetVPNGateways/AggregatedList.hs +35/−19
- gen/Network/Google/Resource/Compute/TargetVPNGateways/Delete.hs +11/−8
- gen/Network/Google/Resource/Compute/TargetVPNGateways/Get.hs +14/−8
- gen/Network/Google/Resource/Compute/TargetVPNGateways/Insert.hs +12/−9
- gen/Network/Google/Resource/Compute/TargetVPNGateways/List.hs +38/−22
- gen/Network/Google/Resource/Compute/URLMaps/Delete.hs +8/−5
- gen/Network/Google/Resource/Compute/URLMaps/Get.hs +13/−7
- gen/Network/Google/Resource/Compute/URLMaps/Insert.hs +8/−5
- gen/Network/Google/Resource/Compute/URLMaps/List.hs +34/−18
- gen/Network/Google/Resource/Compute/URLMaps/Patch.hs +10/−7
- gen/Network/Google/Resource/Compute/URLMaps/Update.hs +10/−7
- gen/Network/Google/Resource/Compute/URLMaps/Validate.hs +10/−7
- gen/Network/Google/Resource/Compute/VPNTunnels/AggregatedList.hs +35/−19
- gen/Network/Google/Resource/Compute/VPNTunnels/Delete.hs +8/−5
- gen/Network/Google/Resource/Compute/VPNTunnels/Get.hs +13/−7
- gen/Network/Google/Resource/Compute/VPNTunnels/Insert.hs +8/−5
- gen/Network/Google/Resource/Compute/VPNTunnels/List.hs +36/−20
- gen/Network/Google/Resource/Compute/ZoneOperations/Delete.hs +8/−5
- gen/Network/Google/Resource/Compute/ZoneOperations/Get.hs +9/−5
- gen/Network/Google/Resource/Compute/ZoneOperations/List.hs +36/−20
- gen/Network/Google/Resource/Compute/Zones/Get.hs +12/−6
- gen/Network/Google/Resource/Compute/Zones/List.hs +35/−19
- gogol-compute.cabal +12/−4
README.md view
@@ -8,7 +8,7 @@ ## Version -`0.0.1`+`0.1.0` ## Description@@ -18,9 +18,9 @@ ## Contribute -For any problems, comments, or feedback please create an issue [here on GitHub](https://github.com/brendanhay/amazonka/issues).+For any problems, comments, or feedback please create an issue [here on GitHub](https://github.com/brendanhay/gogol/issues). -> _Note:_ this library is an auto-generated Haskell package. Please see `amazonka-gen` for more information.+> _Note:_ this library is an auto-generated Haskell package. Please see `gogol-gen` for more information. ## Licence
gen/Network/Google/Compute.hs view
@@ -7,13 +7,13 @@ -- | -- Module : Network.Google.Compute--- Copyright : (c) 2015 Brendan Hay+-- 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) ----- API for the Google Compute Engine service.+-- Creates and runs virtual machines on Google Cloud Platform. -- -- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> module Network.Google.Compute@@ -21,6 +21,14 @@ -- * Service Configuration computeService + -- * OAuth Scopes+ , computeScope+ , cloudPlatformScope+ , storageReadOnlyScope+ , storageReadWriteScope+ , computeReadOnlyScope+ , storageFullControlScope+ -- * API Declaration , ComputeAPI @@ -110,6 +118,9 @@ -- ** compute.disks.list , module Network.Google.Resource.Compute.Disks.List + -- ** compute.disks.resize+ , module Network.Google.Resource.Compute.Disks.Resize+ -- ** compute.firewalls.delete , module Network.Google.Resource.Compute.Firewalls.Delete @@ -230,6 +241,9 @@ -- ** compute.images.get , module Network.Google.Resource.Compute.Images.Get + -- ** compute.images.getFromFamily+ , module Network.Google.Resource.Compute.Images.GetFromFamily+ -- ** compute.images.insert , module Network.Google.Resource.Compute.Images.Insert @@ -347,6 +361,9 @@ -- ** compute.instances.setDiskAutoDelete , module Network.Google.Resource.Compute.Instances.SetDiskAutoDelete + -- ** compute.instances.setMachineType+ , module Network.Google.Resource.Compute.Instances.SetMachineType+ -- ** compute.instances.setMetadata , module Network.Google.Resource.Compute.Instances.SetMetadata @@ -449,6 +466,21 @@ -- ** compute.sslCertificates.list , module Network.Google.Resource.Compute.SSLCertificates.List + -- ** compute.subnetworks.aggregatedList+ , module Network.Google.Resource.Compute.Subnetworks.AggregatedList++ -- ** compute.subnetworks.delete+ , module Network.Google.Resource.Compute.Subnetworks.Delete++ -- ** compute.subnetworks.get+ , module Network.Google.Resource.Compute.Subnetworks.Get++ -- ** compute.subnetworks.insert+ , module Network.Google.Resource.Compute.Subnetworks.Insert++ -- ** compute.subnetworks.list+ , module Network.Google.Resource.Compute.Subnetworks.List+ -- ** compute.targetHttpProxies.delete , module Network.Google.Resource.Compute.TargetHTTPProxies.Delete @@ -665,6 +697,11 @@ , iglSelfLink , iglId + -- ** InstancesSetMachineTypeRequest+ , InstancesSetMachineTypeRequest+ , instancesSetMachineTypeRequest+ , ismtrMachineType+ -- ** AutoscalerAggregatedListItems , AutoscalerAggregatedListItems , autoscalerAggregatedListItems@@ -772,6 +809,13 @@ , igmlSelfLink , igmlId + -- ** SubnetworksScopedListWarning+ , SubnetworksScopedListWarning+ , subnetworksScopedListWarning+ , sslwData+ , sslwCode+ , sslwMessage+ -- ** AttachedDiskType , AttachedDiskType (..) @@ -784,6 +828,7 @@ , iSourceDiskId , iKind , iArchiveSizeBytes+ , iFamily , iRawDisk , iSelfLink , iName@@ -1022,6 +1067,12 @@ , igmslwdiValue , igmslwdiKey + -- ** SubnetworksScopedList+ , SubnetworksScopedList+ , subnetworksScopedList+ , sslSubnetworks+ , sslWarning+ -- ** DisksScopedListWarningCode , DisksScopedListWarningCode (..) @@ -1062,6 +1113,7 @@ , oId , oOperationType , oRegion+ , oDescription , oTargetLink , oClientOperationId @@ -1131,6 +1183,7 @@ , igmTargetPools , igmDescription , igmInstanceGroup+ , igmNamedPorts -- ** TargetPoolsScopedListWarningCode , TargetPoolsScopedListWarningCode (..)@@ -1266,6 +1319,7 @@ , niNetwork , niName , niNetworkIP+ , niSubnetwork , niAccessConfigs -- ** TargetPoolsRemoveHealthCheckRequest@@ -1330,7 +1384,9 @@ -- ** Network , Network , network+ , nAutoCreateSubnetworks , nKind+ , nSubnetworks , nIPv4Range , nSelfLink , nName@@ -1383,7 +1439,6 @@ , Zone , zone , zStatus- , zMaintenanceWindows , zKind , zSelfLink , zName@@ -1471,14 +1526,6 @@ , itDescription , itProperties - -- ** ZoneMaintenanceWindowsItem- , ZoneMaintenanceWindowsItem- , zoneMaintenanceWindowsItem- , zmwiBeginTime- , zmwiName- , zmwiEndTime- , zmwiDescription- -- ** TargetVPNGateway , TargetVPNGateway , targetVPNGateway@@ -1823,12 +1870,35 @@ , machineTypeScratchDisksItem , mtsdiDiskGb + -- ** SubnetworksScopedListWarningDataItem+ , SubnetworksScopedListWarningDataItem+ , subnetworksScopedListWarningDataItem+ , sslwdiValue+ , sslwdiKey+ -- ** MachineTypesScopedList , MachineTypesScopedList , machineTypesScopedList , mtslMachineTypes , mtslWarning + -- ** SubnetworksScopedListWarningCode+ , SubnetworksScopedListWarningCode (..)++ -- ** Subnetwork+ , Subnetwork+ , subnetwork+ , subKind+ , subNetwork+ , subGatewayAddress+ , subSelfLink+ , subName+ , subCreationTimestamp+ , subIPCIdRRange+ , subId+ , subRegion+ , subDescription+ -- ** MachineTypeAggregatedList , MachineTypeAggregatedList , machineTypeAggregatedList@@ -1939,6 +2009,20 @@ , tislwCode , tislwMessage + -- ** SubnetworkAggregatedList+ , SubnetworkAggregatedList+ , subnetworkAggregatedList+ , salNextPageToken+ , salKind+ , salItems+ , salSelfLink+ , salId++ -- ** DisksResizeRequest+ , DisksResizeRequest+ , disksResizeRequest+ , drrSizeGb+ -- ** AutoscalersScopedListWarningDataItem , AutoscalersScopedListWarningDataItem , autoscalersScopedListWarningDataItem@@ -2016,6 +2100,7 @@ , vpnTunnel , vtDetailedStatus , vtStatus+ , vtLocalTrafficSelector , vtKind , vtPeerIP , vtTargetVPNGateway@@ -2052,6 +2137,15 @@ , vtslwdiValue , vtslwdiKey + -- ** SubnetworkList+ , SubnetworkList+ , subnetworkList+ , slNextPageToken+ , slKind+ , slItems+ , slSelfLink+ , slId+ -- ** ForwardingRulesScopedListWarning , ForwardingRulesScopedListWarning , forwardingRulesScopedListWarning@@ -2125,6 +2219,11 @@ , insSelfLink , insId + -- ** SubnetworkAggregatedListItems+ , SubnetworkAggregatedListItems+ , subnetworkAggregatedListItems+ , saliAddtional+ -- ** ManagedInstanceLastAttempt , ManagedInstanceLastAttempt , managedInstanceLastAttempt@@ -2205,6 +2304,7 @@ , iiSelfLink , iiName , iiCreationTimestamp+ , iiSubnetwork , iiId , iiDescription , iiNamedPorts@@ -2215,11 +2315,11 @@ -- ** SnapshotList , SnapshotList , snapshotList- , slNextPageToken- , slKind- , slItems- , slSelfLink- , slId+ , snaNextPageToken+ , snaKind+ , snaItems+ , snaSelfLink+ , snaId -- ** TestFailure , TestFailure@@ -2304,6 +2404,7 @@ , bsName , bsCreationTimestamp , bsId+ , bsRegion , bsTimeoutSec , bsDescription , bsPortName@@ -2438,6 +2539,7 @@ import Network.Google.Resource.Compute.Disks.Get import Network.Google.Resource.Compute.Disks.Insert import Network.Google.Resource.Compute.Disks.List+import Network.Google.Resource.Compute.Disks.Resize import Network.Google.Resource.Compute.DiskTypes.AggregatedList import Network.Google.Resource.Compute.DiskTypes.Get import Network.Google.Resource.Compute.DiskTypes.List@@ -2481,6 +2583,7 @@ import Network.Google.Resource.Compute.Images.Delete import Network.Google.Resource.Compute.Images.Deprecate import Network.Google.Resource.Compute.Images.Get+import Network.Google.Resource.Compute.Images.GetFromFamily import Network.Google.Resource.Compute.Images.Insert import Network.Google.Resource.Compute.Images.List import Network.Google.Resource.Compute.InstanceGroupManagers.AbandonInstances@@ -2516,6 +2619,7 @@ import Network.Google.Resource.Compute.Instances.List import Network.Google.Resource.Compute.Instances.Reset import Network.Google.Resource.Compute.Instances.SetDiskAutoDelete+import Network.Google.Resource.Compute.Instances.SetMachineType import Network.Google.Resource.Compute.Instances.SetMetadata import Network.Google.Resource.Compute.Instances.SetScheduling import Network.Google.Resource.Compute.Instances.SetTags@@ -2554,6 +2658,11 @@ import Network.Google.Resource.Compute.SSLCertificates.Get import Network.Google.Resource.Compute.SSLCertificates.Insert import Network.Google.Resource.Compute.SSLCertificates.List+import Network.Google.Resource.Compute.Subnetworks.AggregatedList+import Network.Google.Resource.Compute.Subnetworks.Delete+import Network.Google.Resource.Compute.Subnetworks.Get+import Network.Google.Resource.Compute.Subnetworks.Insert+import Network.Google.Resource.Compute.Subnetworks.List import Network.Google.Resource.Compute.TargetHTTPProxies.Delete import Network.Google.Resource.Compute.TargetHTTPProxies.Get import Network.Google.Resource.Compute.TargetHTTPProxies.Insert@@ -2612,6 +2721,7 @@ type ComputeAPI = ImagesInsertResource :<|> ImagesListResource :<|> ImagesGetResource+ :<|> ImagesGetFromFamilyResource :<|> ImagesDeprecateResource :<|> ImagesDeleteResource :<|> URLMapsInsertResource@@ -2692,6 +2802,11 @@ :<|> HTTPHealthChecksGetResource :<|> HTTPHealthChecksDeleteResource :<|> HTTPHealthChecksUpdateResource+ :<|> SubnetworksAggregatedListResource+ :<|> SubnetworksInsertResource+ :<|> SubnetworksListResource+ :<|> SubnetworksGetResource+ :<|> SubnetworksDeleteResource :<|> SnapshotsListResource :<|> SnapshotsGetResource :<|> SnapshotsDeleteResource@@ -2708,6 +2823,7 @@ :<|> InstancesListResource :<|> InstancesStartResource :<|> InstancesGetResource+ :<|> InstancesSetMachineTypeResource :<|> InstancesDeleteAccessConfigResource :<|> InstancesSetMetadataResource :<|> InstancesSetSchedulingResource@@ -2761,6 +2877,7 @@ :<|> TargetInstancesDeleteResource :<|> DisksAggregatedListResource :<|> DisksInsertResource+ :<|> DisksResizeResource :<|> DisksListResource :<|> DisksGetResource :<|> DisksCreateSnapshotResource
gen/Network/Google/Compute/Types.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE DataKinds #-} {-# LANGUAGE DeriveDataTypeable #-} {-# LANGUAGE DeriveGeneric #-} {-# LANGUAGE NoImplicitPrelude #-}@@ -7,7 +8,7 @@ -- | -- Module : Network.Google.Compute.Types--- Copyright : (c) 2015 Brendan Hay+-- Copyright : (c) 2015-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -21,10 +22,10 @@ -- * OAuth Scopes , computeScope , cloudPlatformScope- , devstorageReadOnlyScope- , devstorageReadWriteScope- , computeReadonlyScope- , devstorageFullControlScope+ , storageReadOnlyScope+ , storageReadWriteScope+ , computeReadOnlyScope+ , storageFullControlScope -- * TargetHTTPSProxyList , TargetHTTPSProxyList@@ -93,6 +94,11 @@ , iglSelfLink , iglId + -- * InstancesSetMachineTypeRequest+ , InstancesSetMachineTypeRequest+ , instancesSetMachineTypeRequest+ , ismtrMachineType+ -- * AutoscalerAggregatedListItems , AutoscalerAggregatedListItems , autoscalerAggregatedListItems@@ -200,6 +206,13 @@ , igmlSelfLink , igmlId + -- * SubnetworksScopedListWarning+ , SubnetworksScopedListWarning+ , subnetworksScopedListWarning+ , sslwData+ , sslwCode+ , sslwMessage+ -- * AttachedDiskType , AttachedDiskType (..) @@ -212,6 +225,7 @@ , iSourceDiskId , iKind , iArchiveSizeBytes+ , iFamily , iRawDisk , iSelfLink , iName@@ -450,6 +464,12 @@ , igmslwdiValue , igmslwdiKey + -- * SubnetworksScopedList+ , SubnetworksScopedList+ , subnetworksScopedList+ , sslSubnetworks+ , sslWarning+ -- * DisksScopedListWarningCode , DisksScopedListWarningCode (..) @@ -490,6 +510,7 @@ , oId , oOperationType , oRegion+ , oDescription , oTargetLink , oClientOperationId @@ -559,6 +580,7 @@ , igmTargetPools , igmDescription , igmInstanceGroup+ , igmNamedPorts -- * TargetPoolsScopedListWarningCode , TargetPoolsScopedListWarningCode (..)@@ -694,6 +716,7 @@ , niNetwork , niName , niNetworkIP+ , niSubnetwork , niAccessConfigs -- * TargetPoolsRemoveHealthCheckRequest@@ -758,7 +781,9 @@ -- * Network , Network , network+ , nAutoCreateSubnetworks , nKind+ , nSubnetworks , nIPv4Range , nSelfLink , nName@@ -811,7 +836,6 @@ , Zone , zone , zStatus- , zMaintenanceWindows , zKind , zSelfLink , zName@@ -899,14 +923,6 @@ , itDescription , itProperties - -- * ZoneMaintenanceWindowsItem- , ZoneMaintenanceWindowsItem- , zoneMaintenanceWindowsItem- , zmwiBeginTime- , zmwiName- , zmwiEndTime- , zmwiDescription- -- * TargetVPNGateway , TargetVPNGateway , targetVPNGateway@@ -1251,12 +1267,35 @@ , machineTypeScratchDisksItem , mtsdiDiskGb + -- * SubnetworksScopedListWarningDataItem+ , SubnetworksScopedListWarningDataItem+ , subnetworksScopedListWarningDataItem+ , sslwdiValue+ , sslwdiKey+ -- * MachineTypesScopedList , MachineTypesScopedList , machineTypesScopedList , mtslMachineTypes , mtslWarning + -- * SubnetworksScopedListWarningCode+ , SubnetworksScopedListWarningCode (..)++ -- * Subnetwork+ , Subnetwork+ , subnetwork+ , subKind+ , subNetwork+ , subGatewayAddress+ , subSelfLink+ , subName+ , subCreationTimestamp+ , subIPCIdRRange+ , subId+ , subRegion+ , subDescription+ -- * MachineTypeAggregatedList , MachineTypeAggregatedList , machineTypeAggregatedList@@ -1367,6 +1406,20 @@ , tislwCode , tislwMessage + -- * SubnetworkAggregatedList+ , SubnetworkAggregatedList+ , subnetworkAggregatedList+ , salNextPageToken+ , salKind+ , salItems+ , salSelfLink+ , salId++ -- * DisksResizeRequest+ , DisksResizeRequest+ , disksResizeRequest+ , drrSizeGb+ -- * AutoscalersScopedListWarningDataItem , AutoscalersScopedListWarningDataItem , autoscalersScopedListWarningDataItem@@ -1444,6 +1497,7 @@ , vpnTunnel , vtDetailedStatus , vtStatus+ , vtLocalTrafficSelector , vtKind , vtPeerIP , vtTargetVPNGateway@@ -1480,6 +1534,15 @@ , vtslwdiValue , vtslwdiKey + -- * SubnetworkList+ , SubnetworkList+ , subnetworkList+ , slNextPageToken+ , slKind+ , slItems+ , slSelfLink+ , slId+ -- * ForwardingRulesScopedListWarning , ForwardingRulesScopedListWarning , forwardingRulesScopedListWarning@@ -1553,6 +1616,11 @@ , insSelfLink , insId + -- * SubnetworkAggregatedListItems+ , SubnetworkAggregatedListItems+ , subnetworkAggregatedListItems+ , saliAddtional+ -- * ManagedInstanceLastAttempt , ManagedInstanceLastAttempt , managedInstanceLastAttempt@@ -1633,6 +1701,7 @@ , iiSelfLink , iiName , iiCreationTimestamp+ , iiSubnetwork , iiId , iiDescription , iiNamedPorts@@ -1643,11 +1712,11 @@ -- * SnapshotList , SnapshotList , snapshotList- , slNextPageToken- , slKind- , slItems- , slSelfLink- , slId+ , snaNextPageToken+ , snaKind+ , snaItems+ , snaSelfLink+ , snaId -- * TestFailure , TestFailure@@ -1732,6 +1801,7 @@ , bsName , bsCreationTimestamp , bsId+ , bsRegion , bsTimeoutSec , bsDescription , bsPortName@@ -1844,31 +1914,31 @@ import Network.Google.Prelude -- | Default request referring to version 'v1' of the Compute Engine API. This contains the host and root path used as a starting point for constructing service requests.-computeService :: Service+computeService :: ServiceConfig computeService = defaultService (ServiceId "compute:v1") "www.googleapis.com" -- | View and manage your Google Compute Engine resources-computeScope :: OAuthScope-computeScope = "https://www.googleapis.com/auth/compute";+computeScope :: Proxy '["https://www.googleapis.com/auth/compute"]+computeScope = Proxy; -- | View and manage your data across Google Cloud Platform services-cloudPlatformScope :: OAuthScope-cloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform";+cloudPlatformScope :: Proxy '["https://www.googleapis.com/auth/cloud-platform"]+cloudPlatformScope = Proxy; -- | View your data in Google Cloud Storage-devstorageReadOnlyScope :: OAuthScope-devstorageReadOnlyScope = "https://www.googleapis.com/auth/devstorage.read_only";+storageReadOnlyScope :: Proxy '["https://www.googleapis.com/auth/devstorage.read_only"]+storageReadOnlyScope = Proxy; -- | Manage your data in Google Cloud Storage-devstorageReadWriteScope :: OAuthScope-devstorageReadWriteScope = "https://www.googleapis.com/auth/devstorage.read_write";+storageReadWriteScope :: Proxy '["https://www.googleapis.com/auth/devstorage.read_write"]+storageReadWriteScope = Proxy; -- | View your Google Compute Engine resources-computeReadonlyScope :: OAuthScope-computeReadonlyScope = "https://www.googleapis.com/auth/compute.readonly";+computeReadOnlyScope :: Proxy '["https://www.googleapis.com/auth/compute.readonly"]+computeReadOnlyScope = Proxy; -- | Manage your data and permissions in Google Cloud Storage-devstorageFullControlScope :: OAuthScope-devstorageFullControlScope = "https://www.googleapis.com/auth/devstorage.full_control";+storageFullControlScope :: Proxy '["https://www.googleapis.com/auth/devstorage.full_control"]+storageFullControlScope = Proxy;
gen/Network/Google/Compute/Types/Product.hs view
@@ -9,15808 +9,16937 @@ -- | -- Module : Network.Google.Compute.Types.Product--- Copyright : (c) 2015 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)----module Network.Google.Compute.Types.Product where--import Network.Google.Compute.Types.Sum-import Network.Google.Prelude---- | Contains a list of TargetHttpsProxy resources.------ /See:/ 'targetHTTPSProxyList' smart constructor.-data TargetHTTPSProxyList = TargetHTTPSProxyList- { _thplNextPageToken :: !(Maybe Text)- , _thplKind :: !Text- , _thplItems :: !(Maybe [TargetHTTPSProxy])- , _thplSelfLink :: !(Maybe Text)- , _thplId :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'TargetHTTPSProxyList' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'thplNextPageToken'------ * 'thplKind'------ * 'thplItems'------ * 'thplSelfLink'------ * 'thplId'-targetHTTPSProxyList- :: TargetHTTPSProxyList-targetHTTPSProxyList =- TargetHTTPSProxyList- { _thplNextPageToken = Nothing- , _thplKind = "compute#targetHttpsProxyList"- , _thplItems = Nothing- , _thplSelfLink = Nothing- , _thplId = Nothing- }---- | [Output Only] A token used to continue a truncated list request.-thplNextPageToken :: Lens' TargetHTTPSProxyList (Maybe Text)-thplNextPageToken- = lens _thplNextPageToken- (\ s a -> s{_thplNextPageToken = a})---- | Type of resource.-thplKind :: Lens' TargetHTTPSProxyList Text-thplKind = lens _thplKind (\ s a -> s{_thplKind = a})---- | A list of TargetHttpsProxy resources.-thplItems :: Lens' TargetHTTPSProxyList [TargetHTTPSProxy]-thplItems- = lens _thplItems (\ s a -> s{_thplItems = a}) .- _Default- . _Coerce---- | [Output Only] Server-defined URL for this resource.-thplSelfLink :: Lens' TargetHTTPSProxyList (Maybe Text)-thplSelfLink- = lens _thplSelfLink (\ s a -> s{_thplSelfLink = a})---- | [Output Only] Unique identifier for the resource; defined by the server.-thplId :: Lens' TargetHTTPSProxyList (Maybe Text)-thplId = lens _thplId (\ s a -> s{_thplId = a})--instance FromJSON TargetHTTPSProxyList where- parseJSON- = withObject "TargetHTTPSProxyList"- (\ o ->- TargetHTTPSProxyList <$>- (o .:? "nextPageToken") <*>- (o .:? "kind" .!= "compute#targetHttpsProxyList")- <*> (o .:? "items" .!= mempty)- <*> (o .:? "selfLink")- <*> (o .:? "id"))--instance ToJSON TargetHTTPSProxyList where- toJSON TargetHTTPSProxyList{..}- = object- (catMaybes- [("nextPageToken" .=) <$> _thplNextPageToken,- Just ("kind" .= _thplKind),- ("items" .=) <$> _thplItems,- ("selfLink" .=) <$> _thplSelfLink,- ("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 for the warning data.-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 Firewall resources.------ /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] A token used to continue a truncated list request.-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] Unique identifier for the resource; 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 for this warning in key: value format.-islwData :: Lens' InstancesScopedListWarning [InstancesScopedListWarningDataItem]-islwData- = lens _islwData (\ s a -> s{_islwData = a}) .- _Default- . _Coerce---- | [Output Only] The warning type identifier for this warning.-islwCode :: Lens' InstancesScopedListWarning (Maybe InstancesScopedListWarningCode)-islwCode = lens _islwCode (\ s a -> s{_islwCode = a})---- | [Output Only] Optional human-readable details for this warning.-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] A token that is used to continue a truncated list request.-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])---- | 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_- }---- | 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.-sStorageBytesStatus :: Lens' Snapshot (Maybe SnapshotStorageBytesStatus)-sStorageBytesStatus- = lens _sStorageBytesStatus- (\ s a -> s{_sStorageBytesStatus = a})---- | [Output Only] The status of the snapshot.-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] Unique identifier for the resource; defined by the server.-sId :: Lens' Snapshot (Maybe Word64)-sId- = lens _sId (\ s a -> s{_sId = a}) . mapping _Coerce---- | Public visible licenses.-sLicenses :: Lens' Snapshot [Text]-sLicenses- = lens _sLicenses (\ s a -> s{_sLicenses = a}) .- _Default- . _Coerce---- | The source disk used to create this snapshot.-sSourceDisk :: Lens' Snapshot (Maybe Text)-sSourceDisk- = lens _sSourceDisk (\ s a -> s{_sSourceDisk = a})---- | An optional textual description of the resource; provided by the client--- when the resource is created.-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---- | Identifier of the metric. It should be a Cloud Monitoring metric. The--- metric can not have negative values. The metric should be an utilization--- metric (increasing number of VMs handling requests x times should reduce--- average value of the metric roughly x times). For example you could use:--- compute.googleapis.com\/instance\/network\/received_bytes_count.-apcmuMetric :: Lens' AutoscalingPolicyCustomMetricUtilization (Maybe Text)-apcmuMetric- = lens _apcmuMetric (\ s a -> s{_apcmuMetric = a})---- | Defines type in which utilization_target is expressed.-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] A token used to continue a truncated list request.-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 (Textual Word8))- , _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 Word8)-igsnprFingerprint- = lens _igsnprFingerprint- (\ s a -> s{_igsnprFingerprint = a})- . mapping _Coerce---- | 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] A token used to continue a truncate.-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] The 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] Unique identifier for the resource; 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] A token used to continue a truncated list request.-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] Unique identifier for the resource; 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- }---- | URLs of the instances to be added to targetPool.-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] A token that is used to continue a truncated list request.-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 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))- , _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'------ * '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- , _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 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] Unique identifier for the resource; 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})---- | Textual description of the resource; provided by the client when the--- resource is created.-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 .:? "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,- ("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 (Textual Word8))- , _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 all of the test cases pass.-umTests :: Lens' URLMap [URLMapTest]-umTests- = lens _umTests (\ s a -> s{_umTests = a}) . _Default- . _Coerce---- | Type of the resource.-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 Word8)-umFingerprint- = lens _umFingerprint- (\ s a -> s{_umFingerprint = a})- . mapping _Coerce---- | 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] Unique identifier for the resource. Set 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 textual description of the resource. Provided by the client--- when the resource is created.-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] A token used to continue a truncated list request.-tplNextPageToken :: Lens' TargetPoolList (Maybe Text)-tplNextPageToken- = lens _tplNextPageToken- (\ s a -> s{_tplNextPageToken = a})---- | Type of resource.-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] A token used to continue a truncated list request.-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] A token used to continue a truncated list request.-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] Unique identifier for the resource; 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] A token used to continue a truncated list request.-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] Unique identifier for the resource; 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] A token used to continue a truncated list request.-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] Unique identifier for the resource; 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] A token that is used to continue a truncated list request.-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] A token used to continue a truncated list request.-fralNextPageToken :: Lens' ForwardingRuleAggregatedList (Maybe Text)-fralNextPageToken- = lens _fralNextPageToken- (\ s a -> s{_fralNextPageToken = a})---- | Type of resource.-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] Unique identifier for the resource; 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] A token used to continue a truncated list request.-tpalNextPageToken :: Lens' TargetPoolAggregatedList (Maybe Text)-tpalNextPageToken- = lens _tpalNextPageToken- (\ s a -> s{_tpalNextPageToken = a})---- | Type of resource.-tpalKind :: Lens' TargetPoolAggregatedList Text-tpalKind = lens _tpalKind (\ s a -> s{_tpalKind = a})---- | 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 for the warning data.-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 TargetPool.------ /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})---- | Type of the resource.-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 member virtual machines 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] Unique identifier for the resource; 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 textual description of the resource; provided by the client--- when the resource is created.-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 Image resources.------ /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] A token used to continue a truncated list request.-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] Unique identifier for the resource; 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 for this warning in key: value format.-vtslwData :: Lens' VPNTunnelsScopedListWarning [VPNTunnelsScopedListWarningDataItem]-vtslwData- = lens _vtslwData (\ s a -> s{_vtslwData = a}) .- _Default- . _Coerce---- | [Output Only] The warning type identifier for this warning.-vtslwCode :: Lens' VPNTunnelsScopedListWarning (Maybe VPNTunnelsScopedListWarningCode)-vtslwCode- = lens _vtslwCode (\ s a -> s{_vtslwCode = a})---- | [Output Only] Optional human-readable details for this warning.-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.-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 or SCTP.-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] Unique identifier for the resource; 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 textual description of the resource; provided by the client--- when the resource is created.-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.-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] A token used to continue a truncated list request.-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 for the warning data.-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 for the warning data.-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])---- | A Project resource. Projects can only be created in the Google--- Developers 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 location in Cloud Storage and naming method of the daily usage--- report.-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})---- | Name of the resource.-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] Unique identifier for the resource; defined by the server.-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)- , _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'------ * '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- , _oTargetLink = Nothing- , _oClientOperationId = Nothing- }---- | [Output Only] Unique target ID which identifies a particular incarnation--- of the target.-oTargetId :: Lens' Operation (Maybe Word64)-oTargetId- = lens _oTargetId (\ s a -> s{_oTargetId = a}) .- mapping _Coerce---- | [Output Only] Status of the operation. 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 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 at 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 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] URL of the zone where the operation resides.-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--- message that was returned, such as 404.-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 is in--- RFC3339 text format.-oEndTime :: Lens' Operation (Maybe Text)-oEndTime = lens _oEndTime (\ s a -> s{_oEndTime = a})---- | [Output Only] Unique identifier for the resource; defined by the server.-oId :: Lens' Operation (Maybe Word64)-oId- = lens _oId (\ s a -> s{_oId = a}) . mapping _Coerce---- | [Output Only] Type of the operation, such as insert,--- compute.instanceGroups.update, or compute.instanceGroups.delete.-oOperationType :: Lens' Operation (Maybe Text)-oOperationType- = lens _oOperationType- (\ s a -> s{_oOperationType = a})---- | [Output Only] URL of the region where the operation resides. Only--- applicable for regional resources.-oRegion :: Lens' Operation (Maybe Text)-oRegion = lens _oRegion (\ s a -> s{_oRegion = a})---- | [Output Only] URL of the resource the operation is mutating.-oTargetLink :: Lens' Operation (Maybe Text)-oTargetLink- = lens _oTargetLink (\ s a -> s{_oTargetLink = a})---- | [Output Only] An optional identifier specified by the client when the--- mutation was initiated. Must be unique for all Operation resources in--- the project.-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 .:? "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,- ("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 for the warning data.-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})---- | 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 from the system, this field will not be set, even if an image--- with the same name has been re-created. When creating a disk, you can--- provide a private (custom) image using the following input, and Compute--- Engine will use the corresponding image from your project. For example:--- global\/images\/my-private-image Or you can provide an image from a--- publicly-available project. For example, to use a Debian image from the--- debian-cloud project, make sure to include the project in the URL:--- projects\/debian-cloud\/global\/images\/debian-7-wheezy-vYYYYMMDD where--- vYYYYMMDD is the image version. The fully-qualified URL will also work--- in both cases.-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})---- | 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] Unique identifier for the resource; 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; provided by the client when the disk is created.-dType :: Lens' Disk (Maybe Text)-dType = lens _dType (\ s a -> s{_dType = a})---- | An optional textual description of the resource; provided by the client--- when the resource is created.-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 to. 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])---- | Load balancing utilization policy.------ /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 load balancing--- configuration) that Autoscaler should maintain. Must be a positive float--- value. If not defined, the default is 0.8. For example if your--- maxRatePerInstance capacity (in HTTP Load Balancing configuration) is--- set at 10 and you would like to keep number of instances such that each--- instance receives 7 QPS on average, set this to 0.7.-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 for the warning data.-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])---- | InstanceGroupManagers Next available tag: 19------ /See:/ 'instanceGroupManager' smart constructor.-data InstanceGroupManager = InstanceGroupManager- { _igmKind :: !Text- , _igmFingerprint :: !(Maybe (Textual Word8))- , _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)- } 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'-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- }---- | [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 target pools information. You can--- use this optional field for optimistic locking when you update the--- target pool entries.-igmFingerprint :: Lens' InstanceGroupManager (Maybe Word8)-igmFingerprint- = lens _igmFingerprint- (\ s a -> s{_igmFingerprint = a})- . mapping _Coerce---- | 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 text description for the managed instance group.-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})--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"))--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])------- /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 for the warning data.-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_- }---- | 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---- | 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 for this warning in key: value format.-aslwData :: Lens' AutoscalersScopedListWarning [AutoscalersScopedListWarningDataItem]-aslwData- = lens _aslwData (\ s a -> s{_aslwData = a}) .- _Default- . _Coerce---- | [Output Only] The warning type identifier for this warning.-aslwCode :: Lens' AutoscalersScopedListWarning (Maybe AutoscalersScopedListWarningCode)-aslwCode = lens _aslwCode (\ s a -> s{_aslwCode = a})---- | [Output Only] Optional human-readable details for this warning.-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 targetPool.-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 for the warning data.-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 for this warning in key: value format.-mtslwData :: Lens' MachineTypesScopedListWarning [MachineTypesScopedListWarningDataItem]-mtslwData- = lens _mtslwData (\ s a -> s{_mtslwData = a}) .- _Default- . _Coerce---- | [Output Only] The warning type identifier for this warning.-mtslwCode :: Lens' MachineTypesScopedListWarning (Maybe MachineTypesScopedListWarningCode)-mtslwCode- = lens _mtslwCode (\ s a -> s{_mtslwCode = a})---- | [Output Only] Optional human-readable details for this warning.-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- }---- | Type of the resource.-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] Unique identifier for the resource; defined by the server.-tiId :: Lens' TargetInstance (Maybe Word64)-tiId- = lens _tiId (\ s a -> s{_tiId = a}) .- mapping _Coerce---- | An optional textual description of the resource; provided by the client--- when the resource is created.-tiDescription :: Lens' TargetInstance (Maybe Text)-tiDescription- = lens _tiDescription- (\ s a -> s{_tiDescription = a})---- | The URL to the instance that terminates the relevant traffic.-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- }---- | Type of resource.-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 for this warning in key: value format.-dtslwData :: Lens' DiskTypesScopedListWarning [DiskTypesScopedListWarningDataItem]-dtslwData- = lens _dtslwData (\ s a -> s{_dtslwData = a}) .- _Default- . _Coerce---- | [Output Only] The warning type identifier for this warning.-dtslwCode :: Lens' DiskTypesScopedListWarning (Maybe DiskTypesScopedListWarningCode)-dtslwCode- = lens _dtslwCode (\ s a -> s{_dtslwCode = a})---- | [Output Only] Optional human-readable details for this warning.-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- }---- | A source image used to create the disk. You can provide a private--- (custom) image, and Compute Engine will use the corresponding image from--- your project. For example: global\/images\/my-private-image Or you can--- provide an image from a publicly-available project. For example, to use--- a Debian image from the debian-cloud project, make sure to include the--- project in the URL:--- projects\/debian-cloud\/global\/images\/debian-7-wheezy-vYYYYMMDD where--- vYYYYMMDD is the image version. The fully-qualified URL will also work--- in both cases.-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 for the warning data.-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)- , _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'------ * 'niAccessConfigs'-networkInterface- :: NetworkInterface-networkInterface =- NetworkInterface- { _niNetwork = Nothing- , _niName = Nothing- , _niNetworkIP = 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})---- | [Output Only] An optional IPV4 internal network address assigned to the--- instance for this network interface.-niNetworkIP :: Lens' NetworkInterface (Maybe Text)-niNetworkIP- = lens _niNetworkIP (\ s a -> s{_niNetworkIP = 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 .:? "accessConfigs" .!= mempty))--instance ToJSON NetworkInterface where- toJSON NetworkInterface{..}- = object- (catMaybes- [("network" .=) <$> _niNetwork,- ("name" .=) <$> _niName,- ("networkIP" .=) <$> _niNetworkIP,- ("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 URLs to be removed from targetPool.-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] A token that is used to continue a truncated list request.-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] A token used to continue a truncated list request.-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})---- | 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] A token used to continue a truncated list request.-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] Unique identifier for the resource. 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] A token used to continue a truncated list request.-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. 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])---- | A network resource.------ /See:/ 'network' smart constructor.-data Network = Network- { _nKind :: !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:------ * 'nKind'------ * 'nIPv4Range'------ * 'nSelfLink'------ * 'nName'------ * 'nCreationTimestamp'------ * 'nId'------ * 'nGatewayIPv4'------ * 'nDescription'-network- :: Network-network =- Network- { _nKind = "compute#network"- , _nIPv4Range = Nothing- , _nSelfLink = Nothing- , _nName = Nothing- , _nCreationTimestamp = Nothing- , _nId = Nothing- , _nGatewayIPv4 = Nothing- , _nDescription = Nothing- }---- | [Output Only] Type of the resource. Always compute#network for networks.-nKind :: Lens' Network Text-nKind = lens _nKind (\ s a -> s{_nKind = a})---- | 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] Unique identifier for the resource. 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 textual description of the resource. Provided by the client--- when the resource is created.-nDescription :: Lens' Network (Maybe Text)-nDescription- = lens _nDescription (\ s a -> s{_nDescription = a})--instance FromJSON Network where- parseJSON- = withObject "Network"- (\ o ->- Network <$>- (o .:? "kind" .!= "compute#network") <*>- (o .:? "IPv4Range")- <*> (o .:? "selfLink")- <*> (o .:? "name")- <*> (o .:? "creationTimestamp")- <*> (o .:? "id")- <*> (o .:? "gatewayIPv4")- <*> (o .:? "description"))--instance ToJSON Network where- toJSON Network{..}- = object- (catMaybes- [Just ("kind" .= _nKind),- ("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 for this warning in key: value format.-aData :: Lens' AddressesScopedListWarning [AddressesScopedListWarningDataItem]-aData- = lens _aData (\ s a -> s{_aData = a}) . _Default .- _Coerce---- | [Output Only] The warning type identifier for this warning.-aCode :: Lens' AddressesScopedListWarning (Maybe AddressesScopedListWarningCode)-aCode = lens _aCode (\ s a -> s{_aCode = a})---- | [Output Only] Optional human-readable details for this warning.-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] A token used to continue a truncated list request.-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] Unique identifier for the resource; 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] Unique identifier for the resource; 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 textual description of the resource; provided by the client--- when the resource is created.-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)- , _zMaintenanceWindows :: !(Maybe [ZoneMaintenanceWindowsItem])- , _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'------ * 'zMaintenanceWindows'------ * 'zKind'------ * 'zSelfLink'------ * 'zName'------ * 'zCreationTimestamp'------ * 'zId'------ * 'zRegion'------ * 'zDescription'------ * 'zDeprecated'-zone- :: Zone-zone =- Zone- { _zStatus = Nothing- , _zMaintenanceWindows = 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] Any scheduled maintenance windows for this zone. When the--- zone is in a maintenance window, all resources which reside in the zone--- will be unavailable. For more information, see Maintenance Windows-zMaintenanceWindows :: Lens' Zone [ZoneMaintenanceWindowsItem]-zMaintenanceWindows- = lens _zMaintenanceWindows- (\ s a -> s{_zMaintenanceWindows = a})- . _Default- . _Coerce---- | [Output Only] Type of the resource. Always kind#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] Unique identifier for the resource; 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 .:? "maintenanceWindows" .!= mempty)- <*> (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,- ("maintenanceWindows" .=) <$> _zMaintenanceWindows,- 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])------- /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] A token that is used to continue a truncated list request.-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])---- | The route resource. A Route is a rule that specifies how certain packets--- should be handled by the virtual network. Routes are associated with--- instances by tag 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--- Engien-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- }---- | Breaks ties between Routes of equal specificity. Routes with smaller--- values win when tied with routes with larger values. Default value is--- 1000. A valid range is between 0 and 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. Currently,--- this is only the internet gateway:--- 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] Unique identifier for the resource. 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 textual description of the resource. Provided by the client--- when the resource is created.-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 fully-qualified URL to an instance that should handle matching--- packets. 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 for the warning data.-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 URLs to SslCertificate resources to associate with this--- TargetHttpProxy. Currently exactly one ssl certificate 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 text description for the instance template.-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])------- /See:/ 'zoneMaintenanceWindowsItem' smart constructor.-data ZoneMaintenanceWindowsItem = ZoneMaintenanceWindowsItem- { _zmwiBeginTime :: !(Maybe Text)- , _zmwiName :: !(Maybe Text)- , _zmwiEndTime :: !(Maybe Text)- , _zmwiDescription :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'ZoneMaintenanceWindowsItem' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'zmwiBeginTime'------ * 'zmwiName'------ * 'zmwiEndTime'------ * 'zmwiDescription'-zoneMaintenanceWindowsItem- :: ZoneMaintenanceWindowsItem-zoneMaintenanceWindowsItem =- ZoneMaintenanceWindowsItem- { _zmwiBeginTime = Nothing- , _zmwiName = Nothing- , _zmwiEndTime = Nothing- , _zmwiDescription = Nothing- }---- | [Output Only] Starting time of the maintenance window, in RFC3339--- format.-zmwiBeginTime :: Lens' ZoneMaintenanceWindowsItem (Maybe Text)-zmwiBeginTime- = lens _zmwiBeginTime- (\ s a -> s{_zmwiBeginTime = a})---- | [Output Only] Name of the maintenance window.-zmwiName :: Lens' ZoneMaintenanceWindowsItem (Maybe Text)-zmwiName = lens _zmwiName (\ s a -> s{_zmwiName = a})---- | [Output Only] Ending time of the maintenance window, in RFC3339 format.-zmwiEndTime :: Lens' ZoneMaintenanceWindowsItem (Maybe Text)-zmwiEndTime- = lens _zmwiEndTime (\ s a -> s{_zmwiEndTime = a})---- | [Output Only] Textual description of the maintenance window.-zmwiDescription :: Lens' ZoneMaintenanceWindowsItem (Maybe Text)-zmwiDescription- = lens _zmwiDescription- (\ s a -> s{_zmwiDescription = a})--instance FromJSON ZoneMaintenanceWindowsItem where- parseJSON- = withObject "ZoneMaintenanceWindowsItem"- (\ o ->- ZoneMaintenanceWindowsItem <$>- (o .:? "beginTime") <*> (o .:? "name") <*>- (o .:? "endTime")- <*> (o .:? "description"))--instance ToJSON ZoneMaintenanceWindowsItem where- toJSON ZoneMaintenanceWindowsItem{..}- = object- (catMaybes- [("beginTime" .=) <$> _zmwiBeginTime,- ("name" .=) <$> _zmwiName,- ("endTime" .=) <$> _zmwiEndTime,- ("description" .=) <$> _zmwiDescription])------- /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] Unique identifier for the resource. 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 and associated to a VPN gateway.-tvgTunnels :: Lens' TargetVPNGateway [Text]-tvgTunnels- = lens _tvgTunnels (\ s a -> s{_tvgTunnels = a}) .- _Default- . _Coerce---- | An optional textual description of the resource. Provided by the client--- when the resource is created.-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 global HTTPS loadbalancer to serve secure--- connections.------ /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] Unique identifier for the resource. 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 textual description of the resource. Provided by the client--- when the resource is created.-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- }---- | Health check URLs to be added to targetPool.-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 is just the bucket name, with no gs:\/\/ or--- https:\/\/storage.googleapis.com\/ in front of it.-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] A token used to continue a truncated list request.-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. - 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. The default is--- UTILIZATION but available 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 RPS of the group. Can be used with either balancing mode, 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 RPS that a single backed 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 textual description of the resource. Provided by the client--- when the resource is created.-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 for this warning in key: value format.-tvgslwData :: Lens' TargetVPNGatewaysScopedListWarning [TargetVPNGatewaysScopedListWarningDataItem]-tvgslwData- = lens _tvgslwData (\ s a -> s{_tvgslwData = a}) .- _Default- . _Coerce---- | [Output Only] The warning type identifier for this warning.-tvgslwCode :: Lens' TargetVPNGatewaysScopedListWarning (Maybe TargetVPNGatewaysScopedListWarningCode)-tvgslwCode- = lens _tvgslwCode (\ s a -> s{_tvgslwCode = a})---- | [Output Only] Optional human-readable details for this warning.-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 address resources.------ /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] A token used to continue a truncated list request.-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 Address resources.-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] Unique identifier for the resource; 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.-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 Network resources.------ /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] A token used to continue a truncated list request.-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] Unique identifier for the resource. 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])---- | 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 persistent 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] A token used to continue a truncated list request.-autNextPageToken :: Lens' AutoscalerList (Maybe Text)-autNextPageToken- = lens _autNextPageToken- (\ s a -> s{_autNextPageToken = a})---- | Type of resource.-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] Unique identifier for the resource; 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] A token used to continue a truncated list request.-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] Unique identifier for the resource; 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, either SCSI--- or NVME. The default is 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 type resources.------ /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] A token used to continue a truncated list request.-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] Unique identifier for the resource; 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 Type resources.------ /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] A token used to continue a truncated list request.-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] Unique identifier for the resource; 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] A token used to continue a truncated list request.-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] Unique identifier for the resource; 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] A token used to continue a truncated list request.-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] Unique identifier for the resource; 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---- | Type of the resource.-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] Unique identifier for the resource. 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 textual description of the resource; provided by the client--- when the resource is created.-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- }---- | List of autoscalers contained in this scope.-aAutoscalers :: Lens' AutoscalersScopedList [Autoscaler]-aAutoscalers- = lens _aAutoscalers (\ s a -> s{_aAutoscalers = a})- . _Default- . _Coerce---- | 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] A token used to continue a truncated list request.-aalNextPageToken :: Lens' AutoscalerAggregatedList (Maybe Text)-aalNextPageToken- = lens _aalNextPageToken- (\ s a -> s{_aalNextPageToken = a})---- | Type of resource.-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] Unique identifier for the resource; 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 custom metric.-apCustomMetricUtilizations :: Lens' AutoscalingPolicy [AutoscalingPolicyCustomMetricUtilization]-apCustomMetricUtilizations- = lens _apCustomMetricUtilizations- (\ s a -> s{_apCustomMetricUtilizations = a})- . _Default- . _Coerce---- | The maximum number of replicas that the Autoscaler can scale up to. This--- field is required for config to be effective. Maximum number of replicas--- should be not lower than minimal number of replicas. Absolute limit for--- this value is defined in Autoscaler backend.-apMaxNumReplicas :: Lens' AutoscalingPolicy (Maybe Int32)-apMaxNumReplicas- = lens _apMaxNumReplicas- (\ s a -> s{_apMaxNumReplicas = a})- . mapping _Coerce---- | TODO(jbartosik): Add support for scaling based on muliple utilization--- metrics (take max recommendation). Exactly one utilization policy should--- be provided. Configuration parameters of CPU based autoscaling policy.-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.--- Can\'t be less than 0. If not provided Autoscaler will choose default--- value depending on maximal number of replicas.-apMinNumReplicas :: Lens' AutoscalingPolicy (Maybe Int32)-apMinNumReplicas- = lens _apMinNumReplicas- (\ s a -> s{_apMinNumReplicas = a})- . mapping _Coerce---- | The number of seconds that the Autoscaler should wait between two--- succeeding changes to the number of virtual machines. You should define--- an interval that is at least as long as the initialization time of a--- virtual machine and the time it may take for replica pool to create the--- virtual machine. The default is 60 seconds.-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] A token used to continue a truncated list request.-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] Unique identifier for the resource; 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] A token used to continue a truncated list request.-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] Unique identifier for the resource; 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:/ '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])------- /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] A token used to continue a truncated list request.-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] Unique identifier for the resource; 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 disk type 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] Unique identifier for the resource; 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 textual description of the 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 (Textual Word8))- , _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 Word8)-mFingerprint- = lens _mFingerprint (\ s a -> s{_mFingerprint = a})- . mapping _Coerce---- | 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 for this warning in key: value format.-rwiData :: Lens' RouteWarningsItem [RouteWarningsItemDataItem]-rwiData- = lens _rwiData (\ s a -> s{_rwiData = a}) . _Default- . _Coerce---- | [Output Only] The warning type identifier for this warning.-rwiCode :: Lens' RouteWarningsItem (Maybe RouteWarningsItemCode)-rwiCode = lens _rwiCode (\ s a -> s{_rwiCode = a})---- | [Output Only] Optional human-readable details for this warning.-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 for the warning data.-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 for the warning data.-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#operation for Operation--- resources.-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] Unique identifier for the resource. Defined by the server.-thttppId :: Lens' TargetHTTPProxy (Maybe Word64)-thttppId- = lens _thttppId (\ s a -> s{_thttppId = a}) .- mapping _Coerce---- | An optional textual description of the resource; provided by the client--- when the resource is created.-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- }---- | Type of the resource.-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] Unique identifier for the resource; defined by the server.-mtId :: Lens' MachineType (Maybe Word64)-mtId- = lens _mtId (\ s a -> s{_mtId = a}) .- mapping _Coerce---- | [Output Only] The tumber of CPUs exposed 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 for this warning in key: value format.-tislwData :: Lens' TargetInstancesScopedListWarning [TargetInstancesScopedListWarningDataItem]-tislwData- = lens _tislwData (\ s a -> s{_tislwData = a}) .- _Default- . _Coerce---- | [Output Only] The warning type identifier for this warning.-tislwCode :: Lens' TargetInstancesScopedListWarning (Maybe TargetInstancesScopedListWarningCode)-tislwCode- = lens _tislwCode (\ s a -> s{_tislwCode = a})---- | [Output Only] Optional human-readable details for this warning.-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:/ '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 for the warning data.-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] A token that is used to continue a truncated list request.-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])------- /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- }---- | Type of the resource.-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})---- | Autoscaling configuration.-aaAutoscalingPolicy :: Lens' Autoscaler (Maybe AutoscalingPolicy)-aaAutoscalingPolicy- = lens _aaAutoscalingPolicy- (\ s a -> s{_aaAutoscalingPolicy = a})---- | [Output Only] Unique identifier for the resource; defined by the server.-aaId :: Lens' Autoscaler (Maybe Word64)-aaId- = lens _aaId (\ s a -> s{_aaId = a}) .- mapping _Coerce---- | An optional textual description of the resource; provided by the client--- when the resource is created.-aaDescription :: Lens' Autoscaler (Maybe Text)-aaDescription- = lens _aaDescription- (\ s a -> s{_aaDescription = a})---- | URL of Instance Group Manager or Replica Pool which will be controlled--- by Autoscaler.-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 for this warning in key: value format.-dslwData :: Lens' DisksScopedListWarning [DisksScopedListWarningDataItem]-dslwData- = lens _dslwData (\ s a -> s{_dslwData = a}) .- _Default- . _Coerce---- | [Output Only] The warning type identifier for this warning.-dslwCode :: Lens' DisksScopedListWarning (Maybe DisksScopedListWarningCode)-dslwCode = lens _dslwCode (\ s a -> s{_dslwCode = a})---- | [Output Only] Optional human-readable details for this warning.-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 for this warning in key: value format.-tpslwData :: Lens' TargetPoolsScopedListWarning [TargetPoolsScopedListWarningDataItem]-tpslwData- = lens _tpslwData (\ s a -> s{_tpslwData = a}) .- _Default- . _Coerce---- | [Output Only] The warning type identifier for this warning.-tpslwCode :: Lens' TargetPoolsScopedListWarning (Maybe TargetPoolsScopedListWarningCode)-tpslwCode- = lens _tpslwCode (\ s a -> s{_tpslwCode = a})---- | [Output Only] Optional human-readable details for this warning.-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] Unique identifier for the resource; 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)- , _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'------ * 'vtKind'------ * 'vtPeerIP'------ * 'vtTargetVPNGateway'------ * 'vtSelfLink'------ * 'vtSharedSecret'------ * 'vtName'------ * 'vtCreationTimestamp'------ * 'vtSharedSecretHash'------ * 'vtId'------ * 'vtIkeVersion'------ * 'vtRegion'------ * 'vtDescription'-vpnTunnel- :: VPNTunnel-vpnTunnel =- VPNTunnel- { _vtDetailedStatus = Nothing- , _vtStatus = 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})---- | [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 to 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 GCE 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] Unique identifier for the resource. 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 textual description of the resource. Provided by the client--- when the resource is created.-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 .:? "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,- 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 for this warning in key: value format.-oslwData :: Lens' OperationsScopedListWarning [OperationsScopedListWarningDataItem]-oslwData- = lens _oslwData (\ s a -> s{_oslwData = a}) .- _Default- . _Coerce---- | [Output Only] The warning type identifier for this warning.-oslwCode :: Lens' OperationsScopedListWarning (Maybe OperationsScopedListWarningCode)-oslwCode = lens _oslwCode (\ s a -> s{_oslwCode = a})---- | [Output Only] Optional human-readable details for this warning.-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 maintenance behavior.-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 for the warning data.-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])---- | 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 for this warning in key: value format.-frslwData :: Lens' ForwardingRulesScopedListWarning [ForwardingRulesScopedListWarningDataItem]-frslwData- = lens _frslwData (\ s a -> s{_frslwData = a}) .- _Default- . _Coerce---- | [Output Only] The warning type identifier for this warning.-frslwCode :: Lens' ForwardingRulesScopedListWarning (Maybe ForwardingRulesScopedListWarningCode)-frslwCode- = lens _frslwCode (\ s a -> s{_frslwCode = a})---- | [Output Only] Optional human-readable details for this warning.-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] A token used to continue a truncated list request.-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 for this warning in key: value format.-igmslwData :: Lens' InstanceGroupManagersScopedListWarning [InstanceGroupManagersScopedListWarningDataItem]-igmslwData- = lens _igmslwData (\ s a -> s{_igmslwData = a}) .- _Default- . _Coerce---- | [Output Only] The warning type identifier for this warning.-igmslwCode :: Lens' InstanceGroupManagersScopedListWarning (Maybe InstanceGroupManagersScopedListWarningCode)-igmslwCode- = lens _igmslwCode (\ s a -> s{_igmslwCode = a})---- | [Output Only] Optional human-readable details for this warning.-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 (Textual Word8))- , _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 Word8)-igmstprFingerprint- = lens _igmstprFingerprint- (\ s a -> s{_igmstprFingerprint = a})- . mapping _Coerce---- | 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] A token used to continue a truncated list request.-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 which 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- }---- | 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 instance resources.------ /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] A token used to continue a truncated list request.-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 Instance resources.-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] Unique identifier for the resource; 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])------- /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 for this warning in key: value format.-igslwData :: Lens' InstanceGroupsScopedListWarning [InstanceGroupsScopedListWarningDataItem]-igslwData- = lens _igslwData (\ s a -> s{_igslwData = a}) .- _Default- . _Coerce---- | [Output Only] The warning type identifier for this warning.-igslwCode :: Lens' InstanceGroupsScopedListWarning (Maybe InstanceGroupsScopedListWarningCode)-igslwCode- = lens _igslwCode (\ s a -> s{_igslwCode = a})---- | [Output Only] Optional human-readable details for this warning.-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 utilization that the Autoscaler should maintain. It is--- represented as a fraction of used cores. For example: 6 cores used in--- 8-core VM are represented here as 0.75. Must be a float value between--- (0, 1]. If not defined, the default is 0.8.-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 for the warning data.-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])---- | 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.-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. This field 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 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] Unique identifier for the resource; 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 textual description of the resource; provided by the client--- when the resource is created.-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 textual description.-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 (Textual Word8))- , _iiNetwork :: !(Maybe Text)- , _iiZone :: !(Maybe Text)- , _iiSelfLink :: !(Maybe Text)- , _iiName :: !(Maybe Text)- , _iiCreationTimestamp :: !(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'------ * 'iiId'------ * 'iiDescription'------ * 'iiNamedPorts'-instanceGroup- :: InstanceGroup-instanceGroup =- InstanceGroup- { _iiSize = Nothing- , _iiKind = "compute#instanceGroup"- , _iiFingerprint = Nothing- , _iiNetwork = Nothing- , _iiZone = Nothing- , _iiSelfLink = Nothing- , _iiName = Nothing- , _iiCreationTimestamp = 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 Word8)-iiFingerprint- = lens _iiFingerprint- (\ s a -> s{_iiFingerprint = a})- . mapping _Coerce---- | [Output Only] 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})---- | [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 text description for the instance group.-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 .:? "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,- ("id" .=) <$> _iiId,- ("description" .=) <$> _iiDescription,- ("namedPorts" .=) <$> _iiNamedPorts])---- | Contains a list of Snapshot resources.------ /See:/ 'snapshotList' smart constructor.-data SnapshotList = SnapshotList- { _slNextPageToken :: !(Maybe Text)- , _slKind :: !Text- , _slItems :: !(Maybe [Snapshot])- , _slSelfLink :: !(Maybe Text)- , _slId :: !(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:------ * 'slNextPageToken'------ * 'slKind'------ * 'slItems'------ * 'slSelfLink'------ * 'slId'-snapshotList- :: SnapshotList-snapshotList =- SnapshotList- { _slNextPageToken = Nothing- , _slKind = "compute#snapshotList"- , _slItems = Nothing- , _slSelfLink = Nothing- , _slId = Nothing- }---- | [Output Only] A token used to continue a truncated list request.-slNextPageToken :: Lens' SnapshotList (Maybe Text)-slNextPageToken- = lens _slNextPageToken- (\ s a -> s{_slNextPageToken = a})---- | Type of resource.-slKind :: Lens' SnapshotList Text-slKind = lens _slKind (\ s a -> s{_slKind = a})---- | A list of Snapshot resources.-slItems :: Lens' SnapshotList [Snapshot]-slItems- = lens _slItems (\ s a -> s{_slItems = a}) . _Default- . _Coerce---- | [Output Only] Server-defined URL for this resource.-slSelfLink :: Lens' SnapshotList (Maybe Text)-slSelfLink- = lens _slSelfLink (\ s a -> s{_slSelfLink = a})---- | [Output Only] Unique identifier for the resource. Defined by the server.-slId :: Lens' SnapshotList (Maybe Text)-slId = lens _slId (\ s a -> s{_slId = 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" .=) <$> _slNextPageToken,- Just ("kind" .= _slKind), ("items" .=) <$> _slItems,- ("selfLink" .=) <$> _slSelfLink,- ("id" .=) <$> _slId])------- /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] A token used to continue a truncated list request.-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] Unique identifier for the resource. 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- }---- | URL to the UrlMap resource that defines the mapping from URL to the--- BackendService.-thpURLMap :: Lens' TargetHTTPSProxy (Maybe Text)-thpURLMap- = lens _thpURLMap (\ s a -> s{_thpURLMap = a})---- | URLs to SslCertificate resources that are used to authenticate--- connections to Backends. Currently exactly one SSL certificate must be--- specified.-thpSSLCertificates :: Lens' TargetHTTPSProxy [Text]-thpSSLCertificates- = lens _thpSSLCertificates- (\ s a -> s{_thpSSLCertificates = a})- . _Default- . _Coerce---- | Type of the resource.-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] Unique identifier for the resource; defined by the server.-thpId :: Lens' TargetHTTPSProxy (Maybe Word64)-thpId- = lens _thpId (\ s a -> s{_thpId = a}) .- mapping _Coerce---- | An optional textual description of the resource. Provided by the client--- when the resource is created.-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 which 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 for the warning data.-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 together with their serving capacity.------ /See:/ 'backendService' smart constructor.-data BackendService = BackendService- { _bsBackends :: !(Maybe [Backend])- , _bsKind :: !Text- , _bsFingerprint :: !(Maybe (Textual Word8))- , _bsProtocol :: !(Maybe BackendServiceProtocol)- , _bsSelfLink :: !(Maybe Text)- , _bsName :: !(Maybe Text)- , _bsCreationTimestamp :: !(Maybe Text)- , _bsId :: !(Maybe (Textual Word64))- , _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'------ * '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- , _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 Word8)-bsFingerprint- = lens _bsFingerprint- (\ s a -> s{_bsFingerprint = a})- . mapping _Coerce--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] Unique identifier for the resource; defined by the server.-bsId :: Lens' BackendService (Maybe Word64)-bsId- = lens _bsId (\ s a -> s{_bsId = a}) .- mapping _Coerce---- | 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 textual description of the resource. Provided by the client--- when the resource is created.-bsDescription :: Lens' BackendService (Maybe Text)-bsDescription- = lens _bsDescription- (\ s a -> s{_bsDescription = a})---- | Name of backend port. The same name should appear in the resource views--- 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 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 port name. 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 .:? "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,- ("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 to. 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] Unique identifier for the resource; 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 textual description of the resource; provided by the client--- when the resource is created.-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 (Textual Word8))- , _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 Word8)-tFingerprint- = lens _tFingerprint (\ s a -> s{_tFingerprint = a})- . mapping _Coerce---- | 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] A token used to continue a truncated list request.-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 for this warning in key: value format.-owiData :: Lens' OperationWarningsItem [OperationWarningsItemDataItem]-owiData- = lens _owiData (\ s a -> s{_owiData = a}) . _Default- . _Coerce---- | [Output Only] The warning type identifier for this warning.-owiCode :: Lens' OperationWarningsItem (Maybe OperationWarningsItemCode)-owiCode = lens _owiCode (\ s a -> s{_owiCode = a})---- | [Output Only] Optional human-readable details for this warning.-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.-insnNetworkInterfaces :: Lens' Instance [NetworkInterface]-insnNetworkInterfaces- = lens _insnNetworkInterfaces- (\ s a -> s{_insnNetworkInterfaces = a})- . _Default- . _Coerce---- | [Output Only] Type of the resource. Always compute#instance for--- instances.-insnKind :: Lens' Instance Text-insnKind = lens _insnKind (\ s a -> s{_insnKind = a})---- | [Output Only] URL of the zone where the instance resides.-insnZone :: Lens' Instance (Maybe Text)-insnZone = lens _insnZone (\ s a -> s{_insnZone = a})---- | [Output Only] The CPU platform used by this instance.-insnCPUPlatform :: Lens' Instance (Maybe Text)-insnCPUPlatform- = lens _insnCPUPlatform- (\ s a -> s{_insnCPUPlatform = a})---- | [Output Only] Server defined URL for this resource.-insnSelfLink :: Lens' Instance (Maybe Text)-insnSelfLink- = lens _insnSelfLink (\ s a -> s{_insnSelfLink = 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.-insnName :: Lens' Instance (Maybe Text)-insnName = lens _insnName (\ s a -> s{_insnName = a})---- | [Output Only] An optional, human-readable explanation of the status.-insnStatusMessage :: Lens' Instance (Maybe Text)-insnStatusMessage- = lens _insnStatusMessage- (\ s a -> s{_insnStatusMessage = a})---- | [Output Only] Creation timestamp in RFC3339 text format.-insnCreationTimestamp :: Lens' Instance (Maybe Text)-insnCreationTimestamp- = lens _insnCreationTimestamp- (\ s a -> s{_insnCreationTimestamp = a})---- | Full or partial URL of the machine type resource to use for this--- instance. This is provided by the client when the instance is created.--- For example, the following is a valid partial url:--- zones\/zone\/machineTypes\/machine-type-insnMachineType :: Lens' Instance (Maybe Text)-insnMachineType- = lens _insnMachineType- (\ s a -> s{_insnMachineType = a})---- | The metadata key\/value pairs assigned to this instance. This includes--- custom metadata and predefined keys.-insnMetadata :: Lens' Instance (Maybe Metadata)-insnMetadata- = lens _insnMetadata (\ s a -> s{_insnMetadata = a})---- | [Output Only] Unique identifier for the resource; defined by the server.-insnId :: Lens' Instance (Maybe Word64)-insnId- = lens _insnId (\ s a -> s{_insnId = a}) .- mapping _Coerce---- | Scheduling options for this instance.-insnScheduling :: Lens' Instance (Maybe Scheduling)-insnScheduling- = lens _insnScheduling- (\ s a -> s{_insnScheduling = a})---- | Array of disks associated with this instance. Persistent disks must be--- created before you can assign them.-insnDisks :: Lens' Instance [AttachedDisk]-insnDisks- = lens _insnDisks (\ s a -> s{_insnDisks = a}) .- _Default- . _Coerce---- | Allows this instance to send and receive packets with non-matching--- destination or source IPs. This is required if you plan to use this--- instance to forward routes. For more information, see Enabling IP--- Forwarding.-insnCanIPForward :: Lens' Instance (Maybe Bool)-insnCanIPForward- = lens _insnCanIPForward- (\ s a -> s{_insnCanIPForward = a})---- | An optional textual description of the resource; provided by the client--- when the resource is created.-insnDescription :: Lens' Instance (Maybe Text)-insnDescription- = lens _insnDescription- (\ s a -> s{_insnDescription = a})---- | A list of tags to appy to this instance. Tags are used to identify valid--- sources or targets for network firewalls and are specified by the client--- during instance creation. The tags can be later modified by the setTags--- method. Each tag within the list must comply with RFC1035.-insnTags :: Lens' Instance (Maybe Tags)-insnTags = lens _insnTags (\ s a -> s{_insnTags = a})--instance FromJSON Instance where- parseJSON- = withObject "Instance"- (\ o ->- Instance <$>- (o .:? "status") <*>- (o .:? "serviceAccounts" .!= mempty)- <*> (o .:? "networkInterfaces" .!= mempty)- <*> (o .:? "kind" .!= "compute#instance")- <*> (o .:? "zone")- <*> (o .:? "cpuPlatform")- <*> (o .:? "selfLink")- <*> (o .:? "name")- <*> (o .:? "statusMessage")- <*> (o .:? "creationTimestamp")- <*> (o .:? "machineType")- <*> (o .:? "metadata")- <*> (o .:? "id")- <*> (o .:? "scheduling")- <*> (o .:? "disks" .!= mempty)- <*> (o .:? "canIpForward")- <*> (o .:? "description")- <*> (o .:? "tags"))--instance ToJSON Instance where- toJSON Instance{..}- = object- (catMaybes- [("status" .=) <$> _insnStatus,- ("serviceAccounts" .=) <$> _insnServiceAccounts,- ("networkInterfaces" .=) <$> _insnNetworkInterfaces,- Just ("kind" .= _insnKind),- ("zone" .=) <$> _insnZone,- ("cpuPlatform" .=) <$> _insnCPUPlatform,- ("selfLink" .=) <$> _insnSelfLink,- ("name" .=) <$> _insnName,- ("statusMessage" .=) <$> _insnStatusMessage,- ("creationTimestamp" .=) <$> _insnCreationTimestamp,- ("machineType" .=) <$> _insnMachineType,- ("metadata" .=) <$> _insnMetadata,- ("id" .=) <$> _insnId,- ("scheduling" .=) <$> _insnScheduling,- ("disks" .=) <$> _insnDisks,- ("canIpForward" .=) <$> _insnCanIPForward,- ("description" .=) <$> _insnDescription,- ("tags" .=) <$> _insnTags])---- | A matcher for the path portion of the URL. The BackendService from the--- longest-matched rule will serve the URL. If no rule was matched, the--- default service will be used.------ /See:/ 'pathMatcher' smart constructor.-data PathMatcher = PathMatcher- { _pmDefaultService :: !(Maybe Text)- , _pmName :: !(Maybe Text)- , _pmPathRules :: !(Maybe [PathRule])- , _pmDescription :: !(Maybe Text)- } deriving (Eq,Show,Data,Typeable,Generic)---- | Creates a value of 'PathMatcher' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'pmDefaultService'------ * 'pmName'------ * 'pmPathRules'------ * 'pmDescription'-pathMatcher- :: PathMatcher-pathMatcher =- PathMatcher- { _pmDefaultService = Nothing- , _pmName = Nothing- , _pmPathRules = Nothing- , _pmDescription = Nothing- }---- | The URL to the BackendService resource. This will be used if none of the--- \'pathRules\' defined by this PathMatcher is met by the URL\'s path--- portion.-pmDefaultService :: Lens' PathMatcher (Maybe Text)-pmDefaultService- = lens _pmDefaultService- (\ s a -> s{_pmDefaultService = a})---- | The name to which this PathMatcher is referred by the HostRule.-pmName :: Lens' PathMatcher (Maybe Text)-pmName = lens _pmName (\ s a -> s{_pmName = a})---- | The list of path rules.-pmPathRules :: Lens' PathMatcher [PathRule]-pmPathRules- = lens _pmPathRules (\ s a -> s{_pmPathRules = a}) .- _Default- . _Coerce---- | An optional textual description of the resource.-pmDescription :: Lens' PathMatcher (Maybe Text)-pmDescription- = lens _pmDescription- (\ s a -> s{_pmDescription = a})--instance FromJSON PathMatcher where- parseJSON- = withObject "PathMatcher"- (\ o ->- PathMatcher <$>- (o .:? "defaultService") <*> (o .:? "name") <*>- (o .:? "pathRules" .!= mempty)- <*> (o .:? "description"))--instance ToJSON PathMatcher where- toJSON PathMatcher{..}+-- 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)+--+module Network.Google.Compute.Types.Product where++import Network.Google.Compute.Types.Sum+import Network.Google.Prelude++-- | Contains a list of TargetHttpsProxy resources.+--+-- /See:/ 'targetHTTPSProxyList' smart constructor.+data TargetHTTPSProxyList = TargetHTTPSProxyList'+ { _thplNextPageToken :: !(Maybe Text)+ , _thplKind :: !Text+ , _thplItems :: !(Maybe [TargetHTTPSProxy])+ , _thplSelfLink :: !(Maybe Text)+ , _thplId :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TargetHTTPSProxyList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'thplNextPageToken'+--+-- * 'thplKind'+--+-- * 'thplItems'+--+-- * 'thplSelfLink'+--+-- * 'thplId'+targetHTTPSProxyList+ :: TargetHTTPSProxyList+targetHTTPSProxyList =+ TargetHTTPSProxyList'+ { _thplNextPageToken = Nothing+ , _thplKind = "compute#targetHttpsProxyList"+ , _thplItems = Nothing+ , _thplSelfLink = Nothing+ , _thplId = 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.+thplNextPageToken :: Lens' TargetHTTPSProxyList (Maybe Text)+thplNextPageToken+ = lens _thplNextPageToken+ (\ s a -> s{_thplNextPageToken = a})++-- | Type of resource. Always compute#targetHttpsProxyList for lists of+-- target HTTPS proxies.+thplKind :: Lens' TargetHTTPSProxyList Text+thplKind = lens _thplKind (\ s a -> s{_thplKind = a})++-- | A list of TargetHttpsProxy resources.+thplItems :: Lens' TargetHTTPSProxyList [TargetHTTPSProxy]+thplItems+ = lens _thplItems (\ s a -> s{_thplItems = a}) .+ _Default+ . _Coerce++-- | [Output Only] Server-defined URL for this resource.+thplSelfLink :: Lens' TargetHTTPSProxyList (Maybe Text)+thplSelfLink+ = lens _thplSelfLink (\ s a -> s{_thplSelfLink = a})++-- | [Output Only] The unique identifier for the resource. This identifier is+-- defined by the server.+thplId :: Lens' TargetHTTPSProxyList (Maybe Text)+thplId = lens _thplId (\ s a -> s{_thplId = a})++instance FromJSON TargetHTTPSProxyList where+ parseJSON+ = withObject "TargetHTTPSProxyList"+ (\ o ->+ TargetHTTPSProxyList' <$>+ (o .:? "nextPageToken") <*>+ (o .:? "kind" .!= "compute#targetHttpsProxyList")+ <*> (o .:? "items" .!= mempty)+ <*> (o .:? "selfLink")+ <*> (o .:? "id"))++instance ToJSON TargetHTTPSProxyList where+ toJSON TargetHTTPSProxyList'{..}+ = object+ (catMaybes+ [("nextPageToken" .=) <$> _thplNextPageToken,+ Just ("kind" .= _thplKind),+ ("items" .=) <$> _thplItems,+ ("selfLink" .=) <$> _thplSelfLink,+ ("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.+insnNetworkInterfaces :: Lens' Instance [NetworkInterface]+insnNetworkInterfaces+ = lens _insnNetworkInterfaces+ (\ s a -> s{_insnNetworkInterfaces = a})+ . _Default+ . _Coerce++-- | [Output Only] Type of the resource. Always compute#instance for+-- instances.+insnKind :: Lens' Instance Text+insnKind = lens _insnKind (\ s a -> s{_insnKind = a})++-- | [Output Only] URL of the zone where the instance resides.+insnZone :: Lens' Instance (Maybe Text)+insnZone = lens _insnZone (\ s a -> s{_insnZone = a})++-- | [Output Only] The CPU platform used by this instance.+insnCPUPlatform :: Lens' Instance (Maybe Text)+insnCPUPlatform+ = lens _insnCPUPlatform+ (\ s a -> s{_insnCPUPlatform = a})++-- | [Output Only] Server-defined URL for this resource.+insnSelfLink :: Lens' Instance (Maybe Text)+insnSelfLink+ = lens _insnSelfLink (\ s a -> s{_insnSelfLink = a})++-- | The name of the resource, provided by the client when initially creating+-- the resource. The resource 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.+insnName :: Lens' Instance (Maybe Text)+insnName = lens _insnName (\ s a -> s{_insnName = a})++-- | [Output Only] An optional, human-readable explanation of the status.+insnStatusMessage :: Lens' Instance (Maybe Text)+insnStatusMessage+ = lens _insnStatusMessage+ (\ s a -> s{_insnStatusMessage = a})++-- | [Output Only] Creation timestamp in RFC3339 text format.+insnCreationTimestamp :: Lens' Instance (Maybe Text)+insnCreationTimestamp+ = lens _insnCreationTimestamp+ (\ s a -> s{_insnCreationTimestamp = a})++-- | Full or partial URL of the machine type resource to use for this+-- instance, in the format: zones\/zone\/machineTypes\/machine-type. This+-- is provided by the client when the instance is created. For example, the+-- following is a valid partial url to a predefined machine type:+-- zones\/us-central1-f\/machineTypes\/n1-standard-1 To create a custom+-- machine type, provide a URL to a machine type in the following format,+-- where CPUS is 1 or an even number up to 32 (2, 4, 6, ... 24, etc), and+-- MEMORY is the total memory for this instance. Memory must be a multiple+-- of 256 MB and must be supplied in MB (e.g. 5 GB of memory is 5120 MB):+-- zones\/zone\/machineTypes\/custom-CPUS-MEMORY For example:+-- zones\/us-central1-f\/machineTypes\/custom-4-5120 For a full list of+-- restrictions, read the Specifications for custom machine types.+insnMachineType :: Lens' Instance (Maybe Text)+insnMachineType+ = lens _insnMachineType+ (\ s a -> s{_insnMachineType = a})++-- | The metadata key\/value pairs assigned to this instance. This includes+-- custom metadata and predefined keys.+insnMetadata :: Lens' Instance (Maybe Metadata)+insnMetadata+ = lens _insnMetadata (\ s a -> s{_insnMetadata = a})++-- | [Output Only] The unique identifier for the resource. This identifier is+-- defined by the server.+insnId :: Lens' Instance (Maybe Word64)+insnId+ = lens _insnId (\ s a -> s{_insnId = a}) .+ mapping _Coerce++-- | Scheduling options for this instance.+insnScheduling :: Lens' Instance (Maybe Scheduling)+insnScheduling+ = lens _insnScheduling+ (\ s a -> s{_insnScheduling = a})++-- | Array of disks associated with this instance. Persistent disks must be+-- created before you can assign them.+insnDisks :: Lens' Instance [AttachedDisk]+insnDisks+ = lens _insnDisks (\ s a -> s{_insnDisks = a}) .+ _Default+ . _Coerce++-- | Allows this instance to send and receive packets with non-matching+-- destination or source IPs. This is required if you plan to use this+-- instance to forward routes. For more information, see Enabling IP+-- Forwarding.+insnCanIPForward :: Lens' Instance (Maybe Bool)+insnCanIPForward+ = lens _insnCanIPForward+ (\ s a -> s{_insnCanIPForward = a})++-- | An optional description of this resource. Provide this property when you+-- create the resource.+insnDescription :: Lens' Instance (Maybe Text)+insnDescription+ = lens _insnDescription+ (\ s a -> s{_insnDescription = a})++-- | A list of tags to apply to this instance. Tags are used to identify+-- valid sources or targets for network firewalls and are specified by the+-- client during instance creation. The tags can be later modified by the+-- setTags method. Each tag within the list must comply with RFC1035.+insnTags :: Lens' Instance (Maybe Tags)+insnTags = lens _insnTags (\ s a -> s{_insnTags = a})++instance FromJSON Instance where+ parseJSON+ = withObject "Instance"+ (\ o ->+ Instance' <$>+ (o .:? "status") <*>+ (o .:? "serviceAccounts" .!= mempty)+ <*> (o .:? "networkInterfaces" .!= mempty)+ <*> (o .:? "kind" .!= "compute#instance")+ <*> (o .:? "zone")+ <*> (o .:? "cpuPlatform")+ <*> (o .:? "selfLink")+ <*> (o .:? "name")+ <*> (o .:? "statusMessage")+ <*> (o .:? "creationTimestamp")+ <*> (o .:? "machineType")+ <*> (o .:? "metadata")+ <*> (o .:? "id")+ <*> (o .:? "scheduling")+ <*> (o .:? "disks" .!= mempty)+ <*> (o .:? "canIpForward")+ <*> (o .:? "description")+ <*> (o .:? "tags"))++instance ToJSON Instance where+ toJSON Instance'{..}+ = object+ (catMaybes+ [("status" .=) <$> _insnStatus,+ ("serviceAccounts" .=) <$> _insnServiceAccounts,+ ("networkInterfaces" .=) <$> _insnNetworkInterfaces,+ Just ("kind" .= _insnKind),+ ("zone" .=) <$> _insnZone,+ ("cpuPlatform" .=) <$> _insnCPUPlatform,+ ("selfLink" .=) <$> _insnSelfLink,+ ("name" .=) <$> _insnName,+ ("statusMessage" .=) <$> _insnStatusMessage,+ ("creationTimestamp" .=) <$> _insnCreationTimestamp,+ ("machineType" .=) <$> _insnMachineType,+ ("metadata" .=) <$> _insnMetadata,+ ("id" .=) <$> _insnId,+ ("scheduling" .=) <$> _insnScheduling,+ ("disks" .=) <$> _insnDisks,+ ("canIpForward" .=) <$> _insnCanIPForward,+ ("description" .=) <$> _insnDescription,+ ("tags" .=) <$> _insnTags])++-- | A matcher for the path portion of the URL. The BackendService from the+-- longest-matched rule will serve the URL. If no rule was matched, the+-- default service will be used.+--+-- /See:/ 'pathMatcher' smart constructor.+data PathMatcher = PathMatcher'+ { _pmDefaultService :: !(Maybe Text)+ , _pmName :: !(Maybe Text)+ , _pmPathRules :: !(Maybe [PathRule])+ , _pmDescription :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PathMatcher' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pmDefaultService'+--+-- * 'pmName'+--+-- * 'pmPathRules'+--+-- * 'pmDescription'+pathMatcher+ :: PathMatcher+pathMatcher =+ PathMatcher'+ { _pmDefaultService = Nothing+ , _pmName = Nothing+ , _pmPathRules = Nothing+ , _pmDescription = Nothing+ }++-- | The full or partial URL to the BackendService resource. This will be+-- used if none of the pathRules defined by this PathMatcher is matched by+-- the URL\'s path portion. For example, the following are all valid URLs+-- to a BackendService resource: -+-- https:\/\/www.googleapis.com\/compute\/v1\/projects\/project\/global\/backendServices\/backendService+-- -+-- compute\/v1\/projects\/project\/global\/backendServices\/backendService+-- - global\/backendServices\/backendService+pmDefaultService :: Lens' PathMatcher (Maybe Text)+pmDefaultService+ = lens _pmDefaultService+ (\ s a -> s{_pmDefaultService = a})++-- | The name to which this PathMatcher is referred by the HostRule.+pmName :: Lens' PathMatcher (Maybe Text)+pmName = lens _pmName (\ s a -> s{_pmName = a})++-- | The list of path rules.+pmPathRules :: Lens' PathMatcher [PathRule]+pmPathRules+ = lens _pmPathRules (\ s a -> s{_pmPathRules = a}) .+ _Default+ . _Coerce++-- | An optional description of this resource. Provide this property when you+-- create the resource.+pmDescription :: Lens' PathMatcher (Maybe Text)+pmDescription+ = lens _pmDescription+ (\ s a -> s{_pmDescription = a})++instance FromJSON PathMatcher where+ parseJSON+ = withObject "PathMatcher"+ (\ o ->+ PathMatcher' <$>+ (o .:? "defaultService") <*> (o .:? "name") <*>+ (o .:? "pathRules" .!= mempty)+ <*> (o .:? "description"))++instance ToJSON PathMatcher where+ toJSON PathMatcher'{..} = object (catMaybes [("defaultService" .=) <$> _pmDefaultService,
gen/Network/Google/Compute/Types/Sum.hs view
@@ -8,2355 +8,2550 @@ -- | -- Module : Network.Google.Compute.Types.Sum--- Copyright : (c) 2015 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)----module Network.Google.Compute.Types.Sum where--import Network.Google.Prelude---- | 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 maintenance behavior.-data SchedulingOnHostMaintenance- = Migrate- -- ^ @MIGRATE@- | Terminate- -- ^ @TERMINATE@- deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)--instance Hashable SchedulingOnHostMaintenance--instance FromText SchedulingOnHostMaintenance where- fromText = \case- "MIGRATE" -> Just Migrate- "TERMINATE" -> Just Terminate- _ -> Nothing--instance ToText SchedulingOnHostMaintenance where- toText = \case- Migrate -> "MIGRATE"- Terminate -> "TERMINATE"--instance FromJSON SchedulingOnHostMaintenance where- parseJSON = parseJSONText "SchedulingOnHostMaintenance"--instance ToJSON SchedulingOnHostMaintenance where- toJSON = toJSONText---- | Defines type in which utilization_target is expressed.-data AutoscalingPolicyCustomMetricUtilizationUtilizationTargetType- = DeltaPerMinute- -- ^ @DELTA_PER_MINUTE@- | DeltaPerSecond- -- ^ @DELTA_PER_SECOND@- | Gauge- -- ^ @GAUGE@- deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)--instance Hashable AutoscalingPolicyCustomMetricUtilizationUtilizationTargetType--instance FromText AutoscalingPolicyCustomMetricUtilizationUtilizationTargetType where- fromText = \case- "DELTA_PER_MINUTE" -> Just DeltaPerMinute- "DELTA_PER_SECOND" -> Just DeltaPerSecond- "GAUGE" -> Just Gauge- _ -> Nothing--instance ToText AutoscalingPolicyCustomMetricUtilizationUtilizationTargetType where- toText = \case- DeltaPerMinute -> "DELTA_PER_MINUTE"- DeltaPerSecond -> "DELTA_PER_SECOND"- Gauge -> "GAUGE"--instance FromJSON AutoscalingPolicyCustomMetricUtilizationUtilizationTargetType where- parseJSON = parseJSONText "AutoscalingPolicyCustomMetricUtilizationUtilizationTargetType"--instance ToJSON AutoscalingPolicyCustomMetricUtilizationUtilizationTargetType where- toJSON = toJSONText---- | [Output Only] The warning type identifier for this warning.-data OperationWarningsItemCode- = DeprecatedResourceUsed- -- ^ @DEPRECATED_RESOURCE_USED@- | DiskSizeLargerThanImageSize- -- ^ @DISK_SIZE_LARGER_THAN_IMAGE_SIZE@- | InjectedKernelsDeprecated- -- ^ @INJECTED_KERNELS_DEPRECATED@- | NextHopAddressNotAssigned- -- ^ @NEXT_HOP_ADDRESS_NOT_ASSIGNED@- | NextHopCannotIPForward- -- ^ @NEXT_HOP_CANNOT_IP_FORWARD@- | NextHopInstanceNotFound- -- ^ @NEXT_HOP_INSTANCE_NOT_FOUND@- | NextHopInstanceNotOnNetwork- -- ^ @NEXT_HOP_INSTANCE_NOT_ON_NETWORK@- | NextHopNotRunning- -- ^ @NEXT_HOP_NOT_RUNNING@- | NotCriticalError- -- ^ @NOT_CRITICAL_ERROR@- | NoResultsOnPage- -- ^ @NO_RESULTS_ON_PAGE@- | RequiredTosAgreement- -- ^ @REQUIRED_TOS_AGREEMENT@- | ResourceNotDeleted- -- ^ @RESOURCE_NOT_DELETED@- | SingleInstancePropertyTemplate- -- ^ @SINGLE_INSTANCE_PROPERTY_TEMPLATE@- | Unreachable- -- ^ @UNREACHABLE@- deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)--instance Hashable OperationWarningsItemCode--instance FromText OperationWarningsItemCode where- fromText = \case- "DEPRECATED_RESOURCE_USED" -> Just DeprecatedResourceUsed- "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" -> Just DiskSizeLargerThanImageSize- "INJECTED_KERNELS_DEPRECATED" -> Just InjectedKernelsDeprecated- "NEXT_HOP_ADDRESS_NOT_ASSIGNED" -> Just NextHopAddressNotAssigned- "NEXT_HOP_CANNOT_IP_FORWARD" -> Just NextHopCannotIPForward- "NEXT_HOP_INSTANCE_NOT_FOUND" -> Just NextHopInstanceNotFound- "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" -> Just NextHopInstanceNotOnNetwork- "NEXT_HOP_NOT_RUNNING" -> Just NextHopNotRunning- "NOT_CRITICAL_ERROR" -> Just NotCriticalError- "NO_RESULTS_ON_PAGE" -> Just NoResultsOnPage- "REQUIRED_TOS_AGREEMENT" -> Just RequiredTosAgreement- "RESOURCE_NOT_DELETED" -> Just ResourceNotDeleted- "SINGLE_INSTANCE_PROPERTY_TEMPLATE" -> Just SingleInstancePropertyTemplate- "UNREACHABLE" -> Just Unreachable- _ -> Nothing--instance ToText OperationWarningsItemCode where- toText = \case- DeprecatedResourceUsed -> "DEPRECATED_RESOURCE_USED"- DiskSizeLargerThanImageSize -> "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"- InjectedKernelsDeprecated -> "INJECTED_KERNELS_DEPRECATED"- NextHopAddressNotAssigned -> "NEXT_HOP_ADDRESS_NOT_ASSIGNED"- NextHopCannotIPForward -> "NEXT_HOP_CANNOT_IP_FORWARD"- NextHopInstanceNotFound -> "NEXT_HOP_INSTANCE_NOT_FOUND"- NextHopInstanceNotOnNetwork -> "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"- NextHopNotRunning -> "NEXT_HOP_NOT_RUNNING"- NotCriticalError -> "NOT_CRITICAL_ERROR"- NoResultsOnPage -> "NO_RESULTS_ON_PAGE"- RequiredTosAgreement -> "REQUIRED_TOS_AGREEMENT"- ResourceNotDeleted -> "RESOURCE_NOT_DELETED"- SingleInstancePropertyTemplate -> "SINGLE_INSTANCE_PROPERTY_TEMPLATE"- Unreachable -> "UNREACHABLE"--instance FromJSON OperationWarningsItemCode where- parseJSON = parseJSONText "OperationWarningsItemCode"--instance ToJSON OperationWarningsItemCode where- toJSON = toJSONText--data BackendServiceProtocol- = HTTP- -- ^ @HTTP@- | HTTPS- -- ^ @HTTPS@- deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)--instance Hashable BackendServiceProtocol--instance FromText BackendServiceProtocol where- fromText = \case- "HTTP" -> Just HTTP- "HTTPS" -> Just HTTPS- _ -> Nothing--instance ToText BackendServiceProtocol where- toText = \case- HTTP -> "HTTP"- HTTPS -> "HTTPS"--instance FromJSON BackendServiceProtocol where- parseJSON = parseJSONText "BackendServiceProtocol"--instance ToJSON BackendServiceProtocol where- toJSON = toJSONText---- | Specifies the type of the disk, either SCRATCH or PERSISTENT. If not--- specified, the default is PERSISTENT.-data AttachedDiskType- = Persistent- -- ^ @PERSISTENT@- | Scratch- -- ^ @SCRATCH@- deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)--instance Hashable AttachedDiskType--instance FromText AttachedDiskType where- fromText = \case- "PERSISTENT" -> Just Persistent- "SCRATCH" -> Just Scratch- _ -> Nothing--instance ToText AttachedDiskType where- toText = \case- Persistent -> "PERSISTENT"- Scratch -> "SCRATCH"--instance FromJSON AttachedDiskType where- parseJSON = parseJSONText "AttachedDiskType"--instance ToJSON AttachedDiskType where- toJSON = toJSONText---- | The type of the image used to create this disk. The default and only--- value is RAW-data ImageSourceType- = Raw- -- ^ @RAW@- deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)--instance Hashable ImageSourceType--instance FromText ImageSourceType where- fromText = \case- "RAW" -> Just Raw- _ -> Nothing--instance ToText ImageSourceType where- toText = \case- Raw -> "RAW"--instance FromJSON ImageSourceType where- parseJSON = parseJSONText "ImageSourceType"--instance ToJSON ImageSourceType where- toJSON = toJSONText---- | [Output Only] The warning type identifier for this warning.-data ForwardingRulesScopedListWarningCode- = FRSLWCDeprecatedResourceUsed- -- ^ @DEPRECATED_RESOURCE_USED@- | FRSLWCDiskSizeLargerThanImageSize- -- ^ @DISK_SIZE_LARGER_THAN_IMAGE_SIZE@- | FRSLWCInjectedKernelsDeprecated- -- ^ @INJECTED_KERNELS_DEPRECATED@- | FRSLWCNextHopAddressNotAssigned- -- ^ @NEXT_HOP_ADDRESS_NOT_ASSIGNED@- | FRSLWCNextHopCannotIPForward- -- ^ @NEXT_HOP_CANNOT_IP_FORWARD@- | FRSLWCNextHopInstanceNotFound- -- ^ @NEXT_HOP_INSTANCE_NOT_FOUND@- | FRSLWCNextHopInstanceNotOnNetwork- -- ^ @NEXT_HOP_INSTANCE_NOT_ON_NETWORK@- | FRSLWCNextHopNotRunning- -- ^ @NEXT_HOP_NOT_RUNNING@- | FRSLWCNotCriticalError- -- ^ @NOT_CRITICAL_ERROR@- | FRSLWCNoResultsOnPage- -- ^ @NO_RESULTS_ON_PAGE@- | FRSLWCRequiredTosAgreement- -- ^ @REQUIRED_TOS_AGREEMENT@- | FRSLWCResourceNotDeleted- -- ^ @RESOURCE_NOT_DELETED@- | FRSLWCSingleInstancePropertyTemplate- -- ^ @SINGLE_INSTANCE_PROPERTY_TEMPLATE@- | FRSLWCUnreachable- -- ^ @UNREACHABLE@- deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)--instance Hashable ForwardingRulesScopedListWarningCode--instance FromText ForwardingRulesScopedListWarningCode where- fromText = \case- "DEPRECATED_RESOURCE_USED" -> Just FRSLWCDeprecatedResourceUsed- "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" -> Just FRSLWCDiskSizeLargerThanImageSize- "INJECTED_KERNELS_DEPRECATED" -> Just FRSLWCInjectedKernelsDeprecated- "NEXT_HOP_ADDRESS_NOT_ASSIGNED" -> Just FRSLWCNextHopAddressNotAssigned- "NEXT_HOP_CANNOT_IP_FORWARD" -> Just FRSLWCNextHopCannotIPForward- "NEXT_HOP_INSTANCE_NOT_FOUND" -> Just FRSLWCNextHopInstanceNotFound- "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" -> Just FRSLWCNextHopInstanceNotOnNetwork- "NEXT_HOP_NOT_RUNNING" -> Just FRSLWCNextHopNotRunning- "NOT_CRITICAL_ERROR" -> Just FRSLWCNotCriticalError- "NO_RESULTS_ON_PAGE" -> Just FRSLWCNoResultsOnPage- "REQUIRED_TOS_AGREEMENT" -> Just FRSLWCRequiredTosAgreement- "RESOURCE_NOT_DELETED" -> Just FRSLWCResourceNotDeleted- "SINGLE_INSTANCE_PROPERTY_TEMPLATE" -> Just FRSLWCSingleInstancePropertyTemplate- "UNREACHABLE" -> Just FRSLWCUnreachable- _ -> Nothing--instance ToText ForwardingRulesScopedListWarningCode where- toText = \case- FRSLWCDeprecatedResourceUsed -> "DEPRECATED_RESOURCE_USED"- FRSLWCDiskSizeLargerThanImageSize -> "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"- FRSLWCInjectedKernelsDeprecated -> "INJECTED_KERNELS_DEPRECATED"- FRSLWCNextHopAddressNotAssigned -> "NEXT_HOP_ADDRESS_NOT_ASSIGNED"- FRSLWCNextHopCannotIPForward -> "NEXT_HOP_CANNOT_IP_FORWARD"- FRSLWCNextHopInstanceNotFound -> "NEXT_HOP_INSTANCE_NOT_FOUND"- FRSLWCNextHopInstanceNotOnNetwork -> "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"- FRSLWCNextHopNotRunning -> "NEXT_HOP_NOT_RUNNING"- FRSLWCNotCriticalError -> "NOT_CRITICAL_ERROR"- FRSLWCNoResultsOnPage -> "NO_RESULTS_ON_PAGE"- FRSLWCRequiredTosAgreement -> "REQUIRED_TOS_AGREEMENT"- FRSLWCResourceNotDeleted -> "RESOURCE_NOT_DELETED"- FRSLWCSingleInstancePropertyTemplate -> "SINGLE_INSTANCE_PROPERTY_TEMPLATE"- FRSLWCUnreachable -> "UNREACHABLE"--instance FromJSON ForwardingRulesScopedListWarningCode where- parseJSON = parseJSONText "ForwardingRulesScopedListWarningCode"--instance ToJSON ForwardingRulesScopedListWarningCode where- toJSON = toJSONText---- | [Output Only] The warning type identifier for this warning.-data OperationsScopedListWarningCode- = OSLWCDeprecatedResourceUsed- -- ^ @DEPRECATED_RESOURCE_USED@- | OSLWCDiskSizeLargerThanImageSize- -- ^ @DISK_SIZE_LARGER_THAN_IMAGE_SIZE@- | OSLWCInjectedKernelsDeprecated- -- ^ @INJECTED_KERNELS_DEPRECATED@- | OSLWCNextHopAddressNotAssigned- -- ^ @NEXT_HOP_ADDRESS_NOT_ASSIGNED@- | OSLWCNextHopCannotIPForward- -- ^ @NEXT_HOP_CANNOT_IP_FORWARD@- | OSLWCNextHopInstanceNotFound- -- ^ @NEXT_HOP_INSTANCE_NOT_FOUND@- | OSLWCNextHopInstanceNotOnNetwork- -- ^ @NEXT_HOP_INSTANCE_NOT_ON_NETWORK@- | OSLWCNextHopNotRunning- -- ^ @NEXT_HOP_NOT_RUNNING@- | OSLWCNotCriticalError- -- ^ @NOT_CRITICAL_ERROR@- | OSLWCNoResultsOnPage- -- ^ @NO_RESULTS_ON_PAGE@- | OSLWCRequiredTosAgreement- -- ^ @REQUIRED_TOS_AGREEMENT@- | OSLWCResourceNotDeleted- -- ^ @RESOURCE_NOT_DELETED@- | OSLWCSingleInstancePropertyTemplate- -- ^ @SINGLE_INSTANCE_PROPERTY_TEMPLATE@- | OSLWCUnreachable- -- ^ @UNREACHABLE@- deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)--instance Hashable OperationsScopedListWarningCode--instance FromText OperationsScopedListWarningCode where- fromText = \case- "DEPRECATED_RESOURCE_USED" -> Just OSLWCDeprecatedResourceUsed- "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" -> Just OSLWCDiskSizeLargerThanImageSize- "INJECTED_KERNELS_DEPRECATED" -> Just OSLWCInjectedKernelsDeprecated- "NEXT_HOP_ADDRESS_NOT_ASSIGNED" -> Just OSLWCNextHopAddressNotAssigned- "NEXT_HOP_CANNOT_IP_FORWARD" -> Just OSLWCNextHopCannotIPForward- "NEXT_HOP_INSTANCE_NOT_FOUND" -> Just OSLWCNextHopInstanceNotFound- "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" -> Just OSLWCNextHopInstanceNotOnNetwork- "NEXT_HOP_NOT_RUNNING" -> Just OSLWCNextHopNotRunning- "NOT_CRITICAL_ERROR" -> Just OSLWCNotCriticalError- "NO_RESULTS_ON_PAGE" -> Just OSLWCNoResultsOnPage- "REQUIRED_TOS_AGREEMENT" -> Just OSLWCRequiredTosAgreement- "RESOURCE_NOT_DELETED" -> Just OSLWCResourceNotDeleted- "SINGLE_INSTANCE_PROPERTY_TEMPLATE" -> Just OSLWCSingleInstancePropertyTemplate- "UNREACHABLE" -> Just OSLWCUnreachable- _ -> Nothing--instance ToText OperationsScopedListWarningCode where- toText = \case- OSLWCDeprecatedResourceUsed -> "DEPRECATED_RESOURCE_USED"- OSLWCDiskSizeLargerThanImageSize -> "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"- OSLWCInjectedKernelsDeprecated -> "INJECTED_KERNELS_DEPRECATED"- OSLWCNextHopAddressNotAssigned -> "NEXT_HOP_ADDRESS_NOT_ASSIGNED"- OSLWCNextHopCannotIPForward -> "NEXT_HOP_CANNOT_IP_FORWARD"- OSLWCNextHopInstanceNotFound -> "NEXT_HOP_INSTANCE_NOT_FOUND"- OSLWCNextHopInstanceNotOnNetwork -> "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"- OSLWCNextHopNotRunning -> "NEXT_HOP_NOT_RUNNING"- OSLWCNotCriticalError -> "NOT_CRITICAL_ERROR"- OSLWCNoResultsOnPage -> "NO_RESULTS_ON_PAGE"- OSLWCRequiredTosAgreement -> "REQUIRED_TOS_AGREEMENT"- OSLWCResourceNotDeleted -> "RESOURCE_NOT_DELETED"- OSLWCSingleInstancePropertyTemplate -> "SINGLE_INSTANCE_PROPERTY_TEMPLATE"- OSLWCUnreachable -> "UNREACHABLE"--instance FromJSON OperationsScopedListWarningCode where- parseJSON = parseJSONText "OperationsScopedListWarningCode"--instance ToJSON OperationsScopedListWarningCode where- toJSON = toJSONText---- | [Output Only] The warning type identifier for this warning.-data DisksScopedListWarningCode- = DSLWCDeprecatedResourceUsed- -- ^ @DEPRECATED_RESOURCE_USED@- | DSLWCDiskSizeLargerThanImageSize- -- ^ @DISK_SIZE_LARGER_THAN_IMAGE_SIZE@- | DSLWCInjectedKernelsDeprecated- -- ^ @INJECTED_KERNELS_DEPRECATED@- | DSLWCNextHopAddressNotAssigned- -- ^ @NEXT_HOP_ADDRESS_NOT_ASSIGNED@- | DSLWCNextHopCannotIPForward- -- ^ @NEXT_HOP_CANNOT_IP_FORWARD@- | DSLWCNextHopInstanceNotFound- -- ^ @NEXT_HOP_INSTANCE_NOT_FOUND@- | DSLWCNextHopInstanceNotOnNetwork- -- ^ @NEXT_HOP_INSTANCE_NOT_ON_NETWORK@- | DSLWCNextHopNotRunning- -- ^ @NEXT_HOP_NOT_RUNNING@- | DSLWCNotCriticalError- -- ^ @NOT_CRITICAL_ERROR@- | DSLWCNoResultsOnPage- -- ^ @NO_RESULTS_ON_PAGE@- | DSLWCRequiredTosAgreement- -- ^ @REQUIRED_TOS_AGREEMENT@- | DSLWCResourceNotDeleted- -- ^ @RESOURCE_NOT_DELETED@- | DSLWCSingleInstancePropertyTemplate- -- ^ @SINGLE_INSTANCE_PROPERTY_TEMPLATE@- | DSLWCUnreachable- -- ^ @UNREACHABLE@- deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)--instance Hashable DisksScopedListWarningCode--instance FromText DisksScopedListWarningCode where- fromText = \case- "DEPRECATED_RESOURCE_USED" -> Just DSLWCDeprecatedResourceUsed- "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" -> Just DSLWCDiskSizeLargerThanImageSize- "INJECTED_KERNELS_DEPRECATED" -> Just DSLWCInjectedKernelsDeprecated- "NEXT_HOP_ADDRESS_NOT_ASSIGNED" -> Just DSLWCNextHopAddressNotAssigned- "NEXT_HOP_CANNOT_IP_FORWARD" -> Just DSLWCNextHopCannotIPForward- "NEXT_HOP_INSTANCE_NOT_FOUND" -> Just DSLWCNextHopInstanceNotFound- "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" -> Just DSLWCNextHopInstanceNotOnNetwork- "NEXT_HOP_NOT_RUNNING" -> Just DSLWCNextHopNotRunning- "NOT_CRITICAL_ERROR" -> Just DSLWCNotCriticalError- "NO_RESULTS_ON_PAGE" -> Just DSLWCNoResultsOnPage- "REQUIRED_TOS_AGREEMENT" -> Just DSLWCRequiredTosAgreement- "RESOURCE_NOT_DELETED" -> Just DSLWCResourceNotDeleted- "SINGLE_INSTANCE_PROPERTY_TEMPLATE" -> Just DSLWCSingleInstancePropertyTemplate- "UNREACHABLE" -> Just DSLWCUnreachable- _ -> Nothing--instance ToText DisksScopedListWarningCode where- toText = \case- DSLWCDeprecatedResourceUsed -> "DEPRECATED_RESOURCE_USED"- DSLWCDiskSizeLargerThanImageSize -> "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"- DSLWCInjectedKernelsDeprecated -> "INJECTED_KERNELS_DEPRECATED"- DSLWCNextHopAddressNotAssigned -> "NEXT_HOP_ADDRESS_NOT_ASSIGNED"- DSLWCNextHopCannotIPForward -> "NEXT_HOP_CANNOT_IP_FORWARD"- DSLWCNextHopInstanceNotFound -> "NEXT_HOP_INSTANCE_NOT_FOUND"- DSLWCNextHopInstanceNotOnNetwork -> "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"- DSLWCNextHopNotRunning -> "NEXT_HOP_NOT_RUNNING"- DSLWCNotCriticalError -> "NOT_CRITICAL_ERROR"- DSLWCNoResultsOnPage -> "NO_RESULTS_ON_PAGE"- DSLWCRequiredTosAgreement -> "REQUIRED_TOS_AGREEMENT"- DSLWCResourceNotDeleted -> "RESOURCE_NOT_DELETED"- DSLWCSingleInstancePropertyTemplate -> "SINGLE_INSTANCE_PROPERTY_TEMPLATE"- DSLWCUnreachable -> "UNREACHABLE"--instance FromJSON DisksScopedListWarningCode where- parseJSON = parseJSONText "DisksScopedListWarningCode"--instance ToJSON DisksScopedListWarningCode where- toJSON = toJSONText---- | [Output Only] The warning type identifier for this warning.-data InstanceGroupManagersScopedListWarningCode- = IGMSLWCDeprecatedResourceUsed- -- ^ @DEPRECATED_RESOURCE_USED@- | IGMSLWCDiskSizeLargerThanImageSize- -- ^ @DISK_SIZE_LARGER_THAN_IMAGE_SIZE@- | IGMSLWCInjectedKernelsDeprecated- -- ^ @INJECTED_KERNELS_DEPRECATED@- | IGMSLWCNextHopAddressNotAssigned- -- ^ @NEXT_HOP_ADDRESS_NOT_ASSIGNED@- | IGMSLWCNextHopCannotIPForward- -- ^ @NEXT_HOP_CANNOT_IP_FORWARD@- | IGMSLWCNextHopInstanceNotFound- -- ^ @NEXT_HOP_INSTANCE_NOT_FOUND@- | IGMSLWCNextHopInstanceNotOnNetwork- -- ^ @NEXT_HOP_INSTANCE_NOT_ON_NETWORK@- | IGMSLWCNextHopNotRunning- -- ^ @NEXT_HOP_NOT_RUNNING@- | IGMSLWCNotCriticalError- -- ^ @NOT_CRITICAL_ERROR@- | IGMSLWCNoResultsOnPage- -- ^ @NO_RESULTS_ON_PAGE@- | IGMSLWCRequiredTosAgreement- -- ^ @REQUIRED_TOS_AGREEMENT@- | IGMSLWCResourceNotDeleted- -- ^ @RESOURCE_NOT_DELETED@- | IGMSLWCSingleInstancePropertyTemplate- -- ^ @SINGLE_INSTANCE_PROPERTY_TEMPLATE@- | IGMSLWCUnreachable- -- ^ @UNREACHABLE@- deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)--instance Hashable InstanceGroupManagersScopedListWarningCode--instance FromText InstanceGroupManagersScopedListWarningCode where- fromText = \case- "DEPRECATED_RESOURCE_USED" -> Just IGMSLWCDeprecatedResourceUsed- "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" -> Just IGMSLWCDiskSizeLargerThanImageSize- "INJECTED_KERNELS_DEPRECATED" -> Just IGMSLWCInjectedKernelsDeprecated- "NEXT_HOP_ADDRESS_NOT_ASSIGNED" -> Just IGMSLWCNextHopAddressNotAssigned- "NEXT_HOP_CANNOT_IP_FORWARD" -> Just IGMSLWCNextHopCannotIPForward- "NEXT_HOP_INSTANCE_NOT_FOUND" -> Just IGMSLWCNextHopInstanceNotFound- "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" -> Just IGMSLWCNextHopInstanceNotOnNetwork- "NEXT_HOP_NOT_RUNNING" -> Just IGMSLWCNextHopNotRunning- "NOT_CRITICAL_ERROR" -> Just IGMSLWCNotCriticalError- "NO_RESULTS_ON_PAGE" -> Just IGMSLWCNoResultsOnPage- "REQUIRED_TOS_AGREEMENT" -> Just IGMSLWCRequiredTosAgreement- "RESOURCE_NOT_DELETED" -> Just IGMSLWCResourceNotDeleted- "SINGLE_INSTANCE_PROPERTY_TEMPLATE" -> Just IGMSLWCSingleInstancePropertyTemplate- "UNREACHABLE" -> Just IGMSLWCUnreachable- _ -> Nothing--instance ToText InstanceGroupManagersScopedListWarningCode where- toText = \case- IGMSLWCDeprecatedResourceUsed -> "DEPRECATED_RESOURCE_USED"- IGMSLWCDiskSizeLargerThanImageSize -> "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"- IGMSLWCInjectedKernelsDeprecated -> "INJECTED_KERNELS_DEPRECATED"- IGMSLWCNextHopAddressNotAssigned -> "NEXT_HOP_ADDRESS_NOT_ASSIGNED"- IGMSLWCNextHopCannotIPForward -> "NEXT_HOP_CANNOT_IP_FORWARD"- IGMSLWCNextHopInstanceNotFound -> "NEXT_HOP_INSTANCE_NOT_FOUND"- IGMSLWCNextHopInstanceNotOnNetwork -> "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"- IGMSLWCNextHopNotRunning -> "NEXT_HOP_NOT_RUNNING"- IGMSLWCNotCriticalError -> "NOT_CRITICAL_ERROR"- IGMSLWCNoResultsOnPage -> "NO_RESULTS_ON_PAGE"- IGMSLWCRequiredTosAgreement -> "REQUIRED_TOS_AGREEMENT"- IGMSLWCResourceNotDeleted -> "RESOURCE_NOT_DELETED"- IGMSLWCSingleInstancePropertyTemplate -> "SINGLE_INSTANCE_PROPERTY_TEMPLATE"- IGMSLWCUnreachable -> "UNREACHABLE"--instance FromJSON InstanceGroupManagersScopedListWarningCode where- parseJSON = parseJSONText "InstanceGroupManagersScopedListWarningCode"--instance ToJSON InstanceGroupManagersScopedListWarningCode where- toJSON = toJSONText---- | [Output Only] The warning type identifier for this warning.-data TargetPoolsScopedListWarningCode- = TPSLWCDeprecatedResourceUsed- -- ^ @DEPRECATED_RESOURCE_USED@- | TPSLWCDiskSizeLargerThanImageSize- -- ^ @DISK_SIZE_LARGER_THAN_IMAGE_SIZE@- | TPSLWCInjectedKernelsDeprecated- -- ^ @INJECTED_KERNELS_DEPRECATED@- | TPSLWCNextHopAddressNotAssigned- -- ^ @NEXT_HOP_ADDRESS_NOT_ASSIGNED@- | TPSLWCNextHopCannotIPForward- -- ^ @NEXT_HOP_CANNOT_IP_FORWARD@- | TPSLWCNextHopInstanceNotFound- -- ^ @NEXT_HOP_INSTANCE_NOT_FOUND@- | TPSLWCNextHopInstanceNotOnNetwork- -- ^ @NEXT_HOP_INSTANCE_NOT_ON_NETWORK@- | TPSLWCNextHopNotRunning- -- ^ @NEXT_HOP_NOT_RUNNING@- | TPSLWCNotCriticalError- -- ^ @NOT_CRITICAL_ERROR@- | TPSLWCNoResultsOnPage- -- ^ @NO_RESULTS_ON_PAGE@- | TPSLWCRequiredTosAgreement- -- ^ @REQUIRED_TOS_AGREEMENT@- | TPSLWCResourceNotDeleted- -- ^ @RESOURCE_NOT_DELETED@- | TPSLWCSingleInstancePropertyTemplate- -- ^ @SINGLE_INSTANCE_PROPERTY_TEMPLATE@- | TPSLWCUnreachable- -- ^ @UNREACHABLE@- deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)--instance Hashable TargetPoolsScopedListWarningCode--instance FromText TargetPoolsScopedListWarningCode where- fromText = \case- "DEPRECATED_RESOURCE_USED" -> Just TPSLWCDeprecatedResourceUsed- "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" -> Just TPSLWCDiskSizeLargerThanImageSize- "INJECTED_KERNELS_DEPRECATED" -> Just TPSLWCInjectedKernelsDeprecated- "NEXT_HOP_ADDRESS_NOT_ASSIGNED" -> Just TPSLWCNextHopAddressNotAssigned- "NEXT_HOP_CANNOT_IP_FORWARD" -> Just TPSLWCNextHopCannotIPForward- "NEXT_HOP_INSTANCE_NOT_FOUND" -> Just TPSLWCNextHopInstanceNotFound- "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" -> Just TPSLWCNextHopInstanceNotOnNetwork- "NEXT_HOP_NOT_RUNNING" -> Just TPSLWCNextHopNotRunning- "NOT_CRITICAL_ERROR" -> Just TPSLWCNotCriticalError- "NO_RESULTS_ON_PAGE" -> Just TPSLWCNoResultsOnPage- "REQUIRED_TOS_AGREEMENT" -> Just TPSLWCRequiredTosAgreement- "RESOURCE_NOT_DELETED" -> Just TPSLWCResourceNotDeleted- "SINGLE_INSTANCE_PROPERTY_TEMPLATE" -> Just TPSLWCSingleInstancePropertyTemplate- "UNREACHABLE" -> Just TPSLWCUnreachable- _ -> Nothing--instance ToText TargetPoolsScopedListWarningCode where- toText = \case- TPSLWCDeprecatedResourceUsed -> "DEPRECATED_RESOURCE_USED"- TPSLWCDiskSizeLargerThanImageSize -> "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"- TPSLWCInjectedKernelsDeprecated -> "INJECTED_KERNELS_DEPRECATED"- TPSLWCNextHopAddressNotAssigned -> "NEXT_HOP_ADDRESS_NOT_ASSIGNED"- TPSLWCNextHopCannotIPForward -> "NEXT_HOP_CANNOT_IP_FORWARD"- TPSLWCNextHopInstanceNotFound -> "NEXT_HOP_INSTANCE_NOT_FOUND"- TPSLWCNextHopInstanceNotOnNetwork -> "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"- TPSLWCNextHopNotRunning -> "NEXT_HOP_NOT_RUNNING"- TPSLWCNotCriticalError -> "NOT_CRITICAL_ERROR"- TPSLWCNoResultsOnPage -> "NO_RESULTS_ON_PAGE"- TPSLWCRequiredTosAgreement -> "REQUIRED_TOS_AGREEMENT"- TPSLWCResourceNotDeleted -> "RESOURCE_NOT_DELETED"- TPSLWCSingleInstancePropertyTemplate -> "SINGLE_INSTANCE_PROPERTY_TEMPLATE"- TPSLWCUnreachable -> "UNREACHABLE"--instance FromJSON TargetPoolsScopedListWarningCode where- parseJSON = parseJSONText "TargetPoolsScopedListWarningCode"--instance ToJSON TargetPoolsScopedListWarningCode where- toJSON = toJSONText---- | [Output Only] The status of the VPN gateway.-data TargetVPNGatewayStatus- = Creating- -- ^ @CREATING@- | Deleting- -- ^ @DELETING@- | Failed- -- ^ @FAILED@- | Ready- -- ^ @READY@- deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)--instance Hashable TargetVPNGatewayStatus--instance FromText TargetVPNGatewayStatus where- fromText = \case- "CREATING" -> Just Creating- "DELETING" -> Just Deleting- "FAILED" -> Just Failed- "READY" -> Just Ready- _ -> Nothing--instance ToText TargetVPNGatewayStatus where- toText = \case- Creating -> "CREATING"- Deleting -> "DELETING"- Failed -> "FAILED"- Ready -> "READY"--instance FromJSON TargetVPNGatewayStatus where- parseJSON = parseJSONText "TargetVPNGatewayStatus"--instance ToJSON TargetVPNGatewayStatus where- toJSON = toJSONText---- | [Output Only] The status of the snapshot.-data SnapshotStatus- = SSCreating- -- ^ @CREATING@- | SSDeleting- -- ^ @DELETING@- | SSFailed- -- ^ @FAILED@- | SSReady- -- ^ @READY@- | SSUploading- -- ^ @UPLOADING@- deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)--instance Hashable SnapshotStatus--instance FromText SnapshotStatus where- fromText = \case- "CREATING" -> Just SSCreating- "DELETING" -> Just SSDeleting- "FAILED" -> Just SSFailed- "READY" -> Just SSReady- "UPLOADING" -> Just SSUploading- _ -> Nothing--instance ToText SnapshotStatus where- toText = \case- SSCreating -> "CREATING"- SSDeleting -> "DELETING"- SSFailed -> "FAILED"- SSReady -> "READY"- SSUploading -> "UPLOADING"--instance FromJSON SnapshotStatus where- parseJSON = parseJSONText "SnapshotStatus"--instance ToJSON SnapshotStatus where- toJSON = toJSONText---- | [Output Only] The warning type identifier for this warning.-data TargetInstancesScopedListWarningCode- = TISLWCDeprecatedResourceUsed- -- ^ @DEPRECATED_RESOURCE_USED@- | TISLWCDiskSizeLargerThanImageSize- -- ^ @DISK_SIZE_LARGER_THAN_IMAGE_SIZE@- | TISLWCInjectedKernelsDeprecated- -- ^ @INJECTED_KERNELS_DEPRECATED@- | TISLWCNextHopAddressNotAssigned- -- ^ @NEXT_HOP_ADDRESS_NOT_ASSIGNED@- | TISLWCNextHopCannotIPForward- -- ^ @NEXT_HOP_CANNOT_IP_FORWARD@- | TISLWCNextHopInstanceNotFound- -- ^ @NEXT_HOP_INSTANCE_NOT_FOUND@- | TISLWCNextHopInstanceNotOnNetwork- -- ^ @NEXT_HOP_INSTANCE_NOT_ON_NETWORK@- | TISLWCNextHopNotRunning- -- ^ @NEXT_HOP_NOT_RUNNING@- | TISLWCNotCriticalError- -- ^ @NOT_CRITICAL_ERROR@- | TISLWCNoResultsOnPage- -- ^ @NO_RESULTS_ON_PAGE@- | TISLWCRequiredTosAgreement- -- ^ @REQUIRED_TOS_AGREEMENT@- | TISLWCResourceNotDeleted- -- ^ @RESOURCE_NOT_DELETED@- | TISLWCSingleInstancePropertyTemplate- -- ^ @SINGLE_INSTANCE_PROPERTY_TEMPLATE@- | TISLWCUnreachable- -- ^ @UNREACHABLE@- deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)--instance Hashable TargetInstancesScopedListWarningCode--instance FromText TargetInstancesScopedListWarningCode where- fromText = \case- "DEPRECATED_RESOURCE_USED" -> Just TISLWCDeprecatedResourceUsed- "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" -> Just TISLWCDiskSizeLargerThanImageSize- "INJECTED_KERNELS_DEPRECATED" -> Just TISLWCInjectedKernelsDeprecated- "NEXT_HOP_ADDRESS_NOT_ASSIGNED" -> Just TISLWCNextHopAddressNotAssigned- "NEXT_HOP_CANNOT_IP_FORWARD" -> Just TISLWCNextHopCannotIPForward- "NEXT_HOP_INSTANCE_NOT_FOUND" -> Just TISLWCNextHopInstanceNotFound- "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" -> Just TISLWCNextHopInstanceNotOnNetwork- "NEXT_HOP_NOT_RUNNING" -> Just TISLWCNextHopNotRunning- "NOT_CRITICAL_ERROR" -> Just TISLWCNotCriticalError- "NO_RESULTS_ON_PAGE" -> Just TISLWCNoResultsOnPage- "REQUIRED_TOS_AGREEMENT" -> Just TISLWCRequiredTosAgreement- "RESOURCE_NOT_DELETED" -> Just TISLWCResourceNotDeleted- "SINGLE_INSTANCE_PROPERTY_TEMPLATE" -> Just TISLWCSingleInstancePropertyTemplate- "UNREACHABLE" -> Just TISLWCUnreachable- _ -> Nothing--instance ToText TargetInstancesScopedListWarningCode where- toText = \case- TISLWCDeprecatedResourceUsed -> "DEPRECATED_RESOURCE_USED"- TISLWCDiskSizeLargerThanImageSize -> "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"- TISLWCInjectedKernelsDeprecated -> "INJECTED_KERNELS_DEPRECATED"- TISLWCNextHopAddressNotAssigned -> "NEXT_HOP_ADDRESS_NOT_ASSIGNED"- TISLWCNextHopCannotIPForward -> "NEXT_HOP_CANNOT_IP_FORWARD"- TISLWCNextHopInstanceNotFound -> "NEXT_HOP_INSTANCE_NOT_FOUND"- TISLWCNextHopInstanceNotOnNetwork -> "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"- TISLWCNextHopNotRunning -> "NEXT_HOP_NOT_RUNNING"- TISLWCNotCriticalError -> "NOT_CRITICAL_ERROR"- TISLWCNoResultsOnPage -> "NO_RESULTS_ON_PAGE"- TISLWCRequiredTosAgreement -> "REQUIRED_TOS_AGREEMENT"- TISLWCResourceNotDeleted -> "RESOURCE_NOT_DELETED"- TISLWCSingleInstancePropertyTemplate -> "SINGLE_INSTANCE_PROPERTY_TEMPLATE"- TISLWCUnreachable -> "UNREACHABLE"--instance FromJSON TargetInstancesScopedListWarningCode where- parseJSON = parseJSONText "TargetInstancesScopedListWarningCode"--instance ToJSON TargetInstancesScopedListWarningCode where- toJSON = toJSONText---- | [Output Only] The warning type identifier for this warning.-data RouteWarningsItemCode- = RWICDeprecatedResourceUsed- -- ^ @DEPRECATED_RESOURCE_USED@- | RWICDiskSizeLargerThanImageSize- -- ^ @DISK_SIZE_LARGER_THAN_IMAGE_SIZE@- | RWICInjectedKernelsDeprecated- -- ^ @INJECTED_KERNELS_DEPRECATED@- | RWICNextHopAddressNotAssigned- -- ^ @NEXT_HOP_ADDRESS_NOT_ASSIGNED@- | RWICNextHopCannotIPForward- -- ^ @NEXT_HOP_CANNOT_IP_FORWARD@- | RWICNextHopInstanceNotFound- -- ^ @NEXT_HOP_INSTANCE_NOT_FOUND@- | RWICNextHopInstanceNotOnNetwork- -- ^ @NEXT_HOP_INSTANCE_NOT_ON_NETWORK@- | RWICNextHopNotRunning- -- ^ @NEXT_HOP_NOT_RUNNING@- | RWICNotCriticalError- -- ^ @NOT_CRITICAL_ERROR@- | RWICNoResultsOnPage- -- ^ @NO_RESULTS_ON_PAGE@- | RWICRequiredTosAgreement- -- ^ @REQUIRED_TOS_AGREEMENT@- | RWICResourceNotDeleted- -- ^ @RESOURCE_NOT_DELETED@- | RWICSingleInstancePropertyTemplate- -- ^ @SINGLE_INSTANCE_PROPERTY_TEMPLATE@- | RWICUnreachable- -- ^ @UNREACHABLE@- deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)--instance Hashable RouteWarningsItemCode--instance FromText RouteWarningsItemCode where- fromText = \case- "DEPRECATED_RESOURCE_USED" -> Just RWICDeprecatedResourceUsed- "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" -> Just RWICDiskSizeLargerThanImageSize- "INJECTED_KERNELS_DEPRECATED" -> Just RWICInjectedKernelsDeprecated- "NEXT_HOP_ADDRESS_NOT_ASSIGNED" -> Just RWICNextHopAddressNotAssigned- "NEXT_HOP_CANNOT_IP_FORWARD" -> Just RWICNextHopCannotIPForward- "NEXT_HOP_INSTANCE_NOT_FOUND" -> Just RWICNextHopInstanceNotFound- "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" -> Just RWICNextHopInstanceNotOnNetwork- "NEXT_HOP_NOT_RUNNING" -> Just RWICNextHopNotRunning- "NOT_CRITICAL_ERROR" -> Just RWICNotCriticalError- "NO_RESULTS_ON_PAGE" -> Just RWICNoResultsOnPage- "REQUIRED_TOS_AGREEMENT" -> Just RWICRequiredTosAgreement- "RESOURCE_NOT_DELETED" -> Just RWICResourceNotDeleted- "SINGLE_INSTANCE_PROPERTY_TEMPLATE" -> Just RWICSingleInstancePropertyTemplate- "UNREACHABLE" -> Just RWICUnreachable- _ -> Nothing--instance ToText RouteWarningsItemCode where- toText = \case- RWICDeprecatedResourceUsed -> "DEPRECATED_RESOURCE_USED"- RWICDiskSizeLargerThanImageSize -> "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"- RWICInjectedKernelsDeprecated -> "INJECTED_KERNELS_DEPRECATED"- RWICNextHopAddressNotAssigned -> "NEXT_HOP_ADDRESS_NOT_ASSIGNED"- RWICNextHopCannotIPForward -> "NEXT_HOP_CANNOT_IP_FORWARD"- RWICNextHopInstanceNotFound -> "NEXT_HOP_INSTANCE_NOT_FOUND"- RWICNextHopInstanceNotOnNetwork -> "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"- RWICNextHopNotRunning -> "NEXT_HOP_NOT_RUNNING"- RWICNotCriticalError -> "NOT_CRITICAL_ERROR"- RWICNoResultsOnPage -> "NO_RESULTS_ON_PAGE"- RWICRequiredTosAgreement -> "REQUIRED_TOS_AGREEMENT"- RWICResourceNotDeleted -> "RESOURCE_NOT_DELETED"- RWICSingleInstancePropertyTemplate -> "SINGLE_INSTANCE_PROPERTY_TEMPLATE"- RWICUnreachable -> "UNREACHABLE"--instance FromJSON RouteWarningsItemCode where- parseJSON = parseJSONText "RouteWarningsItemCode"--instance ToJSON RouteWarningsItemCode where- toJSON = toJSONText---- | [Output Only] An indicator whether storageBytes is in a stable state or--- it is being adjusted as a result of shared storage reallocation.-data SnapshotStorageBytesStatus- = Updating- -- ^ @UPDATING@- | UpToDate- -- ^ @UP_TO_DATE@- deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)--instance Hashable SnapshotStorageBytesStatus--instance FromText SnapshotStorageBytesStatus where- fromText = \case- "UPDATING" -> Just Updating- "UP_TO_DATE" -> Just UpToDate- _ -> Nothing--instance ToText SnapshotStorageBytesStatus where- toText = \case- Updating -> "UPDATING"- UpToDate -> "UP_TO_DATE"--instance FromJSON SnapshotStorageBytesStatus where- parseJSON = parseJSONText "SnapshotStorageBytesStatus"--instance ToJSON SnapshotStorageBytesStatus where- toJSON = toJSONText---- | [Output Only] The warning type identifier for this warning.-data AddressesScopedListWarningCode- = ASLWCDeprecatedResourceUsed- -- ^ @DEPRECATED_RESOURCE_USED@- | ASLWCDiskSizeLargerThanImageSize- -- ^ @DISK_SIZE_LARGER_THAN_IMAGE_SIZE@- | ASLWCInjectedKernelsDeprecated- -- ^ @INJECTED_KERNELS_DEPRECATED@- | ASLWCNextHopAddressNotAssigned- -- ^ @NEXT_HOP_ADDRESS_NOT_ASSIGNED@- | ASLWCNextHopCannotIPForward- -- ^ @NEXT_HOP_CANNOT_IP_FORWARD@- | ASLWCNextHopInstanceNotFound- -- ^ @NEXT_HOP_INSTANCE_NOT_FOUND@- | ASLWCNextHopInstanceNotOnNetwork- -- ^ @NEXT_HOP_INSTANCE_NOT_ON_NETWORK@- | ASLWCNextHopNotRunning- -- ^ @NEXT_HOP_NOT_RUNNING@- | ASLWCNotCriticalError- -- ^ @NOT_CRITICAL_ERROR@- | ASLWCNoResultsOnPage- -- ^ @NO_RESULTS_ON_PAGE@- | ASLWCRequiredTosAgreement- -- ^ @REQUIRED_TOS_AGREEMENT@- | ASLWCResourceNotDeleted- -- ^ @RESOURCE_NOT_DELETED@- | ASLWCSingleInstancePropertyTemplate- -- ^ @SINGLE_INSTANCE_PROPERTY_TEMPLATE@- | ASLWCUnreachable- -- ^ @UNREACHABLE@- deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)--instance Hashable AddressesScopedListWarningCode--instance FromText AddressesScopedListWarningCode where- fromText = \case- "DEPRECATED_RESOURCE_USED" -> Just ASLWCDeprecatedResourceUsed- "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" -> Just ASLWCDiskSizeLargerThanImageSize- "INJECTED_KERNELS_DEPRECATED" -> Just ASLWCInjectedKernelsDeprecated- "NEXT_HOP_ADDRESS_NOT_ASSIGNED" -> Just ASLWCNextHopAddressNotAssigned- "NEXT_HOP_CANNOT_IP_FORWARD" -> Just ASLWCNextHopCannotIPForward- "NEXT_HOP_INSTANCE_NOT_FOUND" -> Just ASLWCNextHopInstanceNotFound- "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" -> Just ASLWCNextHopInstanceNotOnNetwork- "NEXT_HOP_NOT_RUNNING" -> Just ASLWCNextHopNotRunning- "NOT_CRITICAL_ERROR" -> Just ASLWCNotCriticalError- "NO_RESULTS_ON_PAGE" -> Just ASLWCNoResultsOnPage- "REQUIRED_TOS_AGREEMENT" -> Just ASLWCRequiredTosAgreement- "RESOURCE_NOT_DELETED" -> Just ASLWCResourceNotDeleted- "SINGLE_INSTANCE_PROPERTY_TEMPLATE" -> Just ASLWCSingleInstancePropertyTemplate- "UNREACHABLE" -> Just ASLWCUnreachable- _ -> Nothing--instance ToText AddressesScopedListWarningCode where- toText = \case- ASLWCDeprecatedResourceUsed -> "DEPRECATED_RESOURCE_USED"- ASLWCDiskSizeLargerThanImageSize -> "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"- ASLWCInjectedKernelsDeprecated -> "INJECTED_KERNELS_DEPRECATED"- ASLWCNextHopAddressNotAssigned -> "NEXT_HOP_ADDRESS_NOT_ASSIGNED"- ASLWCNextHopCannotIPForward -> "NEXT_HOP_CANNOT_IP_FORWARD"- ASLWCNextHopInstanceNotFound -> "NEXT_HOP_INSTANCE_NOT_FOUND"- ASLWCNextHopInstanceNotOnNetwork -> "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"- ASLWCNextHopNotRunning -> "NEXT_HOP_NOT_RUNNING"- ASLWCNotCriticalError -> "NOT_CRITICAL_ERROR"- ASLWCNoResultsOnPage -> "NO_RESULTS_ON_PAGE"- ASLWCRequiredTosAgreement -> "REQUIRED_TOS_AGREEMENT"- ASLWCResourceNotDeleted -> "RESOURCE_NOT_DELETED"- ASLWCSingleInstancePropertyTemplate -> "SINGLE_INSTANCE_PROPERTY_TEMPLATE"- ASLWCUnreachable -> "UNREACHABLE"--instance FromJSON AddressesScopedListWarningCode where- parseJSON = parseJSONText "AddressesScopedListWarningCode"--instance ToJSON AddressesScopedListWarningCode where- toJSON = toJSONText---- | [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.-data ImageStatus- = ISFailed- -- ^ @FAILED@- | ISPending- -- ^ @PENDING@- | ISReady- -- ^ @READY@- deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)--instance Hashable ImageStatus--instance FromText ImageStatus where- fromText = \case- "FAILED" -> Just ISFailed- "PENDING" -> Just ISPending- "READY" -> Just ISReady- _ -> Nothing--instance ToText ImageStatus where- toText = \case- ISFailed -> "FAILED"- ISPending -> "PENDING"- ISReady -> "READY"--instance FromJSON ImageStatus where- parseJSON = parseJSONText "ImageStatus"--instance ToJSON ImageStatus where- toJSON = toJSONText---- | Health state of the instance.-data HealthStatusHealthState- = Healthy- -- ^ @HEALTHY@- | Unhealthy- -- ^ @UNHEALTHY@- deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)--instance Hashable HealthStatusHealthState--instance FromText HealthStatusHealthState where- fromText = \case- "HEALTHY" -> Just Healthy- "UNHEALTHY" -> Just Unhealthy- _ -> Nothing--instance ToText HealthStatusHealthState where- toText = \case- Healthy -> "HEALTHY"- Unhealthy -> "UNHEALTHY"--instance FromJSON HealthStatusHealthState where- parseJSON = parseJSONText "HealthStatusHealthState"--instance ToJSON HealthStatusHealthState where- toJSON = toJSONText---- | 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.-data DeprecationStatusState- = Deleted- -- ^ @DELETED@- | Deprecated- -- ^ @DEPRECATED@- | Obsolete- -- ^ @OBSOLETE@- deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)--instance Hashable DeprecationStatusState--instance FromText DeprecationStatusState where- fromText = \case- "DELETED" -> Just Deleted- "DEPRECATED" -> Just Deprecated- "OBSOLETE" -> Just Obsolete- _ -> Nothing--instance ToText DeprecationStatusState where- toText = \case- Deleted -> "DELETED"- Deprecated -> "DEPRECATED"- Obsolete -> "OBSOLETE"--instance FromJSON DeprecationStatusState where- parseJSON = parseJSONText "DeprecationStatusState"--instance ToJSON DeprecationStatusState 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--- actions for this instance. - CREATING The managed instance group is--- creating this instance. - 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@- | MICADeleting- -- ^ @DELETING@- | MICANone- -- ^ @NONE@- | MICARecreating- -- ^ @RECREATING@- | MICARefreshing- -- ^ @REFRESHING@- | MICARestarting- -- ^ @RESTARTING@- deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)--instance Hashable ManagedInstanceCurrentAction--instance FromText ManagedInstanceCurrentAction where- fromText = \case- "ABANDONING" -> Just MICAAbandoning- "CREATING" -> Just MICACreating- "DELETING" -> Just MICADeleting- "NONE" -> Just MICANone- "RECREATING" -> Just MICARecreating- "REFRESHING" -> Just MICARefreshing- "RESTARTING" -> Just MICARestarting- _ -> Nothing--instance ToText ManagedInstanceCurrentAction where- toText = \case- MICAAbandoning -> "ABANDONING"- MICACreating -> "CREATING"- MICADeleting -> "DELETING"- MICANone -> "NONE"- MICARecreating -> "RECREATING"- MICARefreshing -> "REFRESHING"- MICARestarting -> "RESTARTING"--instance FromJSON ManagedInstanceCurrentAction where- parseJSON = parseJSONText "ManagedInstanceCurrentAction"--instance ToJSON ManagedInstanceCurrentAction where- toJSON = toJSONText---- | NAT option controlling how IPs are NAT\'ed to the instance. Currently--- only NO_NAT (default value) is supported.-data TargetInstanceNATPolicy- = NoNAT- -- ^ @NO_NAT@- deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)--instance Hashable TargetInstanceNATPolicy--instance FromText TargetInstanceNATPolicy where- fromText = \case- "NO_NAT" -> Just NoNAT- _ -> Nothing--instance ToText TargetInstanceNATPolicy where- toText = \case- NoNAT -> "NO_NAT"--instance FromJSON TargetInstanceNATPolicy where- parseJSON = parseJSONText "TargetInstanceNATPolicy"--instance ToJSON TargetInstanceNATPolicy where- toJSON = toJSONText---- | The type of configuration. The default and only option is--- ONE_TO_ONE_NAT.-data AccessConfigType- = OneToOneNAT- -- ^ @ONE_TO_ONE_NAT@- deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)--instance Hashable AccessConfigType--instance FromText AccessConfigType where- fromText = \case- "ONE_TO_ONE_NAT" -> Just OneToOneNAT- _ -> Nothing--instance ToText AccessConfigType where- toText = \case- OneToOneNAT -> "ONE_TO_ONE_NAT"--instance FromJSON AccessConfigType where- parseJSON = parseJSONText "AccessConfigType"--instance ToJSON AccessConfigType where- toJSON = toJSONText---- | [Output Only] Status of the operation. Can be one of the following:--- PENDING, RUNNING, or DONE.-data OperationStatus- = Done- -- ^ @DONE@- | Pending- -- ^ @PENDING@- | Running- -- ^ @RUNNING@- deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)--instance Hashable OperationStatus--instance FromText OperationStatus where- fromText = \case- "DONE" -> Just Done- "PENDING" -> Just Pending- "RUNNING" -> Just Running- _ -> Nothing--instance ToText OperationStatus where- toText = \case- Done -> "DONE"- Pending -> "PENDING"- Running -> "RUNNING"--instance FromJSON OperationStatus where- parseJSON = parseJSONText "OperationStatus"--instance ToJSON OperationStatus where- toJSON = toJSONText---- | [Output Only] The warning type identifier for this warning.-data TargetVPNGatewaysScopedListWarningCode- = TVGSLWCDeprecatedResourceUsed- -- ^ @DEPRECATED_RESOURCE_USED@- | TVGSLWCDiskSizeLargerThanImageSize- -- ^ @DISK_SIZE_LARGER_THAN_IMAGE_SIZE@- | TVGSLWCInjectedKernelsDeprecated- -- ^ @INJECTED_KERNELS_DEPRECATED@- | TVGSLWCNextHopAddressNotAssigned- -- ^ @NEXT_HOP_ADDRESS_NOT_ASSIGNED@- | TVGSLWCNextHopCannotIPForward- -- ^ @NEXT_HOP_CANNOT_IP_FORWARD@- | TVGSLWCNextHopInstanceNotFound- -- ^ @NEXT_HOP_INSTANCE_NOT_FOUND@- | TVGSLWCNextHopInstanceNotOnNetwork- -- ^ @NEXT_HOP_INSTANCE_NOT_ON_NETWORK@- | TVGSLWCNextHopNotRunning- -- ^ @NEXT_HOP_NOT_RUNNING@- | TVGSLWCNotCriticalError- -- ^ @NOT_CRITICAL_ERROR@- | TVGSLWCNoResultsOnPage- -- ^ @NO_RESULTS_ON_PAGE@- | TVGSLWCRequiredTosAgreement- -- ^ @REQUIRED_TOS_AGREEMENT@- | TVGSLWCResourceNotDeleted- -- ^ @RESOURCE_NOT_DELETED@- | TVGSLWCSingleInstancePropertyTemplate- -- ^ @SINGLE_INSTANCE_PROPERTY_TEMPLATE@- | TVGSLWCUnreachable- -- ^ @UNREACHABLE@- deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)--instance Hashable TargetVPNGatewaysScopedListWarningCode--instance FromText TargetVPNGatewaysScopedListWarningCode where- fromText = \case- "DEPRECATED_RESOURCE_USED" -> Just TVGSLWCDeprecatedResourceUsed- "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" -> Just TVGSLWCDiskSizeLargerThanImageSize- "INJECTED_KERNELS_DEPRECATED" -> Just TVGSLWCInjectedKernelsDeprecated- "NEXT_HOP_ADDRESS_NOT_ASSIGNED" -> Just TVGSLWCNextHopAddressNotAssigned- "NEXT_HOP_CANNOT_IP_FORWARD" -> Just TVGSLWCNextHopCannotIPForward- "NEXT_HOP_INSTANCE_NOT_FOUND" -> Just TVGSLWCNextHopInstanceNotFound- "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" -> Just TVGSLWCNextHopInstanceNotOnNetwork- "NEXT_HOP_NOT_RUNNING" -> Just TVGSLWCNextHopNotRunning- "NOT_CRITICAL_ERROR" -> Just TVGSLWCNotCriticalError- "NO_RESULTS_ON_PAGE" -> Just TVGSLWCNoResultsOnPage- "REQUIRED_TOS_AGREEMENT" -> Just TVGSLWCRequiredTosAgreement- "RESOURCE_NOT_DELETED" -> Just TVGSLWCResourceNotDeleted- "SINGLE_INSTANCE_PROPERTY_TEMPLATE" -> Just TVGSLWCSingleInstancePropertyTemplate- "UNREACHABLE" -> Just TVGSLWCUnreachable- _ -> Nothing--instance ToText TargetVPNGatewaysScopedListWarningCode where- toText = \case- TVGSLWCDeprecatedResourceUsed -> "DEPRECATED_RESOURCE_USED"- TVGSLWCDiskSizeLargerThanImageSize -> "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"- TVGSLWCInjectedKernelsDeprecated -> "INJECTED_KERNELS_DEPRECATED"- TVGSLWCNextHopAddressNotAssigned -> "NEXT_HOP_ADDRESS_NOT_ASSIGNED"- TVGSLWCNextHopCannotIPForward -> "NEXT_HOP_CANNOT_IP_FORWARD"- TVGSLWCNextHopInstanceNotFound -> "NEXT_HOP_INSTANCE_NOT_FOUND"- TVGSLWCNextHopInstanceNotOnNetwork -> "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"- TVGSLWCNextHopNotRunning -> "NEXT_HOP_NOT_RUNNING"- TVGSLWCNotCriticalError -> "NOT_CRITICAL_ERROR"- TVGSLWCNoResultsOnPage -> "NO_RESULTS_ON_PAGE"- TVGSLWCRequiredTosAgreement -> "REQUIRED_TOS_AGREEMENT"- TVGSLWCResourceNotDeleted -> "RESOURCE_NOT_DELETED"- TVGSLWCSingleInstancePropertyTemplate -> "SINGLE_INSTANCE_PROPERTY_TEMPLATE"- TVGSLWCUnreachable -> "UNREACHABLE"--instance FromJSON TargetVPNGatewaysScopedListWarningCode where- parseJSON = parseJSONText "TargetVPNGatewaysScopedListWarningCode"--instance ToJSON TargetVPNGatewaysScopedListWarningCode where- toJSON = toJSONText---- | [Output Only] The status of disk creation. Applicable statuses includes:--- CREATING, FAILED, READY, RESTORING.-data DiskStatus- = DSCreating- -- ^ @CREATING@- | DSFailed- -- ^ @FAILED@- | DSReady- -- ^ @READY@- | DSRestoring- -- ^ @RESTORING@- deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)--instance Hashable DiskStatus--instance FromText DiskStatus where- fromText = \case- "CREATING" -> Just DSCreating- "FAILED" -> Just DSFailed- "READY" -> Just DSReady- "RESTORING" -> Just DSRestoring- _ -> Nothing--instance ToText DiskStatus where- toText = \case- DSCreating -> "CREATING"- DSFailed -> "FAILED"- DSReady -> "READY"- DSRestoring -> "RESTORING"--instance FromJSON DiskStatus where- parseJSON = parseJSONText "DiskStatus"--instance ToJSON DiskStatus where- toJSON = toJSONText---- | [Output Only] The status of the instance. This field is empty when the--- instance does not exist.-data ManagedInstanceInstanceStatus- = MIISProvisioning- -- ^ @PROVISIONING@- | MIISRunning- -- ^ @RUNNING@- | MIISStaging- -- ^ @STAGING@- | MIISStopped- -- ^ @STOPPED@- | MIISStopping- -- ^ @STOPPING@- | MIISSuspended- -- ^ @SUSPENDED@- | MIISSuspending- -- ^ @SUSPENDING@- | MIISTerminated- -- ^ @TERMINATED@- deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)--instance Hashable ManagedInstanceInstanceStatus--instance FromText ManagedInstanceInstanceStatus where- fromText = \case- "PROVISIONING" -> Just MIISProvisioning- "RUNNING" -> Just MIISRunning- "STAGING" -> Just MIISStaging- "STOPPED" -> Just MIISStopped- "STOPPING" -> Just MIISStopping- "SUSPENDED" -> Just MIISSuspended- "SUSPENDING" -> Just MIISSuspending- "TERMINATED" -> Just MIISTerminated- _ -> Nothing--instance ToText ManagedInstanceInstanceStatus where- toText = \case- MIISProvisioning -> "PROVISIONING"- MIISRunning -> "RUNNING"- MIISStaging -> "STAGING"- MIISStopped -> "STOPPED"- MIISStopping -> "STOPPING"- MIISSuspended -> "SUSPENDED"- MIISSuspending -> "SUSPENDING"- MIISTerminated -> "TERMINATED"--instance FromJSON ManagedInstanceInstanceStatus where- parseJSON = parseJSONText "ManagedInstanceInstanceStatus"--instance ToJSON ManagedInstanceInstanceStatus where- toJSON = toJSONText---- | 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.-data AttachedDiskMode- = ReadOnly- -- ^ @READ_ONLY@- | ReadWrite- -- ^ @READ_WRITE@- deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)--instance Hashable AttachedDiskMode--instance FromText AttachedDiskMode where- fromText = \case- "READ_ONLY" -> Just ReadOnly- "READ_WRITE" -> Just ReadWrite- _ -> Nothing--instance ToText AttachedDiskMode where- toText = \case- ReadOnly -> "READ_ONLY"- ReadWrite -> "READ_WRITE"--instance FromJSON AttachedDiskMode where- parseJSON = parseJSONText "AttachedDiskMode"--instance ToJSON AttachedDiskMode where- toJSON = toJSONText---- | [Output Only] Status of the region, either UP or DOWN.-data RegionStatus- = Down- -- ^ @DOWN@- | UP- -- ^ @UP@- deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)--instance Hashable RegionStatus--instance FromText RegionStatus where- fromText = \case- "DOWN" -> Just Down- "UP" -> Just UP- _ -> Nothing--instance ToText RegionStatus where- toText = \case- Down -> "DOWN"- UP -> "UP"--instance FromJSON RegionStatus where- parseJSON = parseJSONText "RegionStatus"--instance ToJSON RegionStatus where- toJSON = toJSONText---- | [Output Only] The status of the VPN tunnel.-data VPNTunnelStatus- = VTSAuthorizationError- -- ^ @AUTHORIZATION_ERROR@- | VTSDeprovisioning- -- ^ @DEPROVISIONING@- | VTSEstablished- -- ^ @ESTABLISHED@- | VTSFailed- -- ^ @FAILED@- | VTSFirstHandshake- -- ^ @FIRST_HANDSHAKE@- | VTSNegotiationFailure- -- ^ @NEGOTIATION_FAILURE@- | VTSNetworkError- -- ^ @NETWORK_ERROR@- | VTSNoIncomingPackets- -- ^ @NO_INCOMING_PACKETS@- | VTSProvisioning- -- ^ @PROVISIONING@- | VTSRejected- -- ^ @REJECTED@- | VTSWaitingForFullConfig- -- ^ @WAITING_FOR_FULL_CONFIG@- deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)--instance Hashable VPNTunnelStatus--instance FromText VPNTunnelStatus where- fromText = \case- "AUTHORIZATION_ERROR" -> Just VTSAuthorizationError- "DEPROVISIONING" -> Just VTSDeprovisioning- "ESTABLISHED" -> Just VTSEstablished- "FAILED" -> Just VTSFailed- "FIRST_HANDSHAKE" -> Just VTSFirstHandshake- "NEGOTIATION_FAILURE" -> Just VTSNegotiationFailure- "NETWORK_ERROR" -> Just VTSNetworkError- "NO_INCOMING_PACKETS" -> Just VTSNoIncomingPackets- "PROVISIONING" -> Just VTSProvisioning- "REJECTED" -> Just VTSRejected- "WAITING_FOR_FULL_CONFIG" -> Just VTSWaitingForFullConfig- _ -> Nothing--instance ToText VPNTunnelStatus where- toText = \case- VTSAuthorizationError -> "AUTHORIZATION_ERROR"- VTSDeprovisioning -> "DEPROVISIONING"- VTSEstablished -> "ESTABLISHED"- VTSFailed -> "FAILED"- VTSFirstHandshake -> "FIRST_HANDSHAKE"- VTSNegotiationFailure -> "NEGOTIATION_FAILURE"- VTSNetworkError -> "NETWORK_ERROR"- VTSNoIncomingPackets -> "NO_INCOMING_PACKETS"- VTSProvisioning -> "PROVISIONING"- VTSRejected -> "REJECTED"- VTSWaitingForFullConfig -> "WAITING_FOR_FULL_CONFIG"--instance FromJSON VPNTunnelStatus where- parseJSON = parseJSONText "VPNTunnelStatus"--instance ToJSON VPNTunnelStatus where- toJSON = toJSONText---- | Specifies the balancing mode for this backend. The default is--- UTILIZATION but available values are UTILIZATION and RATE.-data BackendBalancingMode- = Rate- -- ^ @RATE@- | Utilization- -- ^ @UTILIZATION@- deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)--instance Hashable BackendBalancingMode--instance FromText BackendBalancingMode where- fromText = \case- "RATE" -> Just Rate- "UTILIZATION" -> Just Utilization- _ -> Nothing--instance ToText BackendBalancingMode where- toText = \case- Rate -> "RATE"- Utilization -> "UTILIZATION"--instance FromJSON BackendBalancingMode where- parseJSON = parseJSONText "BackendBalancingMode"--instance ToJSON BackendBalancingMode where- toJSON = toJSONText---- | The IP protocol to which this rule applies. Valid options are TCP, UDP,--- ESP, AH or SCTP.-data ForwardingRuleIPProtocol- = AH- -- ^ @AH@- | Esp- -- ^ @ESP@- | Sctp- -- ^ @SCTP@- | TCP- -- ^ @TCP@- | Udp- -- ^ @UDP@- deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)--instance Hashable ForwardingRuleIPProtocol--instance FromText ForwardingRuleIPProtocol where- fromText = \case- "AH" -> Just AH- "ESP" -> Just Esp- "SCTP" -> Just Sctp- "TCP" -> Just TCP- "UDP" -> Just Udp- _ -> Nothing--instance ToText ForwardingRuleIPProtocol where- toText = \case- AH -> "AH"- Esp -> "ESP"- Sctp -> "SCTP"- TCP -> "TCP"- Udp -> "UDP"--instance FromJSON ForwardingRuleIPProtocol where- parseJSON = parseJSONText "ForwardingRuleIPProtocol"--instance ToJSON ForwardingRuleIPProtocol where- toJSON = toJSONText---- | [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.-data AddressStatus- = InUse- -- ^ @IN_USE@- | Reserved- -- ^ @RESERVED@- deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)--instance Hashable AddressStatus--instance FromText AddressStatus where- fromText = \case- "IN_USE" -> Just InUse- "RESERVED" -> Just Reserved- _ -> Nothing--instance ToText AddressStatus where- toText = \case- InUse -> "IN_USE"- Reserved -> "RESERVED"--instance FromJSON AddressStatus where- parseJSON = parseJSONText "AddressStatus"--instance ToJSON AddressStatus where- toJSON = toJSONText---- | 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.-data InstanceGroupsListInstancesRequestInstanceState- = IGLIRISAll- -- ^ @ALL@- | IGLIRISRunning- -- ^ @RUNNING@- deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)--instance Hashable InstanceGroupsListInstancesRequestInstanceState--instance FromText InstanceGroupsListInstancesRequestInstanceState where- fromText = \case- "ALL" -> Just IGLIRISAll- "RUNNING" -> Just IGLIRISRunning- _ -> Nothing--instance ToText InstanceGroupsListInstancesRequestInstanceState where- toText = \case- IGLIRISAll -> "ALL"- IGLIRISRunning -> "RUNNING"--instance FromJSON InstanceGroupsListInstancesRequestInstanceState where- parseJSON = parseJSONText "InstanceGroupsListInstancesRequestInstanceState"--instance ToJSON InstanceGroupsListInstancesRequestInstanceState where- toJSON = toJSONText---- | Specifies the disk interface to use for attaching this disk, either SCSI--- or NVME. The default is SCSI. For performance characteristics of SCSI--- over NVMe, see Local SSD performance.-data AttachedDiskInterface- = Nvme- -- ^ @NVME@- | Scsi- -- ^ @SCSI@- deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)--instance Hashable AttachedDiskInterface--instance FromText AttachedDiskInterface where- fromText = \case- "NVME" -> Just Nvme- "SCSI" -> Just Scsi- _ -> Nothing--instance ToText AttachedDiskInterface where- toText = \case- Nvme -> "NVME"- Scsi -> "SCSI"--instance FromJSON AttachedDiskInterface where- parseJSON = parseJSONText "AttachedDiskInterface"--instance ToJSON AttachedDiskInterface where- toJSON = toJSONText---- | [Output Only] Status of the zone, either UP or DOWN.-data ZoneStatus- = ZSDown- -- ^ @DOWN@- | ZSUP- -- ^ @UP@- deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)--instance Hashable ZoneStatus--instance FromText ZoneStatus where- fromText = \case- "DOWN" -> Just ZSDown- "UP" -> Just ZSUP- _ -> Nothing--instance ToText ZoneStatus where- toText = \case- ZSDown -> "DOWN"- ZSUP -> "UP"--instance FromJSON ZoneStatus where- parseJSON = parseJSONText "ZoneStatus"--instance ToJSON ZoneStatus where- toJSON = toJSONText---- | [Output Only] Name of the quota metric.-data QuotaMetric- = BackendServices- -- ^ @BACKEND_SERVICES@- | CPUs- -- ^ @CPUS@- | DisksTotalGb- -- ^ @DISKS_TOTAL_GB@- | Firewalls- -- ^ @FIREWALLS@- | ForwardingRules- -- ^ @FORWARDING_RULES@- | HealthChecks- -- ^ @HEALTH_CHECKS@- | Images- -- ^ @IMAGES@- | Instances- -- ^ @INSTANCES@- | InstanceGroups- -- ^ @INSTANCE_GROUPS@- | InstanceGroupManagers- -- ^ @INSTANCE_GROUP_MANAGERS@- | InstanceTemplates- -- ^ @INSTANCE_TEMPLATES@- | InUseAddresses- -- ^ @IN_USE_ADDRESSES@- | LocalSsdTotalGb- -- ^ @LOCAL_SSD_TOTAL_GB@- | Networks- -- ^ @NETWORKS@- | Routes- -- ^ @ROUTES@- | Snapshots- -- ^ @SNAPSHOTS@- | SsdTotalGb- -- ^ @SSD_TOTAL_GB@- | StaticAddresses- -- ^ @STATIC_ADDRESSES@- | TargetHTTPProxies- -- ^ @TARGET_HTTP_PROXIES@- | TargetInstances- -- ^ @TARGET_INSTANCES@- | TargetPools- -- ^ @TARGET_POOLS@- | TargetVPNGateways- -- ^ @TARGET_VPN_GATEWAYS@- | URLMaps- -- ^ @URL_MAPS@- | VPNTunnels- -- ^ @VPN_TUNNELS@- deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)--instance Hashable QuotaMetric--instance FromText QuotaMetric where- fromText = \case- "BACKEND_SERVICES" -> Just BackendServices- "CPUS" -> Just CPUs- "DISKS_TOTAL_GB" -> Just DisksTotalGb- "FIREWALLS" -> Just Firewalls- "FORWARDING_RULES" -> Just ForwardingRules- "HEALTH_CHECKS" -> Just HealthChecks- "IMAGES" -> Just Images- "INSTANCES" -> Just Instances- "INSTANCE_GROUPS" -> Just InstanceGroups- "INSTANCE_GROUP_MANAGERS" -> Just InstanceGroupManagers- "INSTANCE_TEMPLATES" -> Just InstanceTemplates- "IN_USE_ADDRESSES" -> Just InUseAddresses- "LOCAL_SSD_TOTAL_GB" -> Just LocalSsdTotalGb- "NETWORKS" -> Just Networks- "ROUTES" -> Just Routes- "SNAPSHOTS" -> Just Snapshots- "SSD_TOTAL_GB" -> Just SsdTotalGb- "STATIC_ADDRESSES" -> Just StaticAddresses- "TARGET_HTTP_PROXIES" -> Just TargetHTTPProxies- "TARGET_INSTANCES" -> Just TargetInstances- "TARGET_POOLS" -> Just TargetPools- "TARGET_VPN_GATEWAYS" -> Just TargetVPNGateways- "URL_MAPS" -> Just URLMaps- "VPN_TUNNELS" -> Just VPNTunnels- _ -> Nothing--instance ToText QuotaMetric where- toText = \case- BackendServices -> "BACKEND_SERVICES"- CPUs -> "CPUS"- DisksTotalGb -> "DISKS_TOTAL_GB"- Firewalls -> "FIREWALLS"- ForwardingRules -> "FORWARDING_RULES"- HealthChecks -> "HEALTH_CHECKS"- Images -> "IMAGES"- Instances -> "INSTANCES"- InstanceGroups -> "INSTANCE_GROUPS"- InstanceGroupManagers -> "INSTANCE_GROUP_MANAGERS"- InstanceTemplates -> "INSTANCE_TEMPLATES"- InUseAddresses -> "IN_USE_ADDRESSES"- LocalSsdTotalGb -> "LOCAL_SSD_TOTAL_GB"- Networks -> "NETWORKS"- Routes -> "ROUTES"- Snapshots -> "SNAPSHOTS"- SsdTotalGb -> "SSD_TOTAL_GB"- StaticAddresses -> "STATIC_ADDRESSES"- TargetHTTPProxies -> "TARGET_HTTP_PROXIES"- TargetInstances -> "TARGET_INSTANCES"- TargetPools -> "TARGET_POOLS"- TargetVPNGateways -> "TARGET_VPN_GATEWAYS"- URLMaps -> "URL_MAPS"- VPNTunnels -> "VPN_TUNNELS"--instance FromJSON QuotaMetric where- parseJSON = parseJSONText "QuotaMetric"--instance ToJSON QuotaMetric where- toJSON = toJSONText---- | [Output Only] The status of the instance. One of the following values:--- PROVISIONING, STAGING, RUNNING, STOPPING, and TERMINATED.-data InstanceStatus- = ISProvisioning- -- ^ @PROVISIONING@- | ISRunning- -- ^ @RUNNING@- | ISStaging- -- ^ @STAGING@- | ISStopped- -- ^ @STOPPED@- | ISStopping- -- ^ @STOPPING@- | ISSuspended- -- ^ @SUSPENDED@- | ISSuspending- -- ^ @SUSPENDING@- | ISTerminated- -- ^ @TERMINATED@- deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)--instance Hashable InstanceStatus--instance FromText InstanceStatus where- fromText = \case- "PROVISIONING" -> Just ISProvisioning- "RUNNING" -> Just ISRunning- "STAGING" -> Just ISStaging- "STOPPED" -> Just ISStopped- "STOPPING" -> Just ISStopping- "SUSPENDED" -> Just ISSuspended- "SUSPENDING" -> Just ISSuspending- "TERMINATED" -> Just ISTerminated- _ -> Nothing--instance ToText InstanceStatus where- toText = \case- ISProvisioning -> "PROVISIONING"- ISRunning -> "RUNNING"- ISStaging -> "STAGING"- ISStopped -> "STOPPED"- ISStopping -> "STOPPING"- ISSuspended -> "SUSPENDED"- ISSuspending -> "SUSPENDING"- ISTerminated -> "TERMINATED"--instance FromJSON InstanceStatus where- parseJSON = parseJSONText "InstanceStatus"--instance ToJSON InstanceStatus where- toJSON = toJSONText---- | [Output Only] The warning type identifier for this warning.-data MachineTypesScopedListWarningCode- = MTSLWCDeprecatedResourceUsed- -- ^ @DEPRECATED_RESOURCE_USED@- | MTSLWCDiskSizeLargerThanImageSize- -- ^ @DISK_SIZE_LARGER_THAN_IMAGE_SIZE@- | MTSLWCInjectedKernelsDeprecated- -- ^ @INJECTED_KERNELS_DEPRECATED@- | MTSLWCNextHopAddressNotAssigned- -- ^ @NEXT_HOP_ADDRESS_NOT_ASSIGNED@- | MTSLWCNextHopCannotIPForward- -- ^ @NEXT_HOP_CANNOT_IP_FORWARD@- | MTSLWCNextHopInstanceNotFound- -- ^ @NEXT_HOP_INSTANCE_NOT_FOUND@- | MTSLWCNextHopInstanceNotOnNetwork- -- ^ @NEXT_HOP_INSTANCE_NOT_ON_NETWORK@- | MTSLWCNextHopNotRunning- -- ^ @NEXT_HOP_NOT_RUNNING@- | MTSLWCNotCriticalError- -- ^ @NOT_CRITICAL_ERROR@- | MTSLWCNoResultsOnPage- -- ^ @NO_RESULTS_ON_PAGE@- | MTSLWCRequiredTosAgreement- -- ^ @REQUIRED_TOS_AGREEMENT@- | MTSLWCResourceNotDeleted- -- ^ @RESOURCE_NOT_DELETED@- | MTSLWCSingleInstancePropertyTemplate- -- ^ @SINGLE_INSTANCE_PROPERTY_TEMPLATE@- | MTSLWCUnreachable- -- ^ @UNREACHABLE@- deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)--instance Hashable MachineTypesScopedListWarningCode--instance FromText MachineTypesScopedListWarningCode where- fromText = \case- "DEPRECATED_RESOURCE_USED" -> Just MTSLWCDeprecatedResourceUsed- "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" -> Just MTSLWCDiskSizeLargerThanImageSize- "INJECTED_KERNELS_DEPRECATED" -> Just MTSLWCInjectedKernelsDeprecated- "NEXT_HOP_ADDRESS_NOT_ASSIGNED" -> Just MTSLWCNextHopAddressNotAssigned- "NEXT_HOP_CANNOT_IP_FORWARD" -> Just MTSLWCNextHopCannotIPForward- "NEXT_HOP_INSTANCE_NOT_FOUND" -> Just MTSLWCNextHopInstanceNotFound- "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" -> Just MTSLWCNextHopInstanceNotOnNetwork- "NEXT_HOP_NOT_RUNNING" -> Just MTSLWCNextHopNotRunning- "NOT_CRITICAL_ERROR" -> Just MTSLWCNotCriticalError- "NO_RESULTS_ON_PAGE" -> Just MTSLWCNoResultsOnPage- "REQUIRED_TOS_AGREEMENT" -> Just MTSLWCRequiredTosAgreement- "RESOURCE_NOT_DELETED" -> Just MTSLWCResourceNotDeleted- "SINGLE_INSTANCE_PROPERTY_TEMPLATE" -> Just MTSLWCSingleInstancePropertyTemplate- "UNREACHABLE" -> Just MTSLWCUnreachable- _ -> Nothing--instance ToText MachineTypesScopedListWarningCode where- toText = \case- MTSLWCDeprecatedResourceUsed -> "DEPRECATED_RESOURCE_USED"- MTSLWCDiskSizeLargerThanImageSize -> "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"- MTSLWCInjectedKernelsDeprecated -> "INJECTED_KERNELS_DEPRECATED"- MTSLWCNextHopAddressNotAssigned -> "NEXT_HOP_ADDRESS_NOT_ASSIGNED"- MTSLWCNextHopCannotIPForward -> "NEXT_HOP_CANNOT_IP_FORWARD"- MTSLWCNextHopInstanceNotFound -> "NEXT_HOP_INSTANCE_NOT_FOUND"- MTSLWCNextHopInstanceNotOnNetwork -> "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"- MTSLWCNextHopNotRunning -> "NEXT_HOP_NOT_RUNNING"- MTSLWCNotCriticalError -> "NOT_CRITICAL_ERROR"- MTSLWCNoResultsOnPage -> "NO_RESULTS_ON_PAGE"- MTSLWCRequiredTosAgreement -> "REQUIRED_TOS_AGREEMENT"- MTSLWCResourceNotDeleted -> "RESOURCE_NOT_DELETED"- MTSLWCSingleInstancePropertyTemplate -> "SINGLE_INSTANCE_PROPERTY_TEMPLATE"- MTSLWCUnreachable -> "UNREACHABLE"--instance FromJSON MachineTypesScopedListWarningCode where- parseJSON = parseJSONText "MachineTypesScopedListWarningCode"--instance ToJSON MachineTypesScopedListWarningCode where- toJSON = toJSONText---- | [Output Only] The warning type identifier for this warning.-data DiskTypesScopedListWarningCode- = DTSLWCDeprecatedResourceUsed- -- ^ @DEPRECATED_RESOURCE_USED@- | DTSLWCDiskSizeLargerThanImageSize- -- ^ @DISK_SIZE_LARGER_THAN_IMAGE_SIZE@- | DTSLWCInjectedKernelsDeprecated- -- ^ @INJECTED_KERNELS_DEPRECATED@- | DTSLWCNextHopAddressNotAssigned- -- ^ @NEXT_HOP_ADDRESS_NOT_ASSIGNED@- | DTSLWCNextHopCannotIPForward- -- ^ @NEXT_HOP_CANNOT_IP_FORWARD@- | DTSLWCNextHopInstanceNotFound- -- ^ @NEXT_HOP_INSTANCE_NOT_FOUND@- | DTSLWCNextHopInstanceNotOnNetwork- -- ^ @NEXT_HOP_INSTANCE_NOT_ON_NETWORK@- | DTSLWCNextHopNotRunning- -- ^ @NEXT_HOP_NOT_RUNNING@- | DTSLWCNotCriticalError- -- ^ @NOT_CRITICAL_ERROR@- | DTSLWCNoResultsOnPage- -- ^ @NO_RESULTS_ON_PAGE@- | DTSLWCRequiredTosAgreement- -- ^ @REQUIRED_TOS_AGREEMENT@- | DTSLWCResourceNotDeleted- -- ^ @RESOURCE_NOT_DELETED@- | DTSLWCSingleInstancePropertyTemplate- -- ^ @SINGLE_INSTANCE_PROPERTY_TEMPLATE@- | DTSLWCUnreachable- -- ^ @UNREACHABLE@- deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)--instance Hashable DiskTypesScopedListWarningCode--instance FromText DiskTypesScopedListWarningCode where- fromText = \case- "DEPRECATED_RESOURCE_USED" -> Just DTSLWCDeprecatedResourceUsed- "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" -> Just DTSLWCDiskSizeLargerThanImageSize- "INJECTED_KERNELS_DEPRECATED" -> Just DTSLWCInjectedKernelsDeprecated- "NEXT_HOP_ADDRESS_NOT_ASSIGNED" -> Just DTSLWCNextHopAddressNotAssigned- "NEXT_HOP_CANNOT_IP_FORWARD" -> Just DTSLWCNextHopCannotIPForward- "NEXT_HOP_INSTANCE_NOT_FOUND" -> Just DTSLWCNextHopInstanceNotFound- "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" -> Just DTSLWCNextHopInstanceNotOnNetwork- "NEXT_HOP_NOT_RUNNING" -> Just DTSLWCNextHopNotRunning- "NOT_CRITICAL_ERROR" -> Just DTSLWCNotCriticalError- "NO_RESULTS_ON_PAGE" -> Just DTSLWCNoResultsOnPage- "REQUIRED_TOS_AGREEMENT" -> Just DTSLWCRequiredTosAgreement- "RESOURCE_NOT_DELETED" -> Just DTSLWCResourceNotDeleted- "SINGLE_INSTANCE_PROPERTY_TEMPLATE" -> Just DTSLWCSingleInstancePropertyTemplate- "UNREACHABLE" -> Just DTSLWCUnreachable- _ -> Nothing--instance ToText DiskTypesScopedListWarningCode where- toText = \case- DTSLWCDeprecatedResourceUsed -> "DEPRECATED_RESOURCE_USED"- DTSLWCDiskSizeLargerThanImageSize -> "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"- DTSLWCInjectedKernelsDeprecated -> "INJECTED_KERNELS_DEPRECATED"- DTSLWCNextHopAddressNotAssigned -> "NEXT_HOP_ADDRESS_NOT_ASSIGNED"- DTSLWCNextHopCannotIPForward -> "NEXT_HOP_CANNOT_IP_FORWARD"- DTSLWCNextHopInstanceNotFound -> "NEXT_HOP_INSTANCE_NOT_FOUND"- DTSLWCNextHopInstanceNotOnNetwork -> "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"- DTSLWCNextHopNotRunning -> "NEXT_HOP_NOT_RUNNING"- DTSLWCNotCriticalError -> "NOT_CRITICAL_ERROR"- DTSLWCNoResultsOnPage -> "NO_RESULTS_ON_PAGE"- DTSLWCRequiredTosAgreement -> "REQUIRED_TOS_AGREEMENT"- DTSLWCResourceNotDeleted -> "RESOURCE_NOT_DELETED"- DTSLWCSingleInstancePropertyTemplate -> "SINGLE_INSTANCE_PROPERTY_TEMPLATE"- DTSLWCUnreachable -> "UNREACHABLE"--instance FromJSON DiskTypesScopedListWarningCode where- parseJSON = parseJSONText "DiskTypesScopedListWarningCode"--instance ToJSON DiskTypesScopedListWarningCode where- toJSON = toJSONText---- | [Output Only] The warning type identifier for this warning.-data AutoscalersScopedListWarningCode- = ADeprecatedResourceUsed- -- ^ @DEPRECATED_RESOURCE_USED@- | ADiskSizeLargerThanImageSize- -- ^ @DISK_SIZE_LARGER_THAN_IMAGE_SIZE@- | AInjectedKernelsDeprecated- -- ^ @INJECTED_KERNELS_DEPRECATED@- | ANextHopAddressNotAssigned- -- ^ @NEXT_HOP_ADDRESS_NOT_ASSIGNED@- | ANextHopCannotIPForward- -- ^ @NEXT_HOP_CANNOT_IP_FORWARD@- | ANextHopInstanceNotFound- -- ^ @NEXT_HOP_INSTANCE_NOT_FOUND@- | ANextHopInstanceNotOnNetwork- -- ^ @NEXT_HOP_INSTANCE_NOT_ON_NETWORK@- | ANextHopNotRunning- -- ^ @NEXT_HOP_NOT_RUNNING@- | ANotCriticalError- -- ^ @NOT_CRITICAL_ERROR@- | ANoResultsOnPage- -- ^ @NO_RESULTS_ON_PAGE@- | ARequiredTosAgreement- -- ^ @REQUIRED_TOS_AGREEMENT@- | AResourceNotDeleted- -- ^ @RESOURCE_NOT_DELETED@- | ASingleInstancePropertyTemplate- -- ^ @SINGLE_INSTANCE_PROPERTY_TEMPLATE@- | AUnreachable- -- ^ @UNREACHABLE@- deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)--instance Hashable AutoscalersScopedListWarningCode--instance FromText AutoscalersScopedListWarningCode where- fromText = \case- "DEPRECATED_RESOURCE_USED" -> Just ADeprecatedResourceUsed- "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" -> Just ADiskSizeLargerThanImageSize- "INJECTED_KERNELS_DEPRECATED" -> Just AInjectedKernelsDeprecated- "NEXT_HOP_ADDRESS_NOT_ASSIGNED" -> Just ANextHopAddressNotAssigned- "NEXT_HOP_CANNOT_IP_FORWARD" -> Just ANextHopCannotIPForward- "NEXT_HOP_INSTANCE_NOT_FOUND" -> Just ANextHopInstanceNotFound- "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" -> Just ANextHopInstanceNotOnNetwork- "NEXT_HOP_NOT_RUNNING" -> Just ANextHopNotRunning- "NOT_CRITICAL_ERROR" -> Just ANotCriticalError- "NO_RESULTS_ON_PAGE" -> Just ANoResultsOnPage- "REQUIRED_TOS_AGREEMENT" -> Just ARequiredTosAgreement- "RESOURCE_NOT_DELETED" -> Just AResourceNotDeleted- "SINGLE_INSTANCE_PROPERTY_TEMPLATE" -> Just ASingleInstancePropertyTemplate- "UNREACHABLE" -> Just AUnreachable- _ -> Nothing--instance ToText AutoscalersScopedListWarningCode where- toText = \case- ADeprecatedResourceUsed -> "DEPRECATED_RESOURCE_USED"- ADiskSizeLargerThanImageSize -> "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"- AInjectedKernelsDeprecated -> "INJECTED_KERNELS_DEPRECATED"- ANextHopAddressNotAssigned -> "NEXT_HOP_ADDRESS_NOT_ASSIGNED"- ANextHopCannotIPForward -> "NEXT_HOP_CANNOT_IP_FORWARD"- ANextHopInstanceNotFound -> "NEXT_HOP_INSTANCE_NOT_FOUND"- ANextHopInstanceNotOnNetwork -> "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"- ANextHopNotRunning -> "NEXT_HOP_NOT_RUNNING"- ANotCriticalError -> "NOT_CRITICAL_ERROR"- ANoResultsOnPage -> "NO_RESULTS_ON_PAGE"- ARequiredTosAgreement -> "REQUIRED_TOS_AGREEMENT"- AResourceNotDeleted -> "RESOURCE_NOT_DELETED"- ASingleInstancePropertyTemplate -> "SINGLE_INSTANCE_PROPERTY_TEMPLATE"- AUnreachable -> "UNREACHABLE"--instance FromJSON AutoscalersScopedListWarningCode where- parseJSON = parseJSONText "AutoscalersScopedListWarningCode"--instance ToJSON AutoscalersScopedListWarningCode where- toJSON = toJSONText---- | [Output Only] The warning type identifier for this warning.-data VPNTunnelsScopedListWarningCode- = VTSLWCDeprecatedResourceUsed- -- ^ @DEPRECATED_RESOURCE_USED@- | VTSLWCDiskSizeLargerThanImageSize- -- ^ @DISK_SIZE_LARGER_THAN_IMAGE_SIZE@- | VTSLWCInjectedKernelsDeprecated- -- ^ @INJECTED_KERNELS_DEPRECATED@- | VTSLWCNextHopAddressNotAssigned- -- ^ @NEXT_HOP_ADDRESS_NOT_ASSIGNED@- | VTSLWCNextHopCannotIPForward- -- ^ @NEXT_HOP_CANNOT_IP_FORWARD@- | VTSLWCNextHopInstanceNotFound- -- ^ @NEXT_HOP_INSTANCE_NOT_FOUND@- | VTSLWCNextHopInstanceNotOnNetwork- -- ^ @NEXT_HOP_INSTANCE_NOT_ON_NETWORK@- | VTSLWCNextHopNotRunning- -- ^ @NEXT_HOP_NOT_RUNNING@- | VTSLWCNotCriticalError- -- ^ @NOT_CRITICAL_ERROR@- | VTSLWCNoResultsOnPage- -- ^ @NO_RESULTS_ON_PAGE@- | VTSLWCRequiredTosAgreement- -- ^ @REQUIRED_TOS_AGREEMENT@- | VTSLWCResourceNotDeleted- -- ^ @RESOURCE_NOT_DELETED@- | VTSLWCSingleInstancePropertyTemplate- -- ^ @SINGLE_INSTANCE_PROPERTY_TEMPLATE@- | VTSLWCUnreachable- -- ^ @UNREACHABLE@- deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)--instance Hashable VPNTunnelsScopedListWarningCode--instance FromText VPNTunnelsScopedListWarningCode where- fromText = \case- "DEPRECATED_RESOURCE_USED" -> Just VTSLWCDeprecatedResourceUsed- "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" -> Just VTSLWCDiskSizeLargerThanImageSize- "INJECTED_KERNELS_DEPRECATED" -> Just VTSLWCInjectedKernelsDeprecated- "NEXT_HOP_ADDRESS_NOT_ASSIGNED" -> Just VTSLWCNextHopAddressNotAssigned- "NEXT_HOP_CANNOT_IP_FORWARD" -> Just VTSLWCNextHopCannotIPForward- "NEXT_HOP_INSTANCE_NOT_FOUND" -> Just VTSLWCNextHopInstanceNotFound- "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" -> Just VTSLWCNextHopInstanceNotOnNetwork- "NEXT_HOP_NOT_RUNNING" -> Just VTSLWCNextHopNotRunning- "NOT_CRITICAL_ERROR" -> Just VTSLWCNotCriticalError- "NO_RESULTS_ON_PAGE" -> Just VTSLWCNoResultsOnPage- "REQUIRED_TOS_AGREEMENT" -> Just VTSLWCRequiredTosAgreement- "RESOURCE_NOT_DELETED" -> Just VTSLWCResourceNotDeleted- "SINGLE_INSTANCE_PROPERTY_TEMPLATE" -> Just VTSLWCSingleInstancePropertyTemplate- "UNREACHABLE" -> Just VTSLWCUnreachable- _ -> Nothing--instance ToText VPNTunnelsScopedListWarningCode where- toText = \case- VTSLWCDeprecatedResourceUsed -> "DEPRECATED_RESOURCE_USED"- VTSLWCDiskSizeLargerThanImageSize -> "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"- VTSLWCInjectedKernelsDeprecated -> "INJECTED_KERNELS_DEPRECATED"- VTSLWCNextHopAddressNotAssigned -> "NEXT_HOP_ADDRESS_NOT_ASSIGNED"- VTSLWCNextHopCannotIPForward -> "NEXT_HOP_CANNOT_IP_FORWARD"- VTSLWCNextHopInstanceNotFound -> "NEXT_HOP_INSTANCE_NOT_FOUND"- VTSLWCNextHopInstanceNotOnNetwork -> "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"- VTSLWCNextHopNotRunning -> "NEXT_HOP_NOT_RUNNING"- VTSLWCNotCriticalError -> "NOT_CRITICAL_ERROR"- VTSLWCNoResultsOnPage -> "NO_RESULTS_ON_PAGE"- VTSLWCRequiredTosAgreement -> "REQUIRED_TOS_AGREEMENT"- VTSLWCResourceNotDeleted -> "RESOURCE_NOT_DELETED"- VTSLWCSingleInstancePropertyTemplate -> "SINGLE_INSTANCE_PROPERTY_TEMPLATE"- VTSLWCUnreachable -> "UNREACHABLE"--instance FromJSON VPNTunnelsScopedListWarningCode where- parseJSON = parseJSONText "VPNTunnelsScopedListWarningCode"--instance ToJSON VPNTunnelsScopedListWarningCode where- toJSON = toJSONText---- | [Output Only] The warning type identifier for this warning.-data InstanceGroupsScopedListWarningCode- = IGSLWCDeprecatedResourceUsed- -- ^ @DEPRECATED_RESOURCE_USED@- | IGSLWCDiskSizeLargerThanImageSize- -- ^ @DISK_SIZE_LARGER_THAN_IMAGE_SIZE@- | IGSLWCInjectedKernelsDeprecated- -- ^ @INJECTED_KERNELS_DEPRECATED@- | IGSLWCNextHopAddressNotAssigned- -- ^ @NEXT_HOP_ADDRESS_NOT_ASSIGNED@- | IGSLWCNextHopCannotIPForward- -- ^ @NEXT_HOP_CANNOT_IP_FORWARD@- | IGSLWCNextHopInstanceNotFound- -- ^ @NEXT_HOP_INSTANCE_NOT_FOUND@- | IGSLWCNextHopInstanceNotOnNetwork- -- ^ @NEXT_HOP_INSTANCE_NOT_ON_NETWORK@- | IGSLWCNextHopNotRunning- -- ^ @NEXT_HOP_NOT_RUNNING@- | IGSLWCNotCriticalError- -- ^ @NOT_CRITICAL_ERROR@- | IGSLWCNoResultsOnPage- -- ^ @NO_RESULTS_ON_PAGE@- | IGSLWCRequiredTosAgreement- -- ^ @REQUIRED_TOS_AGREEMENT@- | IGSLWCResourceNotDeleted- -- ^ @RESOURCE_NOT_DELETED@- | IGSLWCSingleInstancePropertyTemplate- -- ^ @SINGLE_INSTANCE_PROPERTY_TEMPLATE@- | IGSLWCUnreachable- -- ^ @UNREACHABLE@- deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)--instance Hashable InstanceGroupsScopedListWarningCode--instance FromText InstanceGroupsScopedListWarningCode where- fromText = \case- "DEPRECATED_RESOURCE_USED" -> Just IGSLWCDeprecatedResourceUsed- "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" -> Just IGSLWCDiskSizeLargerThanImageSize- "INJECTED_KERNELS_DEPRECATED" -> Just IGSLWCInjectedKernelsDeprecated- "NEXT_HOP_ADDRESS_NOT_ASSIGNED" -> Just IGSLWCNextHopAddressNotAssigned- "NEXT_HOP_CANNOT_IP_FORWARD" -> Just IGSLWCNextHopCannotIPForward- "NEXT_HOP_INSTANCE_NOT_FOUND" -> Just IGSLWCNextHopInstanceNotFound- "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" -> Just IGSLWCNextHopInstanceNotOnNetwork- "NEXT_HOP_NOT_RUNNING" -> Just IGSLWCNextHopNotRunning- "NOT_CRITICAL_ERROR" -> Just IGSLWCNotCriticalError- "NO_RESULTS_ON_PAGE" -> Just IGSLWCNoResultsOnPage- "REQUIRED_TOS_AGREEMENT" -> Just IGSLWCRequiredTosAgreement- "RESOURCE_NOT_DELETED" -> Just IGSLWCResourceNotDeleted- "SINGLE_INSTANCE_PROPERTY_TEMPLATE" -> Just IGSLWCSingleInstancePropertyTemplate- "UNREACHABLE" -> Just IGSLWCUnreachable- _ -> Nothing--instance ToText InstanceGroupsScopedListWarningCode where- toText = \case- IGSLWCDeprecatedResourceUsed -> "DEPRECATED_RESOURCE_USED"- IGSLWCDiskSizeLargerThanImageSize -> "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"- IGSLWCInjectedKernelsDeprecated -> "INJECTED_KERNELS_DEPRECATED"- IGSLWCNextHopAddressNotAssigned -> "NEXT_HOP_ADDRESS_NOT_ASSIGNED"- IGSLWCNextHopCannotIPForward -> "NEXT_HOP_CANNOT_IP_FORWARD"- IGSLWCNextHopInstanceNotFound -> "NEXT_HOP_INSTANCE_NOT_FOUND"- IGSLWCNextHopInstanceNotOnNetwork -> "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"- IGSLWCNextHopNotRunning -> "NEXT_HOP_NOT_RUNNING"- IGSLWCNotCriticalError -> "NOT_CRITICAL_ERROR"- IGSLWCNoResultsOnPage -> "NO_RESULTS_ON_PAGE"- IGSLWCRequiredTosAgreement -> "REQUIRED_TOS_AGREEMENT"- IGSLWCResourceNotDeleted -> "RESOURCE_NOT_DELETED"- IGSLWCSingleInstancePropertyTemplate -> "SINGLE_INSTANCE_PROPERTY_TEMPLATE"- IGSLWCUnreachable -> "UNREACHABLE"--instance FromJSON InstanceGroupsScopedListWarningCode where- parseJSON = parseJSONText "InstanceGroupsScopedListWarningCode"--instance ToJSON InstanceGroupsScopedListWarningCode where- toJSON = toJSONText---- | [Output Only] The status of the instance.-data InstanceWithNamedPortsStatus- = IWNPSProvisioning- -- ^ @PROVISIONING@- | IWNPSRunning- -- ^ @RUNNING@- | IWNPSStaging- -- ^ @STAGING@- | IWNPSStopped- -- ^ @STOPPED@- | IWNPSStopping- -- ^ @STOPPING@- | IWNPSSuspended- -- ^ @SUSPENDED@- | IWNPSSuspending- -- ^ @SUSPENDING@- | IWNPSTerminated- -- ^ @TERMINATED@- deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)--instance Hashable InstanceWithNamedPortsStatus--instance FromText InstanceWithNamedPortsStatus where- fromText = \case- "PROVISIONING" -> Just IWNPSProvisioning- "RUNNING" -> Just IWNPSRunning- "STAGING" -> Just IWNPSStaging- "STOPPED" -> Just IWNPSStopped- "STOPPING" -> Just IWNPSStopping- "SUSPENDED" -> Just IWNPSSuspended- "SUSPENDING" -> Just IWNPSSuspending- "TERMINATED" -> Just IWNPSTerminated- _ -> Nothing--instance ToText InstanceWithNamedPortsStatus where- toText = \case- IWNPSProvisioning -> "PROVISIONING"- IWNPSRunning -> "RUNNING"- IWNPSStaging -> "STAGING"- IWNPSStopped -> "STOPPED"- IWNPSStopping -> "STOPPING"- IWNPSSuspended -> "SUSPENDED"- IWNPSSuspending -> "SUSPENDING"- IWNPSTerminated -> "TERMINATED"--instance FromJSON InstanceWithNamedPortsStatus where- parseJSON = parseJSONText "InstanceWithNamedPortsStatus"--instance ToJSON InstanceWithNamedPortsStatus where- toJSON = toJSONText---- | [Output Only] The warning type identifier for this warning.-data InstancesScopedListWarningCode- = ISLWCDeprecatedResourceUsed- -- ^ @DEPRECATED_RESOURCE_USED@- | ISLWCDiskSizeLargerThanImageSize- -- ^ @DISK_SIZE_LARGER_THAN_IMAGE_SIZE@- | ISLWCInjectedKernelsDeprecated- -- ^ @INJECTED_KERNELS_DEPRECATED@- | ISLWCNextHopAddressNotAssigned- -- ^ @NEXT_HOP_ADDRESS_NOT_ASSIGNED@- | ISLWCNextHopCannotIPForward- -- ^ @NEXT_HOP_CANNOT_IP_FORWARD@- | ISLWCNextHopInstanceNotFound- -- ^ @NEXT_HOP_INSTANCE_NOT_FOUND@- | ISLWCNextHopInstanceNotOnNetwork- -- ^ @NEXT_HOP_INSTANCE_NOT_ON_NETWORK@- | ISLWCNextHopNotRunning- -- ^ @NEXT_HOP_NOT_RUNNING@- | ISLWCNotCriticalError- -- ^ @NOT_CRITICAL_ERROR@- | ISLWCNoResultsOnPage- -- ^ @NO_RESULTS_ON_PAGE@- | ISLWCRequiredTosAgreement- -- ^ @REQUIRED_TOS_AGREEMENT@- | ISLWCResourceNotDeleted- -- ^ @RESOURCE_NOT_DELETED@- | ISLWCSingleInstancePropertyTemplate- -- ^ @SINGLE_INSTANCE_PROPERTY_TEMPLATE@- | ISLWCUnreachable- -- ^ @UNREACHABLE@- deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)--instance Hashable InstancesScopedListWarningCode--instance FromText InstancesScopedListWarningCode where- fromText = \case- "DEPRECATED_RESOURCE_USED" -> Just ISLWCDeprecatedResourceUsed- "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" -> Just ISLWCDiskSizeLargerThanImageSize- "INJECTED_KERNELS_DEPRECATED" -> Just ISLWCInjectedKernelsDeprecated- "NEXT_HOP_ADDRESS_NOT_ASSIGNED" -> Just ISLWCNextHopAddressNotAssigned- "NEXT_HOP_CANNOT_IP_FORWARD" -> Just ISLWCNextHopCannotIPForward- "NEXT_HOP_INSTANCE_NOT_FOUND" -> Just ISLWCNextHopInstanceNotFound- "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" -> Just ISLWCNextHopInstanceNotOnNetwork- "NEXT_HOP_NOT_RUNNING" -> Just ISLWCNextHopNotRunning- "NOT_CRITICAL_ERROR" -> Just ISLWCNotCriticalError- "NO_RESULTS_ON_PAGE" -> Just ISLWCNoResultsOnPage- "REQUIRED_TOS_AGREEMENT" -> Just ISLWCRequiredTosAgreement- "RESOURCE_NOT_DELETED" -> Just ISLWCResourceNotDeleted- "SINGLE_INSTANCE_PROPERTY_TEMPLATE" -> Just ISLWCSingleInstancePropertyTemplate- "UNREACHABLE" -> Just ISLWCUnreachable- _ -> Nothing--instance ToText InstancesScopedListWarningCode where- toText = \case- ISLWCDeprecatedResourceUsed -> "DEPRECATED_RESOURCE_USED"- ISLWCDiskSizeLargerThanImageSize -> "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"- ISLWCInjectedKernelsDeprecated -> "INJECTED_KERNELS_DEPRECATED"- ISLWCNextHopAddressNotAssigned -> "NEXT_HOP_ADDRESS_NOT_ASSIGNED"- ISLWCNextHopCannotIPForward -> "NEXT_HOP_CANNOT_IP_FORWARD"- ISLWCNextHopInstanceNotFound -> "NEXT_HOP_INSTANCE_NOT_FOUND"- ISLWCNextHopInstanceNotOnNetwork -> "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"- ISLWCNextHopNotRunning -> "NEXT_HOP_NOT_RUNNING"- ISLWCNotCriticalError -> "NOT_CRITICAL_ERROR"- ISLWCNoResultsOnPage -> "NO_RESULTS_ON_PAGE"- ISLWCRequiredTosAgreement -> "REQUIRED_TOS_AGREEMENT"- ISLWCResourceNotDeleted -> "RESOURCE_NOT_DELETED"- ISLWCSingleInstancePropertyTemplate -> "SINGLE_INSTANCE_PROPERTY_TEMPLATE"- ISLWCUnreachable -> "UNREACHABLE"--instance FromJSON InstancesScopedListWarningCode where- parseJSON = parseJSONText "InstancesScopedListWarningCode"--instance ToJSON InstancesScopedListWarningCode where- toJSON = toJSONText---- | 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.-data TargetPoolSessionAffinity- = ClientIP- -- ^ @CLIENT_IP@- | ClientIPProto- -- ^ @CLIENT_IP_PROTO@- | None- -- ^ @NONE@- deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)--instance Hashable TargetPoolSessionAffinity--instance FromText TargetPoolSessionAffinity where- fromText = \case- "CLIENT_IP" -> Just ClientIP- "CLIENT_IP_PROTO" -> Just ClientIPProto- "NONE" -> Just None- _ -> Nothing--instance ToText TargetPoolSessionAffinity where- toText = \case- ClientIP -> "CLIENT_IP"- ClientIPProto -> "CLIENT_IP_PROTO"- None -> "NONE"--instance FromJSON TargetPoolSessionAffinity where- parseJSON = parseJSONText "TargetPoolSessionAffinity"--instance ToJSON TargetPoolSessionAffinity where- toJSON = toJSONText---- | 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.-data ImageRawDiskContainerType- = TAR- -- ^ @TAR@- deriving (Eq,Ord,Enum,Read,Show,Data,Typeable,Generic)--instance Hashable ImageRawDiskContainerType--instance FromText ImageRawDiskContainerType where- fromText = \case- "TAR" -> Just TAR- _ -> Nothing--instance ToText ImageRawDiskContainerType where- toText = \case+-- 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)+--+module Network.Google.Compute.Types.Sum where++import Network.Google.Prelude++-- | 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.+data SchedulingOnHostMaintenance+ = Migrate+ -- ^ @MIGRATE@+ | Terminate+ -- ^ @TERMINATE@+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable SchedulingOnHostMaintenance++instance FromHttpApiData SchedulingOnHostMaintenance where+ parseQueryParam = \case+ "MIGRATE" -> Right Migrate+ "TERMINATE" -> Right Terminate+ x -> Left ("Unable to parse SchedulingOnHostMaintenance from: " <> x)++instance ToHttpApiData SchedulingOnHostMaintenance where+ toQueryParam = \case+ Migrate -> "MIGRATE"+ Terminate -> "TERMINATE"++instance FromJSON SchedulingOnHostMaintenance where+ parseJSON = parseJSONText "SchedulingOnHostMaintenance"++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.+data AutoscalingPolicyCustomMetricUtilizationUtilizationTargetType+ = DeltaPerMinute+ -- ^ @DELTA_PER_MINUTE@+ | DeltaPerSecond+ -- ^ @DELTA_PER_SECOND@+ | Gauge+ -- ^ @GAUGE@+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable AutoscalingPolicyCustomMetricUtilizationUtilizationTargetType++instance FromHttpApiData AutoscalingPolicyCustomMetricUtilizationUtilizationTargetType where+ parseQueryParam = \case+ "DELTA_PER_MINUTE" -> Right DeltaPerMinute+ "DELTA_PER_SECOND" -> Right DeltaPerSecond+ "GAUGE" -> Right Gauge+ x -> Left ("Unable to parse AutoscalingPolicyCustomMetricUtilizationUtilizationTargetType from: " <> x)++instance ToHttpApiData AutoscalingPolicyCustomMetricUtilizationUtilizationTargetType where+ toQueryParam = \case+ DeltaPerMinute -> "DELTA_PER_MINUTE"+ DeltaPerSecond -> "DELTA_PER_SECOND"+ Gauge -> "GAUGE"++instance FromJSON AutoscalingPolicyCustomMetricUtilizationUtilizationTargetType where+ parseJSON = parseJSONText "AutoscalingPolicyCustomMetricUtilizationUtilizationTargetType"++instance ToJSON AutoscalingPolicyCustomMetricUtilizationUtilizationTargetType 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 OperationWarningsItemCode+ = CleanupFailed+ -- ^ @CLEANUP_FAILED@+ | DeprecatedResourceUsed+ -- ^ @DEPRECATED_RESOURCE_USED@+ | DiskSizeLargerThanImageSize+ -- ^ @DISK_SIZE_LARGER_THAN_IMAGE_SIZE@+ | InjectedKernelsDeprecated+ -- ^ @INJECTED_KERNELS_DEPRECATED@+ | NextHopAddressNotAssigned+ -- ^ @NEXT_HOP_ADDRESS_NOT_ASSIGNED@+ | NextHopCannotIPForward+ -- ^ @NEXT_HOP_CANNOT_IP_FORWARD@+ | NextHopInstanceNotFound+ -- ^ @NEXT_HOP_INSTANCE_NOT_FOUND@+ | NextHopInstanceNotOnNetwork+ -- ^ @NEXT_HOP_INSTANCE_NOT_ON_NETWORK@+ | NextHopNotRunning+ -- ^ @NEXT_HOP_NOT_RUNNING@+ | NotCriticalError+ -- ^ @NOT_CRITICAL_ERROR@+ | NoResultsOnPage+ -- ^ @NO_RESULTS_ON_PAGE@+ | RequiredTosAgreement+ -- ^ @REQUIRED_TOS_AGREEMENT@+ | ResourceNotDeleted+ -- ^ @RESOURCE_NOT_DELETED@+ | SingleInstancePropertyTemplate+ -- ^ @SINGLE_INSTANCE_PROPERTY_TEMPLATE@+ | Unreachable+ -- ^ @UNREACHABLE@+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable OperationWarningsItemCode++instance FromHttpApiData OperationWarningsItemCode where+ parseQueryParam = \case+ "CLEANUP_FAILED" -> Right CleanupFailed+ "DEPRECATED_RESOURCE_USED" -> Right DeprecatedResourceUsed+ "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" -> Right DiskSizeLargerThanImageSize+ "INJECTED_KERNELS_DEPRECATED" -> Right InjectedKernelsDeprecated+ "NEXT_HOP_ADDRESS_NOT_ASSIGNED" -> Right NextHopAddressNotAssigned+ "NEXT_HOP_CANNOT_IP_FORWARD" -> Right NextHopCannotIPForward+ "NEXT_HOP_INSTANCE_NOT_FOUND" -> Right NextHopInstanceNotFound+ "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" -> Right NextHopInstanceNotOnNetwork+ "NEXT_HOP_NOT_RUNNING" -> Right NextHopNotRunning+ "NOT_CRITICAL_ERROR" -> Right NotCriticalError+ "NO_RESULTS_ON_PAGE" -> Right NoResultsOnPage+ "REQUIRED_TOS_AGREEMENT" -> Right RequiredTosAgreement+ "RESOURCE_NOT_DELETED" -> Right ResourceNotDeleted+ "SINGLE_INSTANCE_PROPERTY_TEMPLATE" -> Right SingleInstancePropertyTemplate+ "UNREACHABLE" -> Right Unreachable+ x -> Left ("Unable to parse OperationWarningsItemCode from: " <> x)++instance ToHttpApiData OperationWarningsItemCode where+ toQueryParam = \case+ CleanupFailed -> "CLEANUP_FAILED"+ DeprecatedResourceUsed -> "DEPRECATED_RESOURCE_USED"+ DiskSizeLargerThanImageSize -> "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"+ InjectedKernelsDeprecated -> "INJECTED_KERNELS_DEPRECATED"+ NextHopAddressNotAssigned -> "NEXT_HOP_ADDRESS_NOT_ASSIGNED"+ NextHopCannotIPForward -> "NEXT_HOP_CANNOT_IP_FORWARD"+ NextHopInstanceNotFound -> "NEXT_HOP_INSTANCE_NOT_FOUND"+ NextHopInstanceNotOnNetwork -> "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"+ NextHopNotRunning -> "NEXT_HOP_NOT_RUNNING"+ NotCriticalError -> "NOT_CRITICAL_ERROR"+ NoResultsOnPage -> "NO_RESULTS_ON_PAGE"+ RequiredTosAgreement -> "REQUIRED_TOS_AGREEMENT"+ ResourceNotDeleted -> "RESOURCE_NOT_DELETED"+ SingleInstancePropertyTemplate -> "SINGLE_INSTANCE_PROPERTY_TEMPLATE"+ Unreachable -> "UNREACHABLE"++instance FromJSON OperationWarningsItemCode where+ parseJSON = parseJSONText "OperationWarningsItemCode"++instance ToJSON OperationWarningsItemCode where+ toJSON = toJSONText++-- | The protocol this BackendService uses to communicate with backends.+-- Possible values are HTTP, HTTPS, HTTP2, TCP and SSL.+data BackendServiceProtocol+ = HTTP+ -- ^ @HTTP@+ | HTTPS+ -- ^ @HTTPS@+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable BackendServiceProtocol++instance FromHttpApiData BackendServiceProtocol where+ parseQueryParam = \case+ "HTTP" -> Right HTTP+ "HTTPS" -> Right HTTPS+ x -> Left ("Unable to parse BackendServiceProtocol from: " <> x)++instance ToHttpApiData BackendServiceProtocol where+ toQueryParam = \case+ HTTP -> "HTTP"+ HTTPS -> "HTTPS"++instance FromJSON BackendServiceProtocol where+ parseJSON = parseJSONText "BackendServiceProtocol"++instance ToJSON BackendServiceProtocol where+ toJSON = toJSONText++-- | Specifies the type of the disk, either SCRATCH or PERSISTENT. If not+-- specified, the default is PERSISTENT.+data AttachedDiskType+ = Persistent+ -- ^ @PERSISTENT@+ | Scratch+ -- ^ @SCRATCH@+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable AttachedDiskType++instance FromHttpApiData AttachedDiskType where+ parseQueryParam = \case+ "PERSISTENT" -> Right Persistent+ "SCRATCH" -> Right Scratch+ x -> Left ("Unable to parse AttachedDiskType from: " <> x)++instance ToHttpApiData AttachedDiskType where+ toQueryParam = \case+ Persistent -> "PERSISTENT"+ Scratch -> "SCRATCH"++instance FromJSON AttachedDiskType where+ parseJSON = parseJSONText "AttachedDiskType"++instance ToJSON AttachedDiskType where+ toJSON = toJSONText++-- | The type of the image used to create this disk. The default and only+-- value is RAW+data ImageSourceType+ = Raw+ -- ^ @RAW@+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable ImageSourceType++instance FromHttpApiData ImageSourceType where+ parseQueryParam = \case+ "RAW" -> Right Raw+ x -> Left ("Unable to parse ImageSourceType from: " <> x)++instance ToHttpApiData ImageSourceType where+ toQueryParam = \case+ Raw -> "RAW"++instance FromJSON ImageSourceType where+ parseJSON = parseJSONText "ImageSourceType"++instance ToJSON ImageSourceType 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+ = FRSLWCCleanupFailed+ -- ^ @CLEANUP_FAILED@+ | FRSLWCDeprecatedResourceUsed+ -- ^ @DEPRECATED_RESOURCE_USED@+ | FRSLWCDiskSizeLargerThanImageSize+ -- ^ @DISK_SIZE_LARGER_THAN_IMAGE_SIZE@+ | FRSLWCInjectedKernelsDeprecated+ -- ^ @INJECTED_KERNELS_DEPRECATED@+ | FRSLWCNextHopAddressNotAssigned+ -- ^ @NEXT_HOP_ADDRESS_NOT_ASSIGNED@+ | FRSLWCNextHopCannotIPForward+ -- ^ @NEXT_HOP_CANNOT_IP_FORWARD@+ | FRSLWCNextHopInstanceNotFound+ -- ^ @NEXT_HOP_INSTANCE_NOT_FOUND@+ | FRSLWCNextHopInstanceNotOnNetwork+ -- ^ @NEXT_HOP_INSTANCE_NOT_ON_NETWORK@+ | FRSLWCNextHopNotRunning+ -- ^ @NEXT_HOP_NOT_RUNNING@+ | FRSLWCNotCriticalError+ -- ^ @NOT_CRITICAL_ERROR@+ | FRSLWCNoResultsOnPage+ -- ^ @NO_RESULTS_ON_PAGE@+ | FRSLWCRequiredTosAgreement+ -- ^ @REQUIRED_TOS_AGREEMENT@+ | FRSLWCResourceNotDeleted+ -- ^ @RESOURCE_NOT_DELETED@+ | FRSLWCSingleInstancePropertyTemplate+ -- ^ @SINGLE_INSTANCE_PROPERTY_TEMPLATE@+ | FRSLWCUnreachable+ -- ^ @UNREACHABLE@+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable ForwardingRulesScopedListWarningCode++instance FromHttpApiData ForwardingRulesScopedListWarningCode where+ parseQueryParam = \case+ "CLEANUP_FAILED" -> Right FRSLWCCleanupFailed+ "DEPRECATED_RESOURCE_USED" -> Right FRSLWCDeprecatedResourceUsed+ "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" -> Right FRSLWCDiskSizeLargerThanImageSize+ "INJECTED_KERNELS_DEPRECATED" -> Right FRSLWCInjectedKernelsDeprecated+ "NEXT_HOP_ADDRESS_NOT_ASSIGNED" -> Right FRSLWCNextHopAddressNotAssigned+ "NEXT_HOP_CANNOT_IP_FORWARD" -> Right FRSLWCNextHopCannotIPForward+ "NEXT_HOP_INSTANCE_NOT_FOUND" -> Right FRSLWCNextHopInstanceNotFound+ "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" -> Right FRSLWCNextHopInstanceNotOnNetwork+ "NEXT_HOP_NOT_RUNNING" -> Right FRSLWCNextHopNotRunning+ "NOT_CRITICAL_ERROR" -> Right FRSLWCNotCriticalError+ "NO_RESULTS_ON_PAGE" -> Right FRSLWCNoResultsOnPage+ "REQUIRED_TOS_AGREEMENT" -> Right FRSLWCRequiredTosAgreement+ "RESOURCE_NOT_DELETED" -> Right FRSLWCResourceNotDeleted+ "SINGLE_INSTANCE_PROPERTY_TEMPLATE" -> Right FRSLWCSingleInstancePropertyTemplate+ "UNREACHABLE" -> Right FRSLWCUnreachable+ x -> Left ("Unable to parse ForwardingRulesScopedListWarningCode from: " <> x)++instance ToHttpApiData ForwardingRulesScopedListWarningCode where+ toQueryParam = \case+ FRSLWCCleanupFailed -> "CLEANUP_FAILED"+ FRSLWCDeprecatedResourceUsed -> "DEPRECATED_RESOURCE_USED"+ FRSLWCDiskSizeLargerThanImageSize -> "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"+ FRSLWCInjectedKernelsDeprecated -> "INJECTED_KERNELS_DEPRECATED"+ FRSLWCNextHopAddressNotAssigned -> "NEXT_HOP_ADDRESS_NOT_ASSIGNED"+ FRSLWCNextHopCannotIPForward -> "NEXT_HOP_CANNOT_IP_FORWARD"+ FRSLWCNextHopInstanceNotFound -> "NEXT_HOP_INSTANCE_NOT_FOUND"+ FRSLWCNextHopInstanceNotOnNetwork -> "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"+ FRSLWCNextHopNotRunning -> "NEXT_HOP_NOT_RUNNING"+ FRSLWCNotCriticalError -> "NOT_CRITICAL_ERROR"+ FRSLWCNoResultsOnPage -> "NO_RESULTS_ON_PAGE"+ FRSLWCRequiredTosAgreement -> "REQUIRED_TOS_AGREEMENT"+ FRSLWCResourceNotDeleted -> "RESOURCE_NOT_DELETED"+ FRSLWCSingleInstancePropertyTemplate -> "SINGLE_INSTANCE_PROPERTY_TEMPLATE"+ FRSLWCUnreachable -> "UNREACHABLE"++instance FromJSON ForwardingRulesScopedListWarningCode where+ parseJSON = parseJSONText "ForwardingRulesScopedListWarningCode"++instance ToJSON ForwardingRulesScopedListWarningCode 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 OperationsScopedListWarningCode+ = OSLWCCleanupFailed+ -- ^ @CLEANUP_FAILED@+ | OSLWCDeprecatedResourceUsed+ -- ^ @DEPRECATED_RESOURCE_USED@+ | OSLWCDiskSizeLargerThanImageSize+ -- ^ @DISK_SIZE_LARGER_THAN_IMAGE_SIZE@+ | OSLWCInjectedKernelsDeprecated+ -- ^ @INJECTED_KERNELS_DEPRECATED@+ | OSLWCNextHopAddressNotAssigned+ -- ^ @NEXT_HOP_ADDRESS_NOT_ASSIGNED@+ | OSLWCNextHopCannotIPForward+ -- ^ @NEXT_HOP_CANNOT_IP_FORWARD@+ | OSLWCNextHopInstanceNotFound+ -- ^ @NEXT_HOP_INSTANCE_NOT_FOUND@+ | OSLWCNextHopInstanceNotOnNetwork+ -- ^ @NEXT_HOP_INSTANCE_NOT_ON_NETWORK@+ | OSLWCNextHopNotRunning+ -- ^ @NEXT_HOP_NOT_RUNNING@+ | OSLWCNotCriticalError+ -- ^ @NOT_CRITICAL_ERROR@+ | OSLWCNoResultsOnPage+ -- ^ @NO_RESULTS_ON_PAGE@+ | OSLWCRequiredTosAgreement+ -- ^ @REQUIRED_TOS_AGREEMENT@+ | OSLWCResourceNotDeleted+ -- ^ @RESOURCE_NOT_DELETED@+ | OSLWCSingleInstancePropertyTemplate+ -- ^ @SINGLE_INSTANCE_PROPERTY_TEMPLATE@+ | OSLWCUnreachable+ -- ^ @UNREACHABLE@+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable OperationsScopedListWarningCode++instance FromHttpApiData OperationsScopedListWarningCode where+ parseQueryParam = \case+ "CLEANUP_FAILED" -> Right OSLWCCleanupFailed+ "DEPRECATED_RESOURCE_USED" -> Right OSLWCDeprecatedResourceUsed+ "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" -> Right OSLWCDiskSizeLargerThanImageSize+ "INJECTED_KERNELS_DEPRECATED" -> Right OSLWCInjectedKernelsDeprecated+ "NEXT_HOP_ADDRESS_NOT_ASSIGNED" -> Right OSLWCNextHopAddressNotAssigned+ "NEXT_HOP_CANNOT_IP_FORWARD" -> Right OSLWCNextHopCannotIPForward+ "NEXT_HOP_INSTANCE_NOT_FOUND" -> Right OSLWCNextHopInstanceNotFound+ "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" -> Right OSLWCNextHopInstanceNotOnNetwork+ "NEXT_HOP_NOT_RUNNING" -> Right OSLWCNextHopNotRunning+ "NOT_CRITICAL_ERROR" -> Right OSLWCNotCriticalError+ "NO_RESULTS_ON_PAGE" -> Right OSLWCNoResultsOnPage+ "REQUIRED_TOS_AGREEMENT" -> Right OSLWCRequiredTosAgreement+ "RESOURCE_NOT_DELETED" -> Right OSLWCResourceNotDeleted+ "SINGLE_INSTANCE_PROPERTY_TEMPLATE" -> Right OSLWCSingleInstancePropertyTemplate+ "UNREACHABLE" -> Right OSLWCUnreachable+ x -> Left ("Unable to parse OperationsScopedListWarningCode from: " <> x)++instance ToHttpApiData OperationsScopedListWarningCode where+ toQueryParam = \case+ OSLWCCleanupFailed -> "CLEANUP_FAILED"+ OSLWCDeprecatedResourceUsed -> "DEPRECATED_RESOURCE_USED"+ OSLWCDiskSizeLargerThanImageSize -> "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"+ OSLWCInjectedKernelsDeprecated -> "INJECTED_KERNELS_DEPRECATED"+ OSLWCNextHopAddressNotAssigned -> "NEXT_HOP_ADDRESS_NOT_ASSIGNED"+ OSLWCNextHopCannotIPForward -> "NEXT_HOP_CANNOT_IP_FORWARD"+ OSLWCNextHopInstanceNotFound -> "NEXT_HOP_INSTANCE_NOT_FOUND"+ OSLWCNextHopInstanceNotOnNetwork -> "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"+ OSLWCNextHopNotRunning -> "NEXT_HOP_NOT_RUNNING"+ OSLWCNotCriticalError -> "NOT_CRITICAL_ERROR"+ OSLWCNoResultsOnPage -> "NO_RESULTS_ON_PAGE"+ OSLWCRequiredTosAgreement -> "REQUIRED_TOS_AGREEMENT"+ OSLWCResourceNotDeleted -> "RESOURCE_NOT_DELETED"+ OSLWCSingleInstancePropertyTemplate -> "SINGLE_INSTANCE_PROPERTY_TEMPLATE"+ OSLWCUnreachable -> "UNREACHABLE"++instance FromJSON OperationsScopedListWarningCode where+ parseJSON = parseJSONText "OperationsScopedListWarningCode"++instance ToJSON OperationsScopedListWarningCode 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 DisksScopedListWarningCode+ = DSLWCCleanupFailed+ -- ^ @CLEANUP_FAILED@+ | DSLWCDeprecatedResourceUsed+ -- ^ @DEPRECATED_RESOURCE_USED@+ | DSLWCDiskSizeLargerThanImageSize+ -- ^ @DISK_SIZE_LARGER_THAN_IMAGE_SIZE@+ | DSLWCInjectedKernelsDeprecated+ -- ^ @INJECTED_KERNELS_DEPRECATED@+ | DSLWCNextHopAddressNotAssigned+ -- ^ @NEXT_HOP_ADDRESS_NOT_ASSIGNED@+ | DSLWCNextHopCannotIPForward+ -- ^ @NEXT_HOP_CANNOT_IP_FORWARD@+ | DSLWCNextHopInstanceNotFound+ -- ^ @NEXT_HOP_INSTANCE_NOT_FOUND@+ | DSLWCNextHopInstanceNotOnNetwork+ -- ^ @NEXT_HOP_INSTANCE_NOT_ON_NETWORK@+ | DSLWCNextHopNotRunning+ -- ^ @NEXT_HOP_NOT_RUNNING@+ | DSLWCNotCriticalError+ -- ^ @NOT_CRITICAL_ERROR@+ | DSLWCNoResultsOnPage+ -- ^ @NO_RESULTS_ON_PAGE@+ | DSLWCRequiredTosAgreement+ -- ^ @REQUIRED_TOS_AGREEMENT@+ | DSLWCResourceNotDeleted+ -- ^ @RESOURCE_NOT_DELETED@+ | DSLWCSingleInstancePropertyTemplate+ -- ^ @SINGLE_INSTANCE_PROPERTY_TEMPLATE@+ | DSLWCUnreachable+ -- ^ @UNREACHABLE@+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable DisksScopedListWarningCode++instance FromHttpApiData DisksScopedListWarningCode where+ parseQueryParam = \case+ "CLEANUP_FAILED" -> Right DSLWCCleanupFailed+ "DEPRECATED_RESOURCE_USED" -> Right DSLWCDeprecatedResourceUsed+ "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" -> Right DSLWCDiskSizeLargerThanImageSize+ "INJECTED_KERNELS_DEPRECATED" -> Right DSLWCInjectedKernelsDeprecated+ "NEXT_HOP_ADDRESS_NOT_ASSIGNED" -> Right DSLWCNextHopAddressNotAssigned+ "NEXT_HOP_CANNOT_IP_FORWARD" -> Right DSLWCNextHopCannotIPForward+ "NEXT_HOP_INSTANCE_NOT_FOUND" -> Right DSLWCNextHopInstanceNotFound+ "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" -> Right DSLWCNextHopInstanceNotOnNetwork+ "NEXT_HOP_NOT_RUNNING" -> Right DSLWCNextHopNotRunning+ "NOT_CRITICAL_ERROR" -> Right DSLWCNotCriticalError+ "NO_RESULTS_ON_PAGE" -> Right DSLWCNoResultsOnPage+ "REQUIRED_TOS_AGREEMENT" -> Right DSLWCRequiredTosAgreement+ "RESOURCE_NOT_DELETED" -> Right DSLWCResourceNotDeleted+ "SINGLE_INSTANCE_PROPERTY_TEMPLATE" -> Right DSLWCSingleInstancePropertyTemplate+ "UNREACHABLE" -> Right DSLWCUnreachable+ x -> Left ("Unable to parse DisksScopedListWarningCode from: " <> x)++instance ToHttpApiData DisksScopedListWarningCode where+ toQueryParam = \case+ DSLWCCleanupFailed -> "CLEANUP_FAILED"+ DSLWCDeprecatedResourceUsed -> "DEPRECATED_RESOURCE_USED"+ DSLWCDiskSizeLargerThanImageSize -> "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"+ DSLWCInjectedKernelsDeprecated -> "INJECTED_KERNELS_DEPRECATED"+ DSLWCNextHopAddressNotAssigned -> "NEXT_HOP_ADDRESS_NOT_ASSIGNED"+ DSLWCNextHopCannotIPForward -> "NEXT_HOP_CANNOT_IP_FORWARD"+ DSLWCNextHopInstanceNotFound -> "NEXT_HOP_INSTANCE_NOT_FOUND"+ DSLWCNextHopInstanceNotOnNetwork -> "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"+ DSLWCNextHopNotRunning -> "NEXT_HOP_NOT_RUNNING"+ DSLWCNotCriticalError -> "NOT_CRITICAL_ERROR"+ DSLWCNoResultsOnPage -> "NO_RESULTS_ON_PAGE"+ DSLWCRequiredTosAgreement -> "REQUIRED_TOS_AGREEMENT"+ DSLWCResourceNotDeleted -> "RESOURCE_NOT_DELETED"+ DSLWCSingleInstancePropertyTemplate -> "SINGLE_INSTANCE_PROPERTY_TEMPLATE"+ DSLWCUnreachable -> "UNREACHABLE"++instance FromJSON DisksScopedListWarningCode where+ parseJSON = parseJSONText "DisksScopedListWarningCode"++instance ToJSON DisksScopedListWarningCode 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 InstanceGroupManagersScopedListWarningCode+ = IGMSLWCCleanupFailed+ -- ^ @CLEANUP_FAILED@+ | IGMSLWCDeprecatedResourceUsed+ -- ^ @DEPRECATED_RESOURCE_USED@+ | IGMSLWCDiskSizeLargerThanImageSize+ -- ^ @DISK_SIZE_LARGER_THAN_IMAGE_SIZE@+ | IGMSLWCInjectedKernelsDeprecated+ -- ^ @INJECTED_KERNELS_DEPRECATED@+ | IGMSLWCNextHopAddressNotAssigned+ -- ^ @NEXT_HOP_ADDRESS_NOT_ASSIGNED@+ | IGMSLWCNextHopCannotIPForward+ -- ^ @NEXT_HOP_CANNOT_IP_FORWARD@+ | IGMSLWCNextHopInstanceNotFound+ -- ^ @NEXT_HOP_INSTANCE_NOT_FOUND@+ | IGMSLWCNextHopInstanceNotOnNetwork+ -- ^ @NEXT_HOP_INSTANCE_NOT_ON_NETWORK@+ | IGMSLWCNextHopNotRunning+ -- ^ @NEXT_HOP_NOT_RUNNING@+ | IGMSLWCNotCriticalError+ -- ^ @NOT_CRITICAL_ERROR@+ | IGMSLWCNoResultsOnPage+ -- ^ @NO_RESULTS_ON_PAGE@+ | IGMSLWCRequiredTosAgreement+ -- ^ @REQUIRED_TOS_AGREEMENT@+ | IGMSLWCResourceNotDeleted+ -- ^ @RESOURCE_NOT_DELETED@+ | IGMSLWCSingleInstancePropertyTemplate+ -- ^ @SINGLE_INSTANCE_PROPERTY_TEMPLATE@+ | IGMSLWCUnreachable+ -- ^ @UNREACHABLE@+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable InstanceGroupManagersScopedListWarningCode++instance FromHttpApiData InstanceGroupManagersScopedListWarningCode where+ parseQueryParam = \case+ "CLEANUP_FAILED" -> Right IGMSLWCCleanupFailed+ "DEPRECATED_RESOURCE_USED" -> Right IGMSLWCDeprecatedResourceUsed+ "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" -> Right IGMSLWCDiskSizeLargerThanImageSize+ "INJECTED_KERNELS_DEPRECATED" -> Right IGMSLWCInjectedKernelsDeprecated+ "NEXT_HOP_ADDRESS_NOT_ASSIGNED" -> Right IGMSLWCNextHopAddressNotAssigned+ "NEXT_HOP_CANNOT_IP_FORWARD" -> Right IGMSLWCNextHopCannotIPForward+ "NEXT_HOP_INSTANCE_NOT_FOUND" -> Right IGMSLWCNextHopInstanceNotFound+ "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" -> Right IGMSLWCNextHopInstanceNotOnNetwork+ "NEXT_HOP_NOT_RUNNING" -> Right IGMSLWCNextHopNotRunning+ "NOT_CRITICAL_ERROR" -> Right IGMSLWCNotCriticalError+ "NO_RESULTS_ON_PAGE" -> Right IGMSLWCNoResultsOnPage+ "REQUIRED_TOS_AGREEMENT" -> Right IGMSLWCRequiredTosAgreement+ "RESOURCE_NOT_DELETED" -> Right IGMSLWCResourceNotDeleted+ "SINGLE_INSTANCE_PROPERTY_TEMPLATE" -> Right IGMSLWCSingleInstancePropertyTemplate+ "UNREACHABLE" -> Right IGMSLWCUnreachable+ x -> Left ("Unable to parse InstanceGroupManagersScopedListWarningCode from: " <> x)++instance ToHttpApiData InstanceGroupManagersScopedListWarningCode where+ toQueryParam = \case+ IGMSLWCCleanupFailed -> "CLEANUP_FAILED"+ IGMSLWCDeprecatedResourceUsed -> "DEPRECATED_RESOURCE_USED"+ IGMSLWCDiskSizeLargerThanImageSize -> "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"+ IGMSLWCInjectedKernelsDeprecated -> "INJECTED_KERNELS_DEPRECATED"+ IGMSLWCNextHopAddressNotAssigned -> "NEXT_HOP_ADDRESS_NOT_ASSIGNED"+ IGMSLWCNextHopCannotIPForward -> "NEXT_HOP_CANNOT_IP_FORWARD"+ IGMSLWCNextHopInstanceNotFound -> "NEXT_HOP_INSTANCE_NOT_FOUND"+ IGMSLWCNextHopInstanceNotOnNetwork -> "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"+ IGMSLWCNextHopNotRunning -> "NEXT_HOP_NOT_RUNNING"+ IGMSLWCNotCriticalError -> "NOT_CRITICAL_ERROR"+ IGMSLWCNoResultsOnPage -> "NO_RESULTS_ON_PAGE"+ IGMSLWCRequiredTosAgreement -> "REQUIRED_TOS_AGREEMENT"+ IGMSLWCResourceNotDeleted -> "RESOURCE_NOT_DELETED"+ IGMSLWCSingleInstancePropertyTemplate -> "SINGLE_INSTANCE_PROPERTY_TEMPLATE"+ IGMSLWCUnreachable -> "UNREACHABLE"++instance FromJSON InstanceGroupManagersScopedListWarningCode where+ parseJSON = parseJSONText "InstanceGroupManagersScopedListWarningCode"++instance ToJSON InstanceGroupManagersScopedListWarningCode 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 TargetPoolsScopedListWarningCode+ = TPSLWCCleanupFailed+ -- ^ @CLEANUP_FAILED@+ | TPSLWCDeprecatedResourceUsed+ -- ^ @DEPRECATED_RESOURCE_USED@+ | TPSLWCDiskSizeLargerThanImageSize+ -- ^ @DISK_SIZE_LARGER_THAN_IMAGE_SIZE@+ | TPSLWCInjectedKernelsDeprecated+ -- ^ @INJECTED_KERNELS_DEPRECATED@+ | TPSLWCNextHopAddressNotAssigned+ -- ^ @NEXT_HOP_ADDRESS_NOT_ASSIGNED@+ | TPSLWCNextHopCannotIPForward+ -- ^ @NEXT_HOP_CANNOT_IP_FORWARD@+ | TPSLWCNextHopInstanceNotFound+ -- ^ @NEXT_HOP_INSTANCE_NOT_FOUND@+ | TPSLWCNextHopInstanceNotOnNetwork+ -- ^ @NEXT_HOP_INSTANCE_NOT_ON_NETWORK@+ | TPSLWCNextHopNotRunning+ -- ^ @NEXT_HOP_NOT_RUNNING@+ | TPSLWCNotCriticalError+ -- ^ @NOT_CRITICAL_ERROR@+ | TPSLWCNoResultsOnPage+ -- ^ @NO_RESULTS_ON_PAGE@+ | TPSLWCRequiredTosAgreement+ -- ^ @REQUIRED_TOS_AGREEMENT@+ | TPSLWCResourceNotDeleted+ -- ^ @RESOURCE_NOT_DELETED@+ | TPSLWCSingleInstancePropertyTemplate+ -- ^ @SINGLE_INSTANCE_PROPERTY_TEMPLATE@+ | TPSLWCUnreachable+ -- ^ @UNREACHABLE@+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable TargetPoolsScopedListWarningCode++instance FromHttpApiData TargetPoolsScopedListWarningCode where+ parseQueryParam = \case+ "CLEANUP_FAILED" -> Right TPSLWCCleanupFailed+ "DEPRECATED_RESOURCE_USED" -> Right TPSLWCDeprecatedResourceUsed+ "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" -> Right TPSLWCDiskSizeLargerThanImageSize+ "INJECTED_KERNELS_DEPRECATED" -> Right TPSLWCInjectedKernelsDeprecated+ "NEXT_HOP_ADDRESS_NOT_ASSIGNED" -> Right TPSLWCNextHopAddressNotAssigned+ "NEXT_HOP_CANNOT_IP_FORWARD" -> Right TPSLWCNextHopCannotIPForward+ "NEXT_HOP_INSTANCE_NOT_FOUND" -> Right TPSLWCNextHopInstanceNotFound+ "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" -> Right TPSLWCNextHopInstanceNotOnNetwork+ "NEXT_HOP_NOT_RUNNING" -> Right TPSLWCNextHopNotRunning+ "NOT_CRITICAL_ERROR" -> Right TPSLWCNotCriticalError+ "NO_RESULTS_ON_PAGE" -> Right TPSLWCNoResultsOnPage+ "REQUIRED_TOS_AGREEMENT" -> Right TPSLWCRequiredTosAgreement+ "RESOURCE_NOT_DELETED" -> Right TPSLWCResourceNotDeleted+ "SINGLE_INSTANCE_PROPERTY_TEMPLATE" -> Right TPSLWCSingleInstancePropertyTemplate+ "UNREACHABLE" -> Right TPSLWCUnreachable+ x -> Left ("Unable to parse TargetPoolsScopedListWarningCode from: " <> x)++instance ToHttpApiData TargetPoolsScopedListWarningCode where+ toQueryParam = \case+ TPSLWCCleanupFailed -> "CLEANUP_FAILED"+ TPSLWCDeprecatedResourceUsed -> "DEPRECATED_RESOURCE_USED"+ TPSLWCDiskSizeLargerThanImageSize -> "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"+ TPSLWCInjectedKernelsDeprecated -> "INJECTED_KERNELS_DEPRECATED"+ TPSLWCNextHopAddressNotAssigned -> "NEXT_HOP_ADDRESS_NOT_ASSIGNED"+ TPSLWCNextHopCannotIPForward -> "NEXT_HOP_CANNOT_IP_FORWARD"+ TPSLWCNextHopInstanceNotFound -> "NEXT_HOP_INSTANCE_NOT_FOUND"+ TPSLWCNextHopInstanceNotOnNetwork -> "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"+ TPSLWCNextHopNotRunning -> "NEXT_HOP_NOT_RUNNING"+ TPSLWCNotCriticalError -> "NOT_CRITICAL_ERROR"+ TPSLWCNoResultsOnPage -> "NO_RESULTS_ON_PAGE"+ TPSLWCRequiredTosAgreement -> "REQUIRED_TOS_AGREEMENT"+ TPSLWCResourceNotDeleted -> "RESOURCE_NOT_DELETED"+ TPSLWCSingleInstancePropertyTemplate -> "SINGLE_INSTANCE_PROPERTY_TEMPLATE"+ TPSLWCUnreachable -> "UNREACHABLE"++instance FromJSON TargetPoolsScopedListWarningCode where+ parseJSON = parseJSONText "TargetPoolsScopedListWarningCode"++instance ToJSON TargetPoolsScopedListWarningCode where+ toJSON = toJSONText++-- | [Output Only] The status of the VPN gateway.+data TargetVPNGatewayStatus+ = Creating+ -- ^ @CREATING@+ | Deleting+ -- ^ @DELETING@+ | Failed+ -- ^ @FAILED@+ | Ready+ -- ^ @READY@+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable TargetVPNGatewayStatus++instance FromHttpApiData TargetVPNGatewayStatus where+ parseQueryParam = \case+ "CREATING" -> Right Creating+ "DELETING" -> Right Deleting+ "FAILED" -> Right Failed+ "READY" -> Right Ready+ x -> Left ("Unable to parse TargetVPNGatewayStatus from: " <> x)++instance ToHttpApiData TargetVPNGatewayStatus where+ toQueryParam = \case+ Creating -> "CREATING"+ Deleting -> "DELETING"+ Failed -> "FAILED"+ Ready -> "READY"++instance FromJSON TargetVPNGatewayStatus where+ parseJSON = parseJSONText "TargetVPNGatewayStatus"++instance ToJSON TargetVPNGatewayStatus where+ toJSON = toJSONText++-- | [Output Only] The status of the snapshot. This can be CREATING,+-- DELETING, FAILED, READY, or UPLOADING.+data SnapshotStatus+ = SSCreating+ -- ^ @CREATING@+ | SSDeleting+ -- ^ @DELETING@+ | SSFailed+ -- ^ @FAILED@+ | SSReady+ -- ^ @READY@+ | SSUploading+ -- ^ @UPLOADING@+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable SnapshotStatus++instance FromHttpApiData SnapshotStatus where+ parseQueryParam = \case+ "CREATING" -> Right SSCreating+ "DELETING" -> Right SSDeleting+ "FAILED" -> Right SSFailed+ "READY" -> Right SSReady+ "UPLOADING" -> Right SSUploading+ x -> Left ("Unable to parse SnapshotStatus from: " <> x)++instance ToHttpApiData SnapshotStatus where+ toQueryParam = \case+ SSCreating -> "CREATING"+ SSDeleting -> "DELETING"+ SSFailed -> "FAILED"+ SSReady -> "READY"+ SSUploading -> "UPLOADING"++instance FromJSON SnapshotStatus where+ parseJSON = parseJSONText "SnapshotStatus"++instance ToJSON SnapshotStatus 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 TargetInstancesScopedListWarningCode+ = TISLWCCleanupFailed+ -- ^ @CLEANUP_FAILED@+ | TISLWCDeprecatedResourceUsed+ -- ^ @DEPRECATED_RESOURCE_USED@+ | TISLWCDiskSizeLargerThanImageSize+ -- ^ @DISK_SIZE_LARGER_THAN_IMAGE_SIZE@+ | TISLWCInjectedKernelsDeprecated+ -- ^ @INJECTED_KERNELS_DEPRECATED@+ | TISLWCNextHopAddressNotAssigned+ -- ^ @NEXT_HOP_ADDRESS_NOT_ASSIGNED@+ | TISLWCNextHopCannotIPForward+ -- ^ @NEXT_HOP_CANNOT_IP_FORWARD@+ | TISLWCNextHopInstanceNotFound+ -- ^ @NEXT_HOP_INSTANCE_NOT_FOUND@+ | TISLWCNextHopInstanceNotOnNetwork+ -- ^ @NEXT_HOP_INSTANCE_NOT_ON_NETWORK@+ | TISLWCNextHopNotRunning+ -- ^ @NEXT_HOP_NOT_RUNNING@+ | TISLWCNotCriticalError+ -- ^ @NOT_CRITICAL_ERROR@+ | TISLWCNoResultsOnPage+ -- ^ @NO_RESULTS_ON_PAGE@+ | TISLWCRequiredTosAgreement+ -- ^ @REQUIRED_TOS_AGREEMENT@+ | TISLWCResourceNotDeleted+ -- ^ @RESOURCE_NOT_DELETED@+ | TISLWCSingleInstancePropertyTemplate+ -- ^ @SINGLE_INSTANCE_PROPERTY_TEMPLATE@+ | TISLWCUnreachable+ -- ^ @UNREACHABLE@+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable TargetInstancesScopedListWarningCode++instance FromHttpApiData TargetInstancesScopedListWarningCode where+ parseQueryParam = \case+ "CLEANUP_FAILED" -> Right TISLWCCleanupFailed+ "DEPRECATED_RESOURCE_USED" -> Right TISLWCDeprecatedResourceUsed+ "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" -> Right TISLWCDiskSizeLargerThanImageSize+ "INJECTED_KERNELS_DEPRECATED" -> Right TISLWCInjectedKernelsDeprecated+ "NEXT_HOP_ADDRESS_NOT_ASSIGNED" -> Right TISLWCNextHopAddressNotAssigned+ "NEXT_HOP_CANNOT_IP_FORWARD" -> Right TISLWCNextHopCannotIPForward+ "NEXT_HOP_INSTANCE_NOT_FOUND" -> Right TISLWCNextHopInstanceNotFound+ "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" -> Right TISLWCNextHopInstanceNotOnNetwork+ "NEXT_HOP_NOT_RUNNING" -> Right TISLWCNextHopNotRunning+ "NOT_CRITICAL_ERROR" -> Right TISLWCNotCriticalError+ "NO_RESULTS_ON_PAGE" -> Right TISLWCNoResultsOnPage+ "REQUIRED_TOS_AGREEMENT" -> Right TISLWCRequiredTosAgreement+ "RESOURCE_NOT_DELETED" -> Right TISLWCResourceNotDeleted+ "SINGLE_INSTANCE_PROPERTY_TEMPLATE" -> Right TISLWCSingleInstancePropertyTemplate+ "UNREACHABLE" -> Right TISLWCUnreachable+ x -> Left ("Unable to parse TargetInstancesScopedListWarningCode from: " <> x)++instance ToHttpApiData TargetInstancesScopedListWarningCode where+ toQueryParam = \case+ TISLWCCleanupFailed -> "CLEANUP_FAILED"+ TISLWCDeprecatedResourceUsed -> "DEPRECATED_RESOURCE_USED"+ TISLWCDiskSizeLargerThanImageSize -> "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"+ TISLWCInjectedKernelsDeprecated -> "INJECTED_KERNELS_DEPRECATED"+ TISLWCNextHopAddressNotAssigned -> "NEXT_HOP_ADDRESS_NOT_ASSIGNED"+ TISLWCNextHopCannotIPForward -> "NEXT_HOP_CANNOT_IP_FORWARD"+ TISLWCNextHopInstanceNotFound -> "NEXT_HOP_INSTANCE_NOT_FOUND"+ TISLWCNextHopInstanceNotOnNetwork -> "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"+ TISLWCNextHopNotRunning -> "NEXT_HOP_NOT_RUNNING"+ TISLWCNotCriticalError -> "NOT_CRITICAL_ERROR"+ TISLWCNoResultsOnPage -> "NO_RESULTS_ON_PAGE"+ TISLWCRequiredTosAgreement -> "REQUIRED_TOS_AGREEMENT"+ TISLWCResourceNotDeleted -> "RESOURCE_NOT_DELETED"+ TISLWCSingleInstancePropertyTemplate -> "SINGLE_INSTANCE_PROPERTY_TEMPLATE"+ TISLWCUnreachable -> "UNREACHABLE"++instance FromJSON TargetInstancesScopedListWarningCode where+ parseJSON = parseJSONText "TargetInstancesScopedListWarningCode"++instance ToJSON TargetInstancesScopedListWarningCode 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 RouteWarningsItemCode+ = RWICCleanupFailed+ -- ^ @CLEANUP_FAILED@+ | RWICDeprecatedResourceUsed+ -- ^ @DEPRECATED_RESOURCE_USED@+ | RWICDiskSizeLargerThanImageSize+ -- ^ @DISK_SIZE_LARGER_THAN_IMAGE_SIZE@+ | RWICInjectedKernelsDeprecated+ -- ^ @INJECTED_KERNELS_DEPRECATED@+ | RWICNextHopAddressNotAssigned+ -- ^ @NEXT_HOP_ADDRESS_NOT_ASSIGNED@+ | RWICNextHopCannotIPForward+ -- ^ @NEXT_HOP_CANNOT_IP_FORWARD@+ | RWICNextHopInstanceNotFound+ -- ^ @NEXT_HOP_INSTANCE_NOT_FOUND@+ | RWICNextHopInstanceNotOnNetwork+ -- ^ @NEXT_HOP_INSTANCE_NOT_ON_NETWORK@+ | RWICNextHopNotRunning+ -- ^ @NEXT_HOP_NOT_RUNNING@+ | RWICNotCriticalError+ -- ^ @NOT_CRITICAL_ERROR@+ | RWICNoResultsOnPage+ -- ^ @NO_RESULTS_ON_PAGE@+ | RWICRequiredTosAgreement+ -- ^ @REQUIRED_TOS_AGREEMENT@+ | RWICResourceNotDeleted+ -- ^ @RESOURCE_NOT_DELETED@+ | RWICSingleInstancePropertyTemplate+ -- ^ @SINGLE_INSTANCE_PROPERTY_TEMPLATE@+ | RWICUnreachable+ -- ^ @UNREACHABLE@+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable RouteWarningsItemCode++instance FromHttpApiData RouteWarningsItemCode where+ parseQueryParam = \case+ "CLEANUP_FAILED" -> Right RWICCleanupFailed+ "DEPRECATED_RESOURCE_USED" -> Right RWICDeprecatedResourceUsed+ "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" -> Right RWICDiskSizeLargerThanImageSize+ "INJECTED_KERNELS_DEPRECATED" -> Right RWICInjectedKernelsDeprecated+ "NEXT_HOP_ADDRESS_NOT_ASSIGNED" -> Right RWICNextHopAddressNotAssigned+ "NEXT_HOP_CANNOT_IP_FORWARD" -> Right RWICNextHopCannotIPForward+ "NEXT_HOP_INSTANCE_NOT_FOUND" -> Right RWICNextHopInstanceNotFound+ "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" -> Right RWICNextHopInstanceNotOnNetwork+ "NEXT_HOP_NOT_RUNNING" -> Right RWICNextHopNotRunning+ "NOT_CRITICAL_ERROR" -> Right RWICNotCriticalError+ "NO_RESULTS_ON_PAGE" -> Right RWICNoResultsOnPage+ "REQUIRED_TOS_AGREEMENT" -> Right RWICRequiredTosAgreement+ "RESOURCE_NOT_DELETED" -> Right RWICResourceNotDeleted+ "SINGLE_INSTANCE_PROPERTY_TEMPLATE" -> Right RWICSingleInstancePropertyTemplate+ "UNREACHABLE" -> Right RWICUnreachable+ x -> Left ("Unable to parse RouteWarningsItemCode from: " <> x)++instance ToHttpApiData RouteWarningsItemCode where+ toQueryParam = \case+ RWICCleanupFailed -> "CLEANUP_FAILED"+ RWICDeprecatedResourceUsed -> "DEPRECATED_RESOURCE_USED"+ RWICDiskSizeLargerThanImageSize -> "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"+ RWICInjectedKernelsDeprecated -> "INJECTED_KERNELS_DEPRECATED"+ RWICNextHopAddressNotAssigned -> "NEXT_HOP_ADDRESS_NOT_ASSIGNED"+ RWICNextHopCannotIPForward -> "NEXT_HOP_CANNOT_IP_FORWARD"+ RWICNextHopInstanceNotFound -> "NEXT_HOP_INSTANCE_NOT_FOUND"+ RWICNextHopInstanceNotOnNetwork -> "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"+ RWICNextHopNotRunning -> "NEXT_HOP_NOT_RUNNING"+ RWICNotCriticalError -> "NOT_CRITICAL_ERROR"+ RWICNoResultsOnPage -> "NO_RESULTS_ON_PAGE"+ RWICRequiredTosAgreement -> "REQUIRED_TOS_AGREEMENT"+ RWICResourceNotDeleted -> "RESOURCE_NOT_DELETED"+ RWICSingleInstancePropertyTemplate -> "SINGLE_INSTANCE_PROPERTY_TEMPLATE"+ RWICUnreachable -> "UNREACHABLE"++instance FromJSON RouteWarningsItemCode where+ parseJSON = parseJSONText "RouteWarningsItemCode"++instance ToJSON RouteWarningsItemCode where+ toJSON = toJSONText++-- | [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.+data SnapshotStorageBytesStatus+ = Updating+ -- ^ @UPDATING@+ | UpToDate+ -- ^ @UP_TO_DATE@+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable SnapshotStorageBytesStatus++instance FromHttpApiData SnapshotStorageBytesStatus where+ parseQueryParam = \case+ "UPDATING" -> Right Updating+ "UP_TO_DATE" -> Right UpToDate+ x -> Left ("Unable to parse SnapshotStorageBytesStatus from: " <> x)++instance ToHttpApiData SnapshotStorageBytesStatus where+ toQueryParam = \case+ Updating -> "UPDATING"+ UpToDate -> "UP_TO_DATE"++instance FromJSON SnapshotStorageBytesStatus where+ parseJSON = parseJSONText "SnapshotStorageBytesStatus"++instance ToJSON SnapshotStorageBytesStatus 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 AddressesScopedListWarningCode+ = ASLWCCleanupFailed+ -- ^ @CLEANUP_FAILED@+ | ASLWCDeprecatedResourceUsed+ -- ^ @DEPRECATED_RESOURCE_USED@+ | ASLWCDiskSizeLargerThanImageSize+ -- ^ @DISK_SIZE_LARGER_THAN_IMAGE_SIZE@+ | ASLWCInjectedKernelsDeprecated+ -- ^ @INJECTED_KERNELS_DEPRECATED@+ | ASLWCNextHopAddressNotAssigned+ -- ^ @NEXT_HOP_ADDRESS_NOT_ASSIGNED@+ | ASLWCNextHopCannotIPForward+ -- ^ @NEXT_HOP_CANNOT_IP_FORWARD@+ | ASLWCNextHopInstanceNotFound+ -- ^ @NEXT_HOP_INSTANCE_NOT_FOUND@+ | ASLWCNextHopInstanceNotOnNetwork+ -- ^ @NEXT_HOP_INSTANCE_NOT_ON_NETWORK@+ | ASLWCNextHopNotRunning+ -- ^ @NEXT_HOP_NOT_RUNNING@+ | ASLWCNotCriticalError+ -- ^ @NOT_CRITICAL_ERROR@+ | ASLWCNoResultsOnPage+ -- ^ @NO_RESULTS_ON_PAGE@+ | ASLWCRequiredTosAgreement+ -- ^ @REQUIRED_TOS_AGREEMENT@+ | ASLWCResourceNotDeleted+ -- ^ @RESOURCE_NOT_DELETED@+ | ASLWCSingleInstancePropertyTemplate+ -- ^ @SINGLE_INSTANCE_PROPERTY_TEMPLATE@+ | ASLWCUnreachable+ -- ^ @UNREACHABLE@+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable AddressesScopedListWarningCode++instance FromHttpApiData AddressesScopedListWarningCode where+ parseQueryParam = \case+ "CLEANUP_FAILED" -> Right ASLWCCleanupFailed+ "DEPRECATED_RESOURCE_USED" -> Right ASLWCDeprecatedResourceUsed+ "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" -> Right ASLWCDiskSizeLargerThanImageSize+ "INJECTED_KERNELS_DEPRECATED" -> Right ASLWCInjectedKernelsDeprecated+ "NEXT_HOP_ADDRESS_NOT_ASSIGNED" -> Right ASLWCNextHopAddressNotAssigned+ "NEXT_HOP_CANNOT_IP_FORWARD" -> Right ASLWCNextHopCannotIPForward+ "NEXT_HOP_INSTANCE_NOT_FOUND" -> Right ASLWCNextHopInstanceNotFound+ "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" -> Right ASLWCNextHopInstanceNotOnNetwork+ "NEXT_HOP_NOT_RUNNING" -> Right ASLWCNextHopNotRunning+ "NOT_CRITICAL_ERROR" -> Right ASLWCNotCriticalError+ "NO_RESULTS_ON_PAGE" -> Right ASLWCNoResultsOnPage+ "REQUIRED_TOS_AGREEMENT" -> Right ASLWCRequiredTosAgreement+ "RESOURCE_NOT_DELETED" -> Right ASLWCResourceNotDeleted+ "SINGLE_INSTANCE_PROPERTY_TEMPLATE" -> Right ASLWCSingleInstancePropertyTemplate+ "UNREACHABLE" -> Right ASLWCUnreachable+ x -> Left ("Unable to parse AddressesScopedListWarningCode from: " <> x)++instance ToHttpApiData AddressesScopedListWarningCode where+ toQueryParam = \case+ ASLWCCleanupFailed -> "CLEANUP_FAILED"+ ASLWCDeprecatedResourceUsed -> "DEPRECATED_RESOURCE_USED"+ ASLWCDiskSizeLargerThanImageSize -> "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"+ ASLWCInjectedKernelsDeprecated -> "INJECTED_KERNELS_DEPRECATED"+ ASLWCNextHopAddressNotAssigned -> "NEXT_HOP_ADDRESS_NOT_ASSIGNED"+ ASLWCNextHopCannotIPForward -> "NEXT_HOP_CANNOT_IP_FORWARD"+ ASLWCNextHopInstanceNotFound -> "NEXT_HOP_INSTANCE_NOT_FOUND"+ ASLWCNextHopInstanceNotOnNetwork -> "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"+ ASLWCNextHopNotRunning -> "NEXT_HOP_NOT_RUNNING"+ ASLWCNotCriticalError -> "NOT_CRITICAL_ERROR"+ ASLWCNoResultsOnPage -> "NO_RESULTS_ON_PAGE"+ ASLWCRequiredTosAgreement -> "REQUIRED_TOS_AGREEMENT"+ ASLWCResourceNotDeleted -> "RESOURCE_NOT_DELETED"+ ASLWCSingleInstancePropertyTemplate -> "SINGLE_INSTANCE_PROPERTY_TEMPLATE"+ ASLWCUnreachable -> "UNREACHABLE"++instance FromJSON AddressesScopedListWarningCode where+ parseJSON = parseJSONText "AddressesScopedListWarningCode"++instance ToJSON AddressesScopedListWarningCode where+ toJSON = toJSONText++-- | [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.+data ImageStatus+ = ISFailed+ -- ^ @FAILED@+ | ISPending+ -- ^ @PENDING@+ | ISReady+ -- ^ @READY@+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable ImageStatus++instance FromHttpApiData ImageStatus where+ parseQueryParam = \case+ "FAILED" -> Right ISFailed+ "PENDING" -> Right ISPending+ "READY" -> Right ISReady+ x -> Left ("Unable to parse ImageStatus from: " <> x)++instance ToHttpApiData ImageStatus where+ toQueryParam = \case+ ISFailed -> "FAILED"+ ISPending -> "PENDING"+ ISReady -> "READY"++instance FromJSON ImageStatus where+ parseJSON = parseJSONText "ImageStatus"++instance ToJSON ImageStatus where+ toJSON = toJSONText++-- | Health state of the instance.+data HealthStatusHealthState+ = Healthy+ -- ^ @HEALTHY@+ | Unhealthy+ -- ^ @UNHEALTHY@+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable HealthStatusHealthState++instance FromHttpApiData HealthStatusHealthState where+ parseQueryParam = \case+ "HEALTHY" -> Right Healthy+ "UNHEALTHY" -> Right Unhealthy+ x -> Left ("Unable to parse HealthStatusHealthState from: " <> x)++instance ToHttpApiData HealthStatusHealthState where+ toQueryParam = \case+ Healthy -> "HEALTHY"+ Unhealthy -> "UNHEALTHY"++instance FromJSON HealthStatusHealthState where+ parseJSON = parseJSONText "HealthStatusHealthState"++instance ToJSON HealthStatusHealthState where+ toJSON = toJSONText++-- | 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.+data DeprecationStatusState+ = Deleted+ -- ^ @DELETED@+ | Deprecated+ -- ^ @DEPRECATED@+ | Obsolete+ -- ^ @OBSOLETE@+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable DeprecationStatusState++instance FromHttpApiData DeprecationStatusState where+ parseQueryParam = \case+ "DELETED" -> Right Deleted+ "DEPRECATED" -> Right Deprecated+ "OBSOLETE" -> Right Obsolete+ x -> Left ("Unable to parse DeprecationStatusState from: " <> x)++instance ToHttpApiData DeprecationStatusState where+ toQueryParam = \case+ Deleted -> "DELETED"+ Deprecated -> "DEPRECATED"+ Obsolete -> "OBSOLETE"++instance FromJSON DeprecationStatusState where+ parseJSON = parseJSONText "DeprecationStatusState"++instance ToJSON DeprecationStatusState 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+-- 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.+data ManagedInstanceCurrentAction+ = MICAAbandoning+ -- ^ @ABANDONING@+ | MICACreating+ -- ^ @CREATING@+ | MICADeleting+ -- ^ @DELETING@+ | MICANone+ -- ^ @NONE@+ | MICARecreating+ -- ^ @RECREATING@+ | MICARefreshing+ -- ^ @REFRESHING@+ | MICARestarting+ -- ^ @RESTARTING@+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable ManagedInstanceCurrentAction++instance FromHttpApiData ManagedInstanceCurrentAction where+ parseQueryParam = \case+ "ABANDONING" -> Right MICAAbandoning+ "CREATING" -> Right MICACreating+ "DELETING" -> Right MICADeleting+ "NONE" -> Right MICANone+ "RECREATING" -> Right MICARecreating+ "REFRESHING" -> Right MICARefreshing+ "RESTARTING" -> Right MICARestarting+ x -> Left ("Unable to parse ManagedInstanceCurrentAction from: " <> x)++instance ToHttpApiData ManagedInstanceCurrentAction where+ toQueryParam = \case+ MICAAbandoning -> "ABANDONING"+ MICACreating -> "CREATING"+ MICADeleting -> "DELETING"+ MICANone -> "NONE"+ MICARecreating -> "RECREATING"+ MICARefreshing -> "REFRESHING"+ MICARestarting -> "RESTARTING"++instance FromJSON ManagedInstanceCurrentAction where+ parseJSON = parseJSONText "ManagedInstanceCurrentAction"++instance ToJSON ManagedInstanceCurrentAction where+ toJSON = toJSONText++-- | NAT option controlling how IPs are NAT\'ed to the instance. Currently+-- only NO_NAT (default value) is supported.+data TargetInstanceNATPolicy+ = NoNAT+ -- ^ @NO_NAT@+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable TargetInstanceNATPolicy++instance FromHttpApiData TargetInstanceNATPolicy where+ parseQueryParam = \case+ "NO_NAT" -> Right NoNAT+ x -> Left ("Unable to parse TargetInstanceNATPolicy from: " <> x)++instance ToHttpApiData TargetInstanceNATPolicy where+ toQueryParam = \case+ NoNAT -> "NO_NAT"++instance FromJSON TargetInstanceNATPolicy where+ parseJSON = parseJSONText "TargetInstanceNATPolicy"++instance ToJSON TargetInstanceNATPolicy where+ toJSON = toJSONText++-- | The type of configuration. The default and only option is+-- ONE_TO_ONE_NAT.+data AccessConfigType+ = OneToOneNAT+ -- ^ @ONE_TO_ONE_NAT@+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable AccessConfigType++instance FromHttpApiData AccessConfigType where+ parseQueryParam = \case+ "ONE_TO_ONE_NAT" -> Right OneToOneNAT+ x -> Left ("Unable to parse AccessConfigType from: " <> x)++instance ToHttpApiData AccessConfigType where+ toQueryParam = \case+ OneToOneNAT -> "ONE_TO_ONE_NAT"++instance FromJSON AccessConfigType where+ parseJSON = parseJSONText "AccessConfigType"++instance ToJSON AccessConfigType where+ toJSON = toJSONText++-- | [Output Only] The status of the operation, which can be one of the+-- following: PENDING, RUNNING, or DONE.+data OperationStatus+ = Done+ -- ^ @DONE@+ | Pending+ -- ^ @PENDING@+ | Running+ -- ^ @RUNNING@+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable OperationStatus++instance FromHttpApiData OperationStatus where+ parseQueryParam = \case+ "DONE" -> Right Done+ "PENDING" -> Right Pending+ "RUNNING" -> Right Running+ x -> Left ("Unable to parse OperationStatus from: " <> x)++instance ToHttpApiData OperationStatus where+ toQueryParam = \case+ Done -> "DONE"+ Pending -> "PENDING"+ Running -> "RUNNING"++instance FromJSON OperationStatus where+ parseJSON = parseJSONText "OperationStatus"++instance ToJSON OperationStatus 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 TargetVPNGatewaysScopedListWarningCode+ = TVGSLWCCleanupFailed+ -- ^ @CLEANUP_FAILED@+ | TVGSLWCDeprecatedResourceUsed+ -- ^ @DEPRECATED_RESOURCE_USED@+ | TVGSLWCDiskSizeLargerThanImageSize+ -- ^ @DISK_SIZE_LARGER_THAN_IMAGE_SIZE@+ | TVGSLWCInjectedKernelsDeprecated+ -- ^ @INJECTED_KERNELS_DEPRECATED@+ | TVGSLWCNextHopAddressNotAssigned+ -- ^ @NEXT_HOP_ADDRESS_NOT_ASSIGNED@+ | TVGSLWCNextHopCannotIPForward+ -- ^ @NEXT_HOP_CANNOT_IP_FORWARD@+ | TVGSLWCNextHopInstanceNotFound+ -- ^ @NEXT_HOP_INSTANCE_NOT_FOUND@+ | TVGSLWCNextHopInstanceNotOnNetwork+ -- ^ @NEXT_HOP_INSTANCE_NOT_ON_NETWORK@+ | TVGSLWCNextHopNotRunning+ -- ^ @NEXT_HOP_NOT_RUNNING@+ | TVGSLWCNotCriticalError+ -- ^ @NOT_CRITICAL_ERROR@+ | TVGSLWCNoResultsOnPage+ -- ^ @NO_RESULTS_ON_PAGE@+ | TVGSLWCRequiredTosAgreement+ -- ^ @REQUIRED_TOS_AGREEMENT@+ | TVGSLWCResourceNotDeleted+ -- ^ @RESOURCE_NOT_DELETED@+ | TVGSLWCSingleInstancePropertyTemplate+ -- ^ @SINGLE_INSTANCE_PROPERTY_TEMPLATE@+ | TVGSLWCUnreachable+ -- ^ @UNREACHABLE@+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable TargetVPNGatewaysScopedListWarningCode++instance FromHttpApiData TargetVPNGatewaysScopedListWarningCode where+ parseQueryParam = \case+ "CLEANUP_FAILED" -> Right TVGSLWCCleanupFailed+ "DEPRECATED_RESOURCE_USED" -> Right TVGSLWCDeprecatedResourceUsed+ "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" -> Right TVGSLWCDiskSizeLargerThanImageSize+ "INJECTED_KERNELS_DEPRECATED" -> Right TVGSLWCInjectedKernelsDeprecated+ "NEXT_HOP_ADDRESS_NOT_ASSIGNED" -> Right TVGSLWCNextHopAddressNotAssigned+ "NEXT_HOP_CANNOT_IP_FORWARD" -> Right TVGSLWCNextHopCannotIPForward+ "NEXT_HOP_INSTANCE_NOT_FOUND" -> Right TVGSLWCNextHopInstanceNotFound+ "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" -> Right TVGSLWCNextHopInstanceNotOnNetwork+ "NEXT_HOP_NOT_RUNNING" -> Right TVGSLWCNextHopNotRunning+ "NOT_CRITICAL_ERROR" -> Right TVGSLWCNotCriticalError+ "NO_RESULTS_ON_PAGE" -> Right TVGSLWCNoResultsOnPage+ "REQUIRED_TOS_AGREEMENT" -> Right TVGSLWCRequiredTosAgreement+ "RESOURCE_NOT_DELETED" -> Right TVGSLWCResourceNotDeleted+ "SINGLE_INSTANCE_PROPERTY_TEMPLATE" -> Right TVGSLWCSingleInstancePropertyTemplate+ "UNREACHABLE" -> Right TVGSLWCUnreachable+ x -> Left ("Unable to parse TargetVPNGatewaysScopedListWarningCode from: " <> x)++instance ToHttpApiData TargetVPNGatewaysScopedListWarningCode where+ toQueryParam = \case+ TVGSLWCCleanupFailed -> "CLEANUP_FAILED"+ TVGSLWCDeprecatedResourceUsed -> "DEPRECATED_RESOURCE_USED"+ TVGSLWCDiskSizeLargerThanImageSize -> "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"+ TVGSLWCInjectedKernelsDeprecated -> "INJECTED_KERNELS_DEPRECATED"+ TVGSLWCNextHopAddressNotAssigned -> "NEXT_HOP_ADDRESS_NOT_ASSIGNED"+ TVGSLWCNextHopCannotIPForward -> "NEXT_HOP_CANNOT_IP_FORWARD"+ TVGSLWCNextHopInstanceNotFound -> "NEXT_HOP_INSTANCE_NOT_FOUND"+ TVGSLWCNextHopInstanceNotOnNetwork -> "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"+ TVGSLWCNextHopNotRunning -> "NEXT_HOP_NOT_RUNNING"+ TVGSLWCNotCriticalError -> "NOT_CRITICAL_ERROR"+ TVGSLWCNoResultsOnPage -> "NO_RESULTS_ON_PAGE"+ TVGSLWCRequiredTosAgreement -> "REQUIRED_TOS_AGREEMENT"+ TVGSLWCResourceNotDeleted -> "RESOURCE_NOT_DELETED"+ TVGSLWCSingleInstancePropertyTemplate -> "SINGLE_INSTANCE_PROPERTY_TEMPLATE"+ TVGSLWCUnreachable -> "UNREACHABLE"++instance FromJSON TargetVPNGatewaysScopedListWarningCode where+ parseJSON = parseJSONText "TargetVPNGatewaysScopedListWarningCode"++instance ToJSON TargetVPNGatewaysScopedListWarningCode where+ toJSON = toJSONText++-- | [Output Only] The status of disk creation. Applicable statuses includes:+-- CREATING, FAILED, READY, RESTORING.+data DiskStatus+ = DSCreating+ -- ^ @CREATING@+ | DSFailed+ -- ^ @FAILED@+ | DSReady+ -- ^ @READY@+ | DSRestoring+ -- ^ @RESTORING@+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable DiskStatus++instance FromHttpApiData DiskStatus where+ parseQueryParam = \case+ "CREATING" -> Right DSCreating+ "FAILED" -> Right DSFailed+ "READY" -> Right DSReady+ "RESTORING" -> Right DSRestoring+ x -> Left ("Unable to parse DiskStatus from: " <> x)++instance ToHttpApiData DiskStatus where+ toQueryParam = \case+ DSCreating -> "CREATING"+ DSFailed -> "FAILED"+ DSReady -> "READY"+ DSRestoring -> "RESTORING"++instance FromJSON DiskStatus where+ parseJSON = parseJSONText "DiskStatus"++instance ToJSON DiskStatus where+ toJSON = toJSONText++-- | [Output Only] The status of the instance. This field is empty when the+-- instance does not exist.+data ManagedInstanceInstanceStatus+ = MIISProvisioning+ -- ^ @PROVISIONING@+ | MIISRunning+ -- ^ @RUNNING@+ | MIISStaging+ -- ^ @STAGING@+ | MIISStopped+ -- ^ @STOPPED@+ | MIISStopping+ -- ^ @STOPPING@+ | MIISSuspended+ -- ^ @SUSPENDED@+ | MIISSuspending+ -- ^ @SUSPENDING@+ | MIISTerminated+ -- ^ @TERMINATED@+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable ManagedInstanceInstanceStatus++instance FromHttpApiData ManagedInstanceInstanceStatus where+ parseQueryParam = \case+ "PROVISIONING" -> Right MIISProvisioning+ "RUNNING" -> Right MIISRunning+ "STAGING" -> Right MIISStaging+ "STOPPED" -> Right MIISStopped+ "STOPPING" -> Right MIISStopping+ "SUSPENDED" -> Right MIISSuspended+ "SUSPENDING" -> Right MIISSuspending+ "TERMINATED" -> Right MIISTerminated+ x -> Left ("Unable to parse ManagedInstanceInstanceStatus from: " <> x)++instance ToHttpApiData ManagedInstanceInstanceStatus where+ toQueryParam = \case+ MIISProvisioning -> "PROVISIONING"+ MIISRunning -> "RUNNING"+ MIISStaging -> "STAGING"+ MIISStopped -> "STOPPED"+ MIISStopping -> "STOPPING"+ MIISSuspended -> "SUSPENDED"+ MIISSuspending -> "SUSPENDING"+ MIISTerminated -> "TERMINATED"++instance FromJSON ManagedInstanceInstanceStatus where+ parseJSON = parseJSONText "ManagedInstanceInstanceStatus"++instance ToJSON ManagedInstanceInstanceStatus where+ toJSON = toJSONText++-- | 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.+data AttachedDiskMode+ = ReadOnly+ -- ^ @READ_ONLY@+ | ReadWrite+ -- ^ @READ_WRITE@+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable AttachedDiskMode++instance FromHttpApiData AttachedDiskMode where+ parseQueryParam = \case+ "READ_ONLY" -> Right ReadOnly+ "READ_WRITE" -> Right ReadWrite+ x -> Left ("Unable to parse AttachedDiskMode from: " <> x)++instance ToHttpApiData AttachedDiskMode where+ toQueryParam = \case+ ReadOnly -> "READ_ONLY"+ ReadWrite -> "READ_WRITE"++instance FromJSON AttachedDiskMode where+ parseJSON = parseJSONText "AttachedDiskMode"++instance ToJSON AttachedDiskMode where+ toJSON = toJSONText++-- | [Output Only] Status of the region, either UP or DOWN.+data RegionStatus+ = Down+ -- ^ @DOWN@+ | UP+ -- ^ @UP@+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable RegionStatus++instance FromHttpApiData RegionStatus where+ parseQueryParam = \case+ "DOWN" -> Right Down+ "UP" -> Right UP+ x -> Left ("Unable to parse RegionStatus from: " <> x)++instance ToHttpApiData RegionStatus where+ toQueryParam = \case+ Down -> "DOWN"+ UP -> "UP"++instance FromJSON RegionStatus where+ parseJSON = parseJSONText "RegionStatus"++instance ToJSON RegionStatus where+ toJSON = toJSONText++-- | [Output Only] The status of the VPN tunnel.+data VPNTunnelStatus+ = VTSAllocatingResources+ -- ^ @ALLOCATING_RESOURCES@+ | VTSAuthorizationError+ -- ^ @AUTHORIZATION_ERROR@+ | VTSDeprovisioning+ -- ^ @DEPROVISIONING@+ | VTSEstablished+ -- ^ @ESTABLISHED@+ | VTSFailed+ -- ^ @FAILED@+ | VTSFirstHandshake+ -- ^ @FIRST_HANDSHAKE@+ | VTSNegotiationFailure+ -- ^ @NEGOTIATION_FAILURE@+ | VTSNetworkError+ -- ^ @NETWORK_ERROR@+ | VTSNoIncomingPackets+ -- ^ @NO_INCOMING_PACKETS@+ | VTSProvisioning+ -- ^ @PROVISIONING@+ | VTSRejected+ -- ^ @REJECTED@+ | VTSWaitingForFullConfig+ -- ^ @WAITING_FOR_FULL_CONFIG@+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable VPNTunnelStatus++instance FromHttpApiData VPNTunnelStatus where+ parseQueryParam = \case+ "ALLOCATING_RESOURCES" -> Right VTSAllocatingResources+ "AUTHORIZATION_ERROR" -> Right VTSAuthorizationError+ "DEPROVISIONING" -> Right VTSDeprovisioning+ "ESTABLISHED" -> Right VTSEstablished+ "FAILED" -> Right VTSFailed+ "FIRST_HANDSHAKE" -> Right VTSFirstHandshake+ "NEGOTIATION_FAILURE" -> Right VTSNegotiationFailure+ "NETWORK_ERROR" -> Right VTSNetworkError+ "NO_INCOMING_PACKETS" -> Right VTSNoIncomingPackets+ "PROVISIONING" -> Right VTSProvisioning+ "REJECTED" -> Right VTSRejected+ "WAITING_FOR_FULL_CONFIG" -> Right VTSWaitingForFullConfig+ x -> Left ("Unable to parse VPNTunnelStatus from: " <> x)++instance ToHttpApiData VPNTunnelStatus where+ toQueryParam = \case+ VTSAllocatingResources -> "ALLOCATING_RESOURCES"+ VTSAuthorizationError -> "AUTHORIZATION_ERROR"+ VTSDeprovisioning -> "DEPROVISIONING"+ VTSEstablished -> "ESTABLISHED"+ VTSFailed -> "FAILED"+ VTSFirstHandshake -> "FIRST_HANDSHAKE"+ VTSNegotiationFailure -> "NEGOTIATION_FAILURE"+ VTSNetworkError -> "NETWORK_ERROR"+ VTSNoIncomingPackets -> "NO_INCOMING_PACKETS"+ VTSProvisioning -> "PROVISIONING"+ VTSRejected -> "REJECTED"+ VTSWaitingForFullConfig -> "WAITING_FOR_FULL_CONFIG"++instance FromJSON VPNTunnelStatus where+ parseJSON = parseJSONText "VPNTunnelStatus"++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.+data BackendBalancingMode+ = Rate+ -- ^ @RATE@+ | Utilization+ -- ^ @UTILIZATION@+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable BackendBalancingMode++instance FromHttpApiData BackendBalancingMode where+ parseQueryParam = \case+ "RATE" -> Right Rate+ "UTILIZATION" -> Right Utilization+ x -> Left ("Unable to parse BackendBalancingMode from: " <> x)++instance ToHttpApiData BackendBalancingMode where+ toQueryParam = \case+ Rate -> "RATE"+ Utilization -> "UTILIZATION"++instance FromJSON BackendBalancingMode where+ parseJSON = parseJSONText "BackendBalancingMode"++instance ToJSON BackendBalancingMode where+ toJSON = toJSONText++-- | The IP protocol to which this rule applies. Valid options are TCP, UDP,+-- ESP, AH, SCTP or ICMP.+data ForwardingRuleIPProtocol+ = AH+ -- ^ @AH@+ | Esp+ -- ^ @ESP@+ | Sctp+ -- ^ @SCTP@+ | TCP+ -- ^ @TCP@+ | Udp+ -- ^ @UDP@+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable ForwardingRuleIPProtocol++instance FromHttpApiData ForwardingRuleIPProtocol where+ parseQueryParam = \case+ "AH" -> Right AH+ "ESP" -> Right Esp+ "SCTP" -> Right Sctp+ "TCP" -> Right TCP+ "UDP" -> Right Udp+ x -> Left ("Unable to parse ForwardingRuleIPProtocol from: " <> x)++instance ToHttpApiData ForwardingRuleIPProtocol where+ toQueryParam = \case+ AH -> "AH"+ Esp -> "ESP"+ Sctp -> "SCTP"+ TCP -> "TCP"+ Udp -> "UDP"++instance FromJSON ForwardingRuleIPProtocol where+ parseJSON = parseJSONText "ForwardingRuleIPProtocol"++instance ToJSON ForwardingRuleIPProtocol where+ toJSON = toJSONText++-- | [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.+data AddressStatus+ = InUse+ -- ^ @IN_USE@+ | Reserved+ -- ^ @RESERVED@+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable AddressStatus++instance FromHttpApiData AddressStatus where+ parseQueryParam = \case+ "IN_USE" -> Right InUse+ "RESERVED" -> Right Reserved+ x -> Left ("Unable to parse AddressStatus from: " <> x)++instance ToHttpApiData AddressStatus where+ toQueryParam = \case+ InUse -> "IN_USE"+ Reserved -> "RESERVED"++instance FromJSON AddressStatus where+ parseJSON = parseJSONText "AddressStatus"++instance ToJSON AddressStatus where+ toJSON = toJSONText++-- | 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.+data InstanceGroupsListInstancesRequestInstanceState+ = IGLIRISAll+ -- ^ @ALL@+ | IGLIRISRunning+ -- ^ @RUNNING@+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable InstanceGroupsListInstancesRequestInstanceState++instance FromHttpApiData InstanceGroupsListInstancesRequestInstanceState where+ parseQueryParam = \case+ "ALL" -> Right IGLIRISAll+ "RUNNING" -> Right IGLIRISRunning+ x -> Left ("Unable to parse InstanceGroupsListInstancesRequestInstanceState from: " <> x)++instance ToHttpApiData InstanceGroupsListInstancesRequestInstanceState where+ toQueryParam = \case+ IGLIRISAll -> "ALL"+ IGLIRISRunning -> "RUNNING"++instance FromJSON InstanceGroupsListInstancesRequestInstanceState where+ parseJSON = parseJSONText "InstanceGroupsListInstancesRequestInstanceState"++instance ToJSON InstanceGroupsListInstancesRequestInstanceState where+ toJSON = toJSONText++-- | 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.+data AttachedDiskInterface+ = Nvme+ -- ^ @NVME@+ | Scsi+ -- ^ @SCSI@+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable AttachedDiskInterface++instance FromHttpApiData AttachedDiskInterface where+ parseQueryParam = \case+ "NVME" -> Right Nvme+ "SCSI" -> Right Scsi+ x -> Left ("Unable to parse AttachedDiskInterface from: " <> x)++instance ToHttpApiData AttachedDiskInterface where+ toQueryParam = \case+ Nvme -> "NVME"+ Scsi -> "SCSI"++instance FromJSON AttachedDiskInterface where+ parseJSON = parseJSONText "AttachedDiskInterface"++instance ToJSON AttachedDiskInterface where+ toJSON = toJSONText++-- | [Output Only] Status of the zone, either UP or DOWN.+data ZoneStatus+ = ZSDown+ -- ^ @DOWN@+ | ZSUP+ -- ^ @UP@+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable ZoneStatus++instance FromHttpApiData ZoneStatus where+ parseQueryParam = \case+ "DOWN" -> Right ZSDown+ "UP" -> Right ZSUP+ x -> Left ("Unable to parse ZoneStatus from: " <> x)++instance ToHttpApiData ZoneStatus where+ toQueryParam = \case+ ZSDown -> "DOWN"+ ZSUP -> "UP"++instance FromJSON ZoneStatus where+ parseJSON = parseJSONText "ZoneStatus"++instance ToJSON ZoneStatus 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 SubnetworksScopedListWarningCode+ = SSLWCCleanupFailed+ -- ^ @CLEANUP_FAILED@+ | SSLWCDeprecatedResourceUsed+ -- ^ @DEPRECATED_RESOURCE_USED@+ | SSLWCDiskSizeLargerThanImageSize+ -- ^ @DISK_SIZE_LARGER_THAN_IMAGE_SIZE@+ | SSLWCInjectedKernelsDeprecated+ -- ^ @INJECTED_KERNELS_DEPRECATED@+ | SSLWCNextHopAddressNotAssigned+ -- ^ @NEXT_HOP_ADDRESS_NOT_ASSIGNED@+ | SSLWCNextHopCannotIPForward+ -- ^ @NEXT_HOP_CANNOT_IP_FORWARD@+ | SSLWCNextHopInstanceNotFound+ -- ^ @NEXT_HOP_INSTANCE_NOT_FOUND@+ | SSLWCNextHopInstanceNotOnNetwork+ -- ^ @NEXT_HOP_INSTANCE_NOT_ON_NETWORK@+ | SSLWCNextHopNotRunning+ -- ^ @NEXT_HOP_NOT_RUNNING@+ | SSLWCNotCriticalError+ -- ^ @NOT_CRITICAL_ERROR@+ | SSLWCNoResultsOnPage+ -- ^ @NO_RESULTS_ON_PAGE@+ | SSLWCRequiredTosAgreement+ -- ^ @REQUIRED_TOS_AGREEMENT@+ | SSLWCResourceNotDeleted+ -- ^ @RESOURCE_NOT_DELETED@+ | SSLWCSingleInstancePropertyTemplate+ -- ^ @SINGLE_INSTANCE_PROPERTY_TEMPLATE@+ | SSLWCUnreachable+ -- ^ @UNREACHABLE@+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable SubnetworksScopedListWarningCode++instance FromHttpApiData SubnetworksScopedListWarningCode where+ parseQueryParam = \case+ "CLEANUP_FAILED" -> Right SSLWCCleanupFailed+ "DEPRECATED_RESOURCE_USED" -> Right SSLWCDeprecatedResourceUsed+ "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" -> Right SSLWCDiskSizeLargerThanImageSize+ "INJECTED_KERNELS_DEPRECATED" -> Right SSLWCInjectedKernelsDeprecated+ "NEXT_HOP_ADDRESS_NOT_ASSIGNED" -> Right SSLWCNextHopAddressNotAssigned+ "NEXT_HOP_CANNOT_IP_FORWARD" -> Right SSLWCNextHopCannotIPForward+ "NEXT_HOP_INSTANCE_NOT_FOUND" -> Right SSLWCNextHopInstanceNotFound+ "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" -> Right SSLWCNextHopInstanceNotOnNetwork+ "NEXT_HOP_NOT_RUNNING" -> Right SSLWCNextHopNotRunning+ "NOT_CRITICAL_ERROR" -> Right SSLWCNotCriticalError+ "NO_RESULTS_ON_PAGE" -> Right SSLWCNoResultsOnPage+ "REQUIRED_TOS_AGREEMENT" -> Right SSLWCRequiredTosAgreement+ "RESOURCE_NOT_DELETED" -> Right SSLWCResourceNotDeleted+ "SINGLE_INSTANCE_PROPERTY_TEMPLATE" -> Right SSLWCSingleInstancePropertyTemplate+ "UNREACHABLE" -> Right SSLWCUnreachable+ x -> Left ("Unable to parse SubnetworksScopedListWarningCode from: " <> x)++instance ToHttpApiData SubnetworksScopedListWarningCode where+ toQueryParam = \case+ SSLWCCleanupFailed -> "CLEANUP_FAILED"+ SSLWCDeprecatedResourceUsed -> "DEPRECATED_RESOURCE_USED"+ SSLWCDiskSizeLargerThanImageSize -> "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"+ SSLWCInjectedKernelsDeprecated -> "INJECTED_KERNELS_DEPRECATED"+ SSLWCNextHopAddressNotAssigned -> "NEXT_HOP_ADDRESS_NOT_ASSIGNED"+ SSLWCNextHopCannotIPForward -> "NEXT_HOP_CANNOT_IP_FORWARD"+ SSLWCNextHopInstanceNotFound -> "NEXT_HOP_INSTANCE_NOT_FOUND"+ SSLWCNextHopInstanceNotOnNetwork -> "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"+ SSLWCNextHopNotRunning -> "NEXT_HOP_NOT_RUNNING"+ SSLWCNotCriticalError -> "NOT_CRITICAL_ERROR"+ SSLWCNoResultsOnPage -> "NO_RESULTS_ON_PAGE"+ SSLWCRequiredTosAgreement -> "REQUIRED_TOS_AGREEMENT"+ SSLWCResourceNotDeleted -> "RESOURCE_NOT_DELETED"+ SSLWCSingleInstancePropertyTemplate -> "SINGLE_INSTANCE_PROPERTY_TEMPLATE"+ SSLWCUnreachable -> "UNREACHABLE"++instance FromJSON SubnetworksScopedListWarningCode where+ parseJSON = parseJSONText "SubnetworksScopedListWarningCode"++instance ToJSON SubnetworksScopedListWarningCode where+ toJSON = toJSONText++-- | [Output Only] Name of the quota metric.+data QuotaMetric+ = Autoscalers+ -- ^ @AUTOSCALERS@+ | BackendServices+ -- ^ @BACKEND_SERVICES@+ | CPUs+ -- ^ @CPUS@+ | DisksTotalGb+ -- ^ @DISKS_TOTAL_GB@+ | Firewalls+ -- ^ @FIREWALLS@+ | ForwardingRules+ -- ^ @FORWARDING_RULES@+ | HealthChecks+ -- ^ @HEALTH_CHECKS@+ | Images+ -- ^ @IMAGES@+ | Instances+ -- ^ @INSTANCES@+ | InstanceGroups+ -- ^ @INSTANCE_GROUPS@+ | InstanceGroupManagers+ -- ^ @INSTANCE_GROUP_MANAGERS@+ | InstanceTemplates+ -- ^ @INSTANCE_TEMPLATES@+ | InUseAddresses+ -- ^ @IN_USE_ADDRESSES@+ | LocalSsdTotalGb+ -- ^ @LOCAL_SSD_TOTAL_GB@+ | Networks+ -- ^ @NETWORKS@+ | Routes+ -- ^ @ROUTES@+ | Snapshots+ -- ^ @SNAPSHOTS@+ | SsdTotalGb+ -- ^ @SSD_TOTAL_GB@+ | SSLCertificates+ -- ^ @SSL_CERTIFICATES@+ | StaticAddresses+ -- ^ @STATIC_ADDRESSES@+ | Subnetworks+ -- ^ @SUBNETWORKS@+ | TargetHTTPSProxies+ -- ^ @TARGET_HTTPS_PROXIES@+ | TargetHTTPProxies+ -- ^ @TARGET_HTTP_PROXIES@+ | TargetInstances+ -- ^ @TARGET_INSTANCES@+ | TargetPools+ -- ^ @TARGET_POOLS@+ | TargetVPNGateways+ -- ^ @TARGET_VPN_GATEWAYS@+ | URLMaps+ -- ^ @URL_MAPS@+ | VPNTunnels+ -- ^ @VPN_TUNNELS@+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable QuotaMetric++instance FromHttpApiData QuotaMetric where+ parseQueryParam = \case+ "AUTOSCALERS" -> Right Autoscalers+ "BACKEND_SERVICES" -> Right BackendServices+ "CPUS" -> Right CPUs+ "DISKS_TOTAL_GB" -> Right DisksTotalGb+ "FIREWALLS" -> Right Firewalls+ "FORWARDING_RULES" -> Right ForwardingRules+ "HEALTH_CHECKS" -> Right HealthChecks+ "IMAGES" -> Right Images+ "INSTANCES" -> Right Instances+ "INSTANCE_GROUPS" -> Right InstanceGroups+ "INSTANCE_GROUP_MANAGERS" -> Right InstanceGroupManagers+ "INSTANCE_TEMPLATES" -> Right InstanceTemplates+ "IN_USE_ADDRESSES" -> Right InUseAddresses+ "LOCAL_SSD_TOTAL_GB" -> Right LocalSsdTotalGb+ "NETWORKS" -> Right Networks+ "ROUTES" -> Right Routes+ "SNAPSHOTS" -> Right Snapshots+ "SSD_TOTAL_GB" -> Right SsdTotalGb+ "SSL_CERTIFICATES" -> Right SSLCertificates+ "STATIC_ADDRESSES" -> Right StaticAddresses+ "SUBNETWORKS" -> Right Subnetworks+ "TARGET_HTTPS_PROXIES" -> Right TargetHTTPSProxies+ "TARGET_HTTP_PROXIES" -> Right TargetHTTPProxies+ "TARGET_INSTANCES" -> Right TargetInstances+ "TARGET_POOLS" -> Right TargetPools+ "TARGET_VPN_GATEWAYS" -> Right TargetVPNGateways+ "URL_MAPS" -> Right URLMaps+ "VPN_TUNNELS" -> Right VPNTunnels+ x -> Left ("Unable to parse QuotaMetric from: " <> x)++instance ToHttpApiData QuotaMetric where+ toQueryParam = \case+ Autoscalers -> "AUTOSCALERS"+ BackendServices -> "BACKEND_SERVICES"+ CPUs -> "CPUS"+ DisksTotalGb -> "DISKS_TOTAL_GB"+ Firewalls -> "FIREWALLS"+ ForwardingRules -> "FORWARDING_RULES"+ HealthChecks -> "HEALTH_CHECKS"+ Images -> "IMAGES"+ Instances -> "INSTANCES"+ InstanceGroups -> "INSTANCE_GROUPS"+ InstanceGroupManagers -> "INSTANCE_GROUP_MANAGERS"+ InstanceTemplates -> "INSTANCE_TEMPLATES"+ InUseAddresses -> "IN_USE_ADDRESSES"+ LocalSsdTotalGb -> "LOCAL_SSD_TOTAL_GB"+ Networks -> "NETWORKS"+ Routes -> "ROUTES"+ Snapshots -> "SNAPSHOTS"+ SsdTotalGb -> "SSD_TOTAL_GB"+ SSLCertificates -> "SSL_CERTIFICATES"+ StaticAddresses -> "STATIC_ADDRESSES"+ Subnetworks -> "SUBNETWORKS"+ TargetHTTPSProxies -> "TARGET_HTTPS_PROXIES"+ TargetHTTPProxies -> "TARGET_HTTP_PROXIES"+ TargetInstances -> "TARGET_INSTANCES"+ TargetPools -> "TARGET_POOLS"+ TargetVPNGateways -> "TARGET_VPN_GATEWAYS"+ URLMaps -> "URL_MAPS"+ VPNTunnels -> "VPN_TUNNELS"++instance FromJSON QuotaMetric where+ parseJSON = parseJSONText "QuotaMetric"++instance ToJSON QuotaMetric where+ toJSON = toJSONText++-- | [Output Only] The status of the instance. One of the following values:+-- PROVISIONING, STAGING, RUNNING, STOPPING, and TERMINATED.+data InstanceStatus+ = ISProvisioning+ -- ^ @PROVISIONING@+ | ISRunning+ -- ^ @RUNNING@+ | ISStaging+ -- ^ @STAGING@+ | ISStopped+ -- ^ @STOPPED@+ | ISStopping+ -- ^ @STOPPING@+ | ISSuspended+ -- ^ @SUSPENDED@+ | ISSuspending+ -- ^ @SUSPENDING@+ | ISTerminated+ -- ^ @TERMINATED@+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable InstanceStatus++instance FromHttpApiData InstanceStatus where+ parseQueryParam = \case+ "PROVISIONING" -> Right ISProvisioning+ "RUNNING" -> Right ISRunning+ "STAGING" -> Right ISStaging+ "STOPPED" -> Right ISStopped+ "STOPPING" -> Right ISStopping+ "SUSPENDED" -> Right ISSuspended+ "SUSPENDING" -> Right ISSuspending+ "TERMINATED" -> Right ISTerminated+ x -> Left ("Unable to parse InstanceStatus from: " <> x)++instance ToHttpApiData InstanceStatus where+ toQueryParam = \case+ ISProvisioning -> "PROVISIONING"+ ISRunning -> "RUNNING"+ ISStaging -> "STAGING"+ ISStopped -> "STOPPED"+ ISStopping -> "STOPPING"+ ISSuspended -> "SUSPENDED"+ ISSuspending -> "SUSPENDING"+ ISTerminated -> "TERMINATED"++instance FromJSON InstanceStatus where+ parseJSON = parseJSONText "InstanceStatus"++instance ToJSON InstanceStatus 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 MachineTypesScopedListWarningCode+ = MTSLWCCleanupFailed+ -- ^ @CLEANUP_FAILED@+ | MTSLWCDeprecatedResourceUsed+ -- ^ @DEPRECATED_RESOURCE_USED@+ | MTSLWCDiskSizeLargerThanImageSize+ -- ^ @DISK_SIZE_LARGER_THAN_IMAGE_SIZE@+ | MTSLWCInjectedKernelsDeprecated+ -- ^ @INJECTED_KERNELS_DEPRECATED@+ | MTSLWCNextHopAddressNotAssigned+ -- ^ @NEXT_HOP_ADDRESS_NOT_ASSIGNED@+ | MTSLWCNextHopCannotIPForward+ -- ^ @NEXT_HOP_CANNOT_IP_FORWARD@+ | MTSLWCNextHopInstanceNotFound+ -- ^ @NEXT_HOP_INSTANCE_NOT_FOUND@+ | MTSLWCNextHopInstanceNotOnNetwork+ -- ^ @NEXT_HOP_INSTANCE_NOT_ON_NETWORK@+ | MTSLWCNextHopNotRunning+ -- ^ @NEXT_HOP_NOT_RUNNING@+ | MTSLWCNotCriticalError+ -- ^ @NOT_CRITICAL_ERROR@+ | MTSLWCNoResultsOnPage+ -- ^ @NO_RESULTS_ON_PAGE@+ | MTSLWCRequiredTosAgreement+ -- ^ @REQUIRED_TOS_AGREEMENT@+ | MTSLWCResourceNotDeleted+ -- ^ @RESOURCE_NOT_DELETED@+ | MTSLWCSingleInstancePropertyTemplate+ -- ^ @SINGLE_INSTANCE_PROPERTY_TEMPLATE@+ | MTSLWCUnreachable+ -- ^ @UNREACHABLE@+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable MachineTypesScopedListWarningCode++instance FromHttpApiData MachineTypesScopedListWarningCode where+ parseQueryParam = \case+ "CLEANUP_FAILED" -> Right MTSLWCCleanupFailed+ "DEPRECATED_RESOURCE_USED" -> Right MTSLWCDeprecatedResourceUsed+ "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" -> Right MTSLWCDiskSizeLargerThanImageSize+ "INJECTED_KERNELS_DEPRECATED" -> Right MTSLWCInjectedKernelsDeprecated+ "NEXT_HOP_ADDRESS_NOT_ASSIGNED" -> Right MTSLWCNextHopAddressNotAssigned+ "NEXT_HOP_CANNOT_IP_FORWARD" -> Right MTSLWCNextHopCannotIPForward+ "NEXT_HOP_INSTANCE_NOT_FOUND" -> Right MTSLWCNextHopInstanceNotFound+ "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" -> Right MTSLWCNextHopInstanceNotOnNetwork+ "NEXT_HOP_NOT_RUNNING" -> Right MTSLWCNextHopNotRunning+ "NOT_CRITICAL_ERROR" -> Right MTSLWCNotCriticalError+ "NO_RESULTS_ON_PAGE" -> Right MTSLWCNoResultsOnPage+ "REQUIRED_TOS_AGREEMENT" -> Right MTSLWCRequiredTosAgreement+ "RESOURCE_NOT_DELETED" -> Right MTSLWCResourceNotDeleted+ "SINGLE_INSTANCE_PROPERTY_TEMPLATE" -> Right MTSLWCSingleInstancePropertyTemplate+ "UNREACHABLE" -> Right MTSLWCUnreachable+ x -> Left ("Unable to parse MachineTypesScopedListWarningCode from: " <> x)++instance ToHttpApiData MachineTypesScopedListWarningCode where+ toQueryParam = \case+ MTSLWCCleanupFailed -> "CLEANUP_FAILED"+ MTSLWCDeprecatedResourceUsed -> "DEPRECATED_RESOURCE_USED"+ MTSLWCDiskSizeLargerThanImageSize -> "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"+ MTSLWCInjectedKernelsDeprecated -> "INJECTED_KERNELS_DEPRECATED"+ MTSLWCNextHopAddressNotAssigned -> "NEXT_HOP_ADDRESS_NOT_ASSIGNED"+ MTSLWCNextHopCannotIPForward -> "NEXT_HOP_CANNOT_IP_FORWARD"+ MTSLWCNextHopInstanceNotFound -> "NEXT_HOP_INSTANCE_NOT_FOUND"+ MTSLWCNextHopInstanceNotOnNetwork -> "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"+ MTSLWCNextHopNotRunning -> "NEXT_HOP_NOT_RUNNING"+ MTSLWCNotCriticalError -> "NOT_CRITICAL_ERROR"+ MTSLWCNoResultsOnPage -> "NO_RESULTS_ON_PAGE"+ MTSLWCRequiredTosAgreement -> "REQUIRED_TOS_AGREEMENT"+ MTSLWCResourceNotDeleted -> "RESOURCE_NOT_DELETED"+ MTSLWCSingleInstancePropertyTemplate -> "SINGLE_INSTANCE_PROPERTY_TEMPLATE"+ MTSLWCUnreachable -> "UNREACHABLE"++instance FromJSON MachineTypesScopedListWarningCode where+ parseJSON = parseJSONText "MachineTypesScopedListWarningCode"++instance ToJSON MachineTypesScopedListWarningCode 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 DiskTypesScopedListWarningCode+ = DTSLWCCleanupFailed+ -- ^ @CLEANUP_FAILED@+ | DTSLWCDeprecatedResourceUsed+ -- ^ @DEPRECATED_RESOURCE_USED@+ | DTSLWCDiskSizeLargerThanImageSize+ -- ^ @DISK_SIZE_LARGER_THAN_IMAGE_SIZE@+ | DTSLWCInjectedKernelsDeprecated+ -- ^ @INJECTED_KERNELS_DEPRECATED@+ | DTSLWCNextHopAddressNotAssigned+ -- ^ @NEXT_HOP_ADDRESS_NOT_ASSIGNED@+ | DTSLWCNextHopCannotIPForward+ -- ^ @NEXT_HOP_CANNOT_IP_FORWARD@+ | DTSLWCNextHopInstanceNotFound+ -- ^ @NEXT_HOP_INSTANCE_NOT_FOUND@+ | DTSLWCNextHopInstanceNotOnNetwork+ -- ^ @NEXT_HOP_INSTANCE_NOT_ON_NETWORK@+ | DTSLWCNextHopNotRunning+ -- ^ @NEXT_HOP_NOT_RUNNING@+ | DTSLWCNotCriticalError+ -- ^ @NOT_CRITICAL_ERROR@+ | DTSLWCNoResultsOnPage+ -- ^ @NO_RESULTS_ON_PAGE@+ | DTSLWCRequiredTosAgreement+ -- ^ @REQUIRED_TOS_AGREEMENT@+ | DTSLWCResourceNotDeleted+ -- ^ @RESOURCE_NOT_DELETED@+ | DTSLWCSingleInstancePropertyTemplate+ -- ^ @SINGLE_INSTANCE_PROPERTY_TEMPLATE@+ | DTSLWCUnreachable+ -- ^ @UNREACHABLE@+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable DiskTypesScopedListWarningCode++instance FromHttpApiData DiskTypesScopedListWarningCode where+ parseQueryParam = \case+ "CLEANUP_FAILED" -> Right DTSLWCCleanupFailed+ "DEPRECATED_RESOURCE_USED" -> Right DTSLWCDeprecatedResourceUsed+ "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" -> Right DTSLWCDiskSizeLargerThanImageSize+ "INJECTED_KERNELS_DEPRECATED" -> Right DTSLWCInjectedKernelsDeprecated+ "NEXT_HOP_ADDRESS_NOT_ASSIGNED" -> Right DTSLWCNextHopAddressNotAssigned+ "NEXT_HOP_CANNOT_IP_FORWARD" -> Right DTSLWCNextHopCannotIPForward+ "NEXT_HOP_INSTANCE_NOT_FOUND" -> Right DTSLWCNextHopInstanceNotFound+ "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" -> Right DTSLWCNextHopInstanceNotOnNetwork+ "NEXT_HOP_NOT_RUNNING" -> Right DTSLWCNextHopNotRunning+ "NOT_CRITICAL_ERROR" -> Right DTSLWCNotCriticalError+ "NO_RESULTS_ON_PAGE" -> Right DTSLWCNoResultsOnPage+ "REQUIRED_TOS_AGREEMENT" -> Right DTSLWCRequiredTosAgreement+ "RESOURCE_NOT_DELETED" -> Right DTSLWCResourceNotDeleted+ "SINGLE_INSTANCE_PROPERTY_TEMPLATE" -> Right DTSLWCSingleInstancePropertyTemplate+ "UNREACHABLE" -> Right DTSLWCUnreachable+ x -> Left ("Unable to parse DiskTypesScopedListWarningCode from: " <> x)++instance ToHttpApiData DiskTypesScopedListWarningCode where+ toQueryParam = \case+ DTSLWCCleanupFailed -> "CLEANUP_FAILED"+ DTSLWCDeprecatedResourceUsed -> "DEPRECATED_RESOURCE_USED"+ DTSLWCDiskSizeLargerThanImageSize -> "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"+ DTSLWCInjectedKernelsDeprecated -> "INJECTED_KERNELS_DEPRECATED"+ DTSLWCNextHopAddressNotAssigned -> "NEXT_HOP_ADDRESS_NOT_ASSIGNED"+ DTSLWCNextHopCannotIPForward -> "NEXT_HOP_CANNOT_IP_FORWARD"+ DTSLWCNextHopInstanceNotFound -> "NEXT_HOP_INSTANCE_NOT_FOUND"+ DTSLWCNextHopInstanceNotOnNetwork -> "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"+ DTSLWCNextHopNotRunning -> "NEXT_HOP_NOT_RUNNING"+ DTSLWCNotCriticalError -> "NOT_CRITICAL_ERROR"+ DTSLWCNoResultsOnPage -> "NO_RESULTS_ON_PAGE"+ DTSLWCRequiredTosAgreement -> "REQUIRED_TOS_AGREEMENT"+ DTSLWCResourceNotDeleted -> "RESOURCE_NOT_DELETED"+ DTSLWCSingleInstancePropertyTemplate -> "SINGLE_INSTANCE_PROPERTY_TEMPLATE"+ DTSLWCUnreachable -> "UNREACHABLE"++instance FromJSON DiskTypesScopedListWarningCode where+ parseJSON = parseJSONText "DiskTypesScopedListWarningCode"++instance ToJSON DiskTypesScopedListWarningCode 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 AutoscalersScopedListWarningCode+ = ACleanupFailed+ -- ^ @CLEANUP_FAILED@+ | ADeprecatedResourceUsed+ -- ^ @DEPRECATED_RESOURCE_USED@+ | ADiskSizeLargerThanImageSize+ -- ^ @DISK_SIZE_LARGER_THAN_IMAGE_SIZE@+ | AInjectedKernelsDeprecated+ -- ^ @INJECTED_KERNELS_DEPRECATED@+ | ANextHopAddressNotAssigned+ -- ^ @NEXT_HOP_ADDRESS_NOT_ASSIGNED@+ | ANextHopCannotIPForward+ -- ^ @NEXT_HOP_CANNOT_IP_FORWARD@+ | ANextHopInstanceNotFound+ -- ^ @NEXT_HOP_INSTANCE_NOT_FOUND@+ | ANextHopInstanceNotOnNetwork+ -- ^ @NEXT_HOP_INSTANCE_NOT_ON_NETWORK@+ | ANextHopNotRunning+ -- ^ @NEXT_HOP_NOT_RUNNING@+ | ANotCriticalError+ -- ^ @NOT_CRITICAL_ERROR@+ | ANoResultsOnPage+ -- ^ @NO_RESULTS_ON_PAGE@+ | ARequiredTosAgreement+ -- ^ @REQUIRED_TOS_AGREEMENT@+ | AResourceNotDeleted+ -- ^ @RESOURCE_NOT_DELETED@+ | ASingleInstancePropertyTemplate+ -- ^ @SINGLE_INSTANCE_PROPERTY_TEMPLATE@+ | AUnreachable+ -- ^ @UNREACHABLE@+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable AutoscalersScopedListWarningCode++instance FromHttpApiData AutoscalersScopedListWarningCode where+ parseQueryParam = \case+ "CLEANUP_FAILED" -> Right ACleanupFailed+ "DEPRECATED_RESOURCE_USED" -> Right ADeprecatedResourceUsed+ "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" -> Right ADiskSizeLargerThanImageSize+ "INJECTED_KERNELS_DEPRECATED" -> Right AInjectedKernelsDeprecated+ "NEXT_HOP_ADDRESS_NOT_ASSIGNED" -> Right ANextHopAddressNotAssigned+ "NEXT_HOP_CANNOT_IP_FORWARD" -> Right ANextHopCannotIPForward+ "NEXT_HOP_INSTANCE_NOT_FOUND" -> Right ANextHopInstanceNotFound+ "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" -> Right ANextHopInstanceNotOnNetwork+ "NEXT_HOP_NOT_RUNNING" -> Right ANextHopNotRunning+ "NOT_CRITICAL_ERROR" -> Right ANotCriticalError+ "NO_RESULTS_ON_PAGE" -> Right ANoResultsOnPage+ "REQUIRED_TOS_AGREEMENT" -> Right ARequiredTosAgreement+ "RESOURCE_NOT_DELETED" -> Right AResourceNotDeleted+ "SINGLE_INSTANCE_PROPERTY_TEMPLATE" -> Right ASingleInstancePropertyTemplate+ "UNREACHABLE" -> Right AUnreachable+ x -> Left ("Unable to parse AutoscalersScopedListWarningCode from: " <> x)++instance ToHttpApiData AutoscalersScopedListWarningCode where+ toQueryParam = \case+ ACleanupFailed -> "CLEANUP_FAILED"+ ADeprecatedResourceUsed -> "DEPRECATED_RESOURCE_USED"+ ADiskSizeLargerThanImageSize -> "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"+ AInjectedKernelsDeprecated -> "INJECTED_KERNELS_DEPRECATED"+ ANextHopAddressNotAssigned -> "NEXT_HOP_ADDRESS_NOT_ASSIGNED"+ ANextHopCannotIPForward -> "NEXT_HOP_CANNOT_IP_FORWARD"+ ANextHopInstanceNotFound -> "NEXT_HOP_INSTANCE_NOT_FOUND"+ ANextHopInstanceNotOnNetwork -> "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"+ ANextHopNotRunning -> "NEXT_HOP_NOT_RUNNING"+ ANotCriticalError -> "NOT_CRITICAL_ERROR"+ ANoResultsOnPage -> "NO_RESULTS_ON_PAGE"+ ARequiredTosAgreement -> "REQUIRED_TOS_AGREEMENT"+ AResourceNotDeleted -> "RESOURCE_NOT_DELETED"+ ASingleInstancePropertyTemplate -> "SINGLE_INSTANCE_PROPERTY_TEMPLATE"+ AUnreachable -> "UNREACHABLE"++instance FromJSON AutoscalersScopedListWarningCode where+ parseJSON = parseJSONText "AutoscalersScopedListWarningCode"++instance ToJSON AutoscalersScopedListWarningCode 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+ = VTSLWCCleanupFailed+ -- ^ @CLEANUP_FAILED@+ | VTSLWCDeprecatedResourceUsed+ -- ^ @DEPRECATED_RESOURCE_USED@+ | VTSLWCDiskSizeLargerThanImageSize+ -- ^ @DISK_SIZE_LARGER_THAN_IMAGE_SIZE@+ | VTSLWCInjectedKernelsDeprecated+ -- ^ @INJECTED_KERNELS_DEPRECATED@+ | VTSLWCNextHopAddressNotAssigned+ -- ^ @NEXT_HOP_ADDRESS_NOT_ASSIGNED@+ | VTSLWCNextHopCannotIPForward+ -- ^ @NEXT_HOP_CANNOT_IP_FORWARD@+ | VTSLWCNextHopInstanceNotFound+ -- ^ @NEXT_HOP_INSTANCE_NOT_FOUND@+ | VTSLWCNextHopInstanceNotOnNetwork+ -- ^ @NEXT_HOP_INSTANCE_NOT_ON_NETWORK@+ | VTSLWCNextHopNotRunning+ -- ^ @NEXT_HOP_NOT_RUNNING@+ | VTSLWCNotCriticalError+ -- ^ @NOT_CRITICAL_ERROR@+ | VTSLWCNoResultsOnPage+ -- ^ @NO_RESULTS_ON_PAGE@+ | VTSLWCRequiredTosAgreement+ -- ^ @REQUIRED_TOS_AGREEMENT@+ | VTSLWCResourceNotDeleted+ -- ^ @RESOURCE_NOT_DELETED@+ | VTSLWCSingleInstancePropertyTemplate+ -- ^ @SINGLE_INSTANCE_PROPERTY_TEMPLATE@+ | VTSLWCUnreachable+ -- ^ @UNREACHABLE@+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable VPNTunnelsScopedListWarningCode++instance FromHttpApiData VPNTunnelsScopedListWarningCode where+ parseQueryParam = \case+ "CLEANUP_FAILED" -> Right VTSLWCCleanupFailed+ "DEPRECATED_RESOURCE_USED" -> Right VTSLWCDeprecatedResourceUsed+ "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" -> Right VTSLWCDiskSizeLargerThanImageSize+ "INJECTED_KERNELS_DEPRECATED" -> Right VTSLWCInjectedKernelsDeprecated+ "NEXT_HOP_ADDRESS_NOT_ASSIGNED" -> Right VTSLWCNextHopAddressNotAssigned+ "NEXT_HOP_CANNOT_IP_FORWARD" -> Right VTSLWCNextHopCannotIPForward+ "NEXT_HOP_INSTANCE_NOT_FOUND" -> Right VTSLWCNextHopInstanceNotFound+ "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" -> Right VTSLWCNextHopInstanceNotOnNetwork+ "NEXT_HOP_NOT_RUNNING" -> Right VTSLWCNextHopNotRunning+ "NOT_CRITICAL_ERROR" -> Right VTSLWCNotCriticalError+ "NO_RESULTS_ON_PAGE" -> Right VTSLWCNoResultsOnPage+ "REQUIRED_TOS_AGREEMENT" -> Right VTSLWCRequiredTosAgreement+ "RESOURCE_NOT_DELETED" -> Right VTSLWCResourceNotDeleted+ "SINGLE_INSTANCE_PROPERTY_TEMPLATE" -> Right VTSLWCSingleInstancePropertyTemplate+ "UNREACHABLE" -> Right VTSLWCUnreachable+ x -> Left ("Unable to parse VPNTunnelsScopedListWarningCode from: " <> x)++instance ToHttpApiData VPNTunnelsScopedListWarningCode where+ toQueryParam = \case+ VTSLWCCleanupFailed -> "CLEANUP_FAILED"+ VTSLWCDeprecatedResourceUsed -> "DEPRECATED_RESOURCE_USED"+ VTSLWCDiskSizeLargerThanImageSize -> "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"+ VTSLWCInjectedKernelsDeprecated -> "INJECTED_KERNELS_DEPRECATED"+ VTSLWCNextHopAddressNotAssigned -> "NEXT_HOP_ADDRESS_NOT_ASSIGNED"+ VTSLWCNextHopCannotIPForward -> "NEXT_HOP_CANNOT_IP_FORWARD"+ VTSLWCNextHopInstanceNotFound -> "NEXT_HOP_INSTANCE_NOT_FOUND"+ VTSLWCNextHopInstanceNotOnNetwork -> "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"+ VTSLWCNextHopNotRunning -> "NEXT_HOP_NOT_RUNNING"+ VTSLWCNotCriticalError -> "NOT_CRITICAL_ERROR"+ VTSLWCNoResultsOnPage -> "NO_RESULTS_ON_PAGE"+ VTSLWCRequiredTosAgreement -> "REQUIRED_TOS_AGREEMENT"+ VTSLWCResourceNotDeleted -> "RESOURCE_NOT_DELETED"+ VTSLWCSingleInstancePropertyTemplate -> "SINGLE_INSTANCE_PROPERTY_TEMPLATE"+ VTSLWCUnreachable -> "UNREACHABLE"++instance FromJSON VPNTunnelsScopedListWarningCode where+ parseJSON = parseJSONText "VPNTunnelsScopedListWarningCode"++instance ToJSON VPNTunnelsScopedListWarningCode 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+ = IGSLWCCleanupFailed+ -- ^ @CLEANUP_FAILED@+ | IGSLWCDeprecatedResourceUsed+ -- ^ @DEPRECATED_RESOURCE_USED@+ | IGSLWCDiskSizeLargerThanImageSize+ -- ^ @DISK_SIZE_LARGER_THAN_IMAGE_SIZE@+ | IGSLWCInjectedKernelsDeprecated+ -- ^ @INJECTED_KERNELS_DEPRECATED@+ | IGSLWCNextHopAddressNotAssigned+ -- ^ @NEXT_HOP_ADDRESS_NOT_ASSIGNED@+ | IGSLWCNextHopCannotIPForward+ -- ^ @NEXT_HOP_CANNOT_IP_FORWARD@+ | IGSLWCNextHopInstanceNotFound+ -- ^ @NEXT_HOP_INSTANCE_NOT_FOUND@+ | IGSLWCNextHopInstanceNotOnNetwork+ -- ^ @NEXT_HOP_INSTANCE_NOT_ON_NETWORK@+ | IGSLWCNextHopNotRunning+ -- ^ @NEXT_HOP_NOT_RUNNING@+ | IGSLWCNotCriticalError+ -- ^ @NOT_CRITICAL_ERROR@+ | IGSLWCNoResultsOnPage+ -- ^ @NO_RESULTS_ON_PAGE@+ | IGSLWCRequiredTosAgreement+ -- ^ @REQUIRED_TOS_AGREEMENT@+ | IGSLWCResourceNotDeleted+ -- ^ @RESOURCE_NOT_DELETED@+ | IGSLWCSingleInstancePropertyTemplate+ -- ^ @SINGLE_INSTANCE_PROPERTY_TEMPLATE@+ | IGSLWCUnreachable+ -- ^ @UNREACHABLE@+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable InstanceGroupsScopedListWarningCode++instance FromHttpApiData InstanceGroupsScopedListWarningCode where+ parseQueryParam = \case+ "CLEANUP_FAILED" -> Right IGSLWCCleanupFailed+ "DEPRECATED_RESOURCE_USED" -> Right IGSLWCDeprecatedResourceUsed+ "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" -> Right IGSLWCDiskSizeLargerThanImageSize+ "INJECTED_KERNELS_DEPRECATED" -> Right IGSLWCInjectedKernelsDeprecated+ "NEXT_HOP_ADDRESS_NOT_ASSIGNED" -> Right IGSLWCNextHopAddressNotAssigned+ "NEXT_HOP_CANNOT_IP_FORWARD" -> Right IGSLWCNextHopCannotIPForward+ "NEXT_HOP_INSTANCE_NOT_FOUND" -> Right IGSLWCNextHopInstanceNotFound+ "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" -> Right IGSLWCNextHopInstanceNotOnNetwork+ "NEXT_HOP_NOT_RUNNING" -> Right IGSLWCNextHopNotRunning+ "NOT_CRITICAL_ERROR" -> Right IGSLWCNotCriticalError+ "NO_RESULTS_ON_PAGE" -> Right IGSLWCNoResultsOnPage+ "REQUIRED_TOS_AGREEMENT" -> Right IGSLWCRequiredTosAgreement+ "RESOURCE_NOT_DELETED" -> Right IGSLWCResourceNotDeleted+ "SINGLE_INSTANCE_PROPERTY_TEMPLATE" -> Right IGSLWCSingleInstancePropertyTemplate+ "UNREACHABLE" -> Right IGSLWCUnreachable+ x -> Left ("Unable to parse InstanceGroupsScopedListWarningCode from: " <> x)++instance ToHttpApiData InstanceGroupsScopedListWarningCode where+ toQueryParam = \case+ IGSLWCCleanupFailed -> "CLEANUP_FAILED"+ IGSLWCDeprecatedResourceUsed -> "DEPRECATED_RESOURCE_USED"+ IGSLWCDiskSizeLargerThanImageSize -> "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"+ IGSLWCInjectedKernelsDeprecated -> "INJECTED_KERNELS_DEPRECATED"+ IGSLWCNextHopAddressNotAssigned -> "NEXT_HOP_ADDRESS_NOT_ASSIGNED"+ IGSLWCNextHopCannotIPForward -> "NEXT_HOP_CANNOT_IP_FORWARD"+ IGSLWCNextHopInstanceNotFound -> "NEXT_HOP_INSTANCE_NOT_FOUND"+ IGSLWCNextHopInstanceNotOnNetwork -> "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"+ IGSLWCNextHopNotRunning -> "NEXT_HOP_NOT_RUNNING"+ IGSLWCNotCriticalError -> "NOT_CRITICAL_ERROR"+ IGSLWCNoResultsOnPage -> "NO_RESULTS_ON_PAGE"+ IGSLWCRequiredTosAgreement -> "REQUIRED_TOS_AGREEMENT"+ IGSLWCResourceNotDeleted -> "RESOURCE_NOT_DELETED"+ IGSLWCSingleInstancePropertyTemplate -> "SINGLE_INSTANCE_PROPERTY_TEMPLATE"+ IGSLWCUnreachable -> "UNREACHABLE"++instance FromJSON InstanceGroupsScopedListWarningCode where+ parseJSON = parseJSONText "InstanceGroupsScopedListWarningCode"++instance ToJSON InstanceGroupsScopedListWarningCode where+ toJSON = toJSONText++-- | [Output Only] The status of the instance.+data InstanceWithNamedPortsStatus+ = IWNPSProvisioning+ -- ^ @PROVISIONING@+ | IWNPSRunning+ -- ^ @RUNNING@+ | IWNPSStaging+ -- ^ @STAGING@+ | IWNPSStopped+ -- ^ @STOPPED@+ | IWNPSStopping+ -- ^ @STOPPING@+ | IWNPSSuspended+ -- ^ @SUSPENDED@+ | IWNPSSuspending+ -- ^ @SUSPENDING@+ | IWNPSTerminated+ -- ^ @TERMINATED@+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable InstanceWithNamedPortsStatus++instance FromHttpApiData InstanceWithNamedPortsStatus where+ parseQueryParam = \case+ "PROVISIONING" -> Right IWNPSProvisioning+ "RUNNING" -> Right IWNPSRunning+ "STAGING" -> Right IWNPSStaging+ "STOPPED" -> Right IWNPSStopped+ "STOPPING" -> Right IWNPSStopping+ "SUSPENDED" -> Right IWNPSSuspended+ "SUSPENDING" -> Right IWNPSSuspending+ "TERMINATED" -> Right IWNPSTerminated+ x -> Left ("Unable to parse InstanceWithNamedPortsStatus from: " <> x)++instance ToHttpApiData InstanceWithNamedPortsStatus where+ toQueryParam = \case+ IWNPSProvisioning -> "PROVISIONING"+ IWNPSRunning -> "RUNNING"+ IWNPSStaging -> "STAGING"+ IWNPSStopped -> "STOPPED"+ IWNPSStopping -> "STOPPING"+ IWNPSSuspended -> "SUSPENDED"+ IWNPSSuspending -> "SUSPENDING"+ IWNPSTerminated -> "TERMINATED"++instance FromJSON InstanceWithNamedPortsStatus where+ parseJSON = parseJSONText "InstanceWithNamedPortsStatus"++instance ToJSON InstanceWithNamedPortsStatus 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+ = ISLWCCleanupFailed+ -- ^ @CLEANUP_FAILED@+ | ISLWCDeprecatedResourceUsed+ -- ^ @DEPRECATED_RESOURCE_USED@+ | ISLWCDiskSizeLargerThanImageSize+ -- ^ @DISK_SIZE_LARGER_THAN_IMAGE_SIZE@+ | ISLWCInjectedKernelsDeprecated+ -- ^ @INJECTED_KERNELS_DEPRECATED@+ | ISLWCNextHopAddressNotAssigned+ -- ^ @NEXT_HOP_ADDRESS_NOT_ASSIGNED@+ | ISLWCNextHopCannotIPForward+ -- ^ @NEXT_HOP_CANNOT_IP_FORWARD@+ | ISLWCNextHopInstanceNotFound+ -- ^ @NEXT_HOP_INSTANCE_NOT_FOUND@+ | ISLWCNextHopInstanceNotOnNetwork+ -- ^ @NEXT_HOP_INSTANCE_NOT_ON_NETWORK@+ | ISLWCNextHopNotRunning+ -- ^ @NEXT_HOP_NOT_RUNNING@+ | ISLWCNotCriticalError+ -- ^ @NOT_CRITICAL_ERROR@+ | ISLWCNoResultsOnPage+ -- ^ @NO_RESULTS_ON_PAGE@+ | ISLWCRequiredTosAgreement+ -- ^ @REQUIRED_TOS_AGREEMENT@+ | ISLWCResourceNotDeleted+ -- ^ @RESOURCE_NOT_DELETED@+ | ISLWCSingleInstancePropertyTemplate+ -- ^ @SINGLE_INSTANCE_PROPERTY_TEMPLATE@+ | ISLWCUnreachable+ -- ^ @UNREACHABLE@+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable InstancesScopedListWarningCode++instance FromHttpApiData InstancesScopedListWarningCode where+ parseQueryParam = \case+ "CLEANUP_FAILED" -> Right ISLWCCleanupFailed+ "DEPRECATED_RESOURCE_USED" -> Right ISLWCDeprecatedResourceUsed+ "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" -> Right ISLWCDiskSizeLargerThanImageSize+ "INJECTED_KERNELS_DEPRECATED" -> Right ISLWCInjectedKernelsDeprecated+ "NEXT_HOP_ADDRESS_NOT_ASSIGNED" -> Right ISLWCNextHopAddressNotAssigned+ "NEXT_HOP_CANNOT_IP_FORWARD" -> Right ISLWCNextHopCannotIPForward+ "NEXT_HOP_INSTANCE_NOT_FOUND" -> Right ISLWCNextHopInstanceNotFound+ "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" -> Right ISLWCNextHopInstanceNotOnNetwork+ "NEXT_HOP_NOT_RUNNING" -> Right ISLWCNextHopNotRunning+ "NOT_CRITICAL_ERROR" -> Right ISLWCNotCriticalError+ "NO_RESULTS_ON_PAGE" -> Right ISLWCNoResultsOnPage+ "REQUIRED_TOS_AGREEMENT" -> Right ISLWCRequiredTosAgreement+ "RESOURCE_NOT_DELETED" -> Right ISLWCResourceNotDeleted+ "SINGLE_INSTANCE_PROPERTY_TEMPLATE" -> Right ISLWCSingleInstancePropertyTemplate+ "UNREACHABLE" -> Right ISLWCUnreachable+ x -> Left ("Unable to parse InstancesScopedListWarningCode from: " <> x)++instance ToHttpApiData InstancesScopedListWarningCode where+ toQueryParam = \case+ ISLWCCleanupFailed -> "CLEANUP_FAILED"+ ISLWCDeprecatedResourceUsed -> "DEPRECATED_RESOURCE_USED"+ ISLWCDiskSizeLargerThanImageSize -> "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"+ ISLWCInjectedKernelsDeprecated -> "INJECTED_KERNELS_DEPRECATED"+ ISLWCNextHopAddressNotAssigned -> "NEXT_HOP_ADDRESS_NOT_ASSIGNED"+ ISLWCNextHopCannotIPForward -> "NEXT_HOP_CANNOT_IP_FORWARD"+ ISLWCNextHopInstanceNotFound -> "NEXT_HOP_INSTANCE_NOT_FOUND"+ ISLWCNextHopInstanceNotOnNetwork -> "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"+ ISLWCNextHopNotRunning -> "NEXT_HOP_NOT_RUNNING"+ ISLWCNotCriticalError -> "NOT_CRITICAL_ERROR"+ ISLWCNoResultsOnPage -> "NO_RESULTS_ON_PAGE"+ ISLWCRequiredTosAgreement -> "REQUIRED_TOS_AGREEMENT"+ ISLWCResourceNotDeleted -> "RESOURCE_NOT_DELETED"+ ISLWCSingleInstancePropertyTemplate -> "SINGLE_INSTANCE_PROPERTY_TEMPLATE"+ ISLWCUnreachable -> "UNREACHABLE"++instance FromJSON InstancesScopedListWarningCode where+ parseJSON = parseJSONText "InstancesScopedListWarningCode"++instance ToJSON InstancesScopedListWarningCode where+ toJSON = toJSONText++-- | 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.+data TargetPoolSessionAffinity+ = ClientIP+ -- ^ @CLIENT_IP@+ | ClientIPProto+ -- ^ @CLIENT_IP_PROTO@+ | None+ -- ^ @NONE@+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable TargetPoolSessionAffinity++instance FromHttpApiData TargetPoolSessionAffinity where+ parseQueryParam = \case+ "CLIENT_IP" -> Right ClientIP+ "CLIENT_IP_PROTO" -> Right ClientIPProto+ "NONE" -> Right None+ x -> Left ("Unable to parse TargetPoolSessionAffinity from: " <> x)++instance ToHttpApiData TargetPoolSessionAffinity where+ toQueryParam = \case+ ClientIP -> "CLIENT_IP"+ ClientIPProto -> "CLIENT_IP_PROTO"+ None -> "NONE"++instance FromJSON TargetPoolSessionAffinity where+ parseJSON = parseJSONText "TargetPoolSessionAffinity"++instance ToJSON TargetPoolSessionAffinity where+ toJSON = toJSONText++-- | 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.+data ImageRawDiskContainerType+ = TAR+ -- ^ @TAR@+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable ImageRawDiskContainerType++instance FromHttpApiData ImageRawDiskContainerType where+ parseQueryParam = \case+ "TAR" -> Right TAR+ x -> Left ("Unable to parse ImageRawDiskContainerType from: " <> x)++instance ToHttpApiData ImageRawDiskContainerType where+ toQueryParam = \case TAR -> "TAR" instance FromJSON ImageRawDiskContainerType where
gen/Network/Google/Resource/Compute/Addresses/AggregatedList.hs view
@@ -14,13 +14,13 @@ -- | -- Module : Network.Google.Resource.Compute.Addresses.AggregatedList--- Copyright : (c) 2015 Brendan Hay+-- 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 addresses grouped by scope.+-- Retrieves an aggregated list of addresses. -- -- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.addresses.aggregatedList@. module Network.Google.Resource.Compute.Addresses.AggregatedList@@ -57,10 +57,10 @@ QueryParam "alt" AltJSON :> Get '[JSON] AddressAggregatedList --- | Retrieves the list of addresses grouped by scope.+-- | Retrieves an aggregated list of addresses. -- -- /See:/ 'addressesAggregatedList' smart constructor.-data AddressesAggregatedList = AddressesAggregatedList+data AddressesAggregatedList = AddressesAggregatedList' { _aalProject :: !Text , _aalFilter :: !(Maybe Text) , _aalPageToken :: !(Maybe Text)@@ -82,7 +82,7 @@ :: Text -- ^ 'aalProject' -> AddressesAggregatedList addressesAggregatedList pAalProject_ =- AddressesAggregatedList+ AddressesAggregatedList' { _aalProject = pAalProject_ , _aalFilter = Nothing , _aalPageToken = Nothing@@ -95,28 +95,40 @@ = lens _aalProject (\ s a -> s{_aalProject = 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+-- 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--- (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, filter=name ne--- example-instance.+-- (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. Compute Engine Beta API Only: When+-- filtering in the Beta API, you can also 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. aalFilter :: Lens' AddressesAggregatedList (Maybe Text) aalFilter = lens _aalFilter (\ s a -> s{_aalFilter = a}) --- | Specifies a page token to use. Use this parameter if you want to list--- the next page of results. Set pageToken to the nextPageToken returned by--- a previous list request.+-- | Specifies a page token to use. Set pageToken to the nextPageToken+-- returned by a previous list request to get the next page of results. aalPageToken :: Lens' AddressesAggregatedList (Maybe Text) aalPageToken = lens _aalPageToken (\ s a -> s{_aalPageToken = a}) --- | Maximum count of results to be returned.+-- | 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. aalMaxResults :: Lens' AddressesAggregatedList Word32 aalMaxResults = lens _aalMaxResults@@ -126,7 +138,11 @@ instance GoogleRequest AddressesAggregatedList where type Rs AddressesAggregatedList = AddressAggregatedList- requestClient AddressesAggregatedList{..}+ type Scopes AddressesAggregatedList =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute",+ "https://www.googleapis.com/auth/compute.readonly"]+ requestClient AddressesAggregatedList'{..} = go _aalProject _aalFilter _aalPageToken (Just _aalMaxResults) (Just AltJSON)
gen/Network/Google/Resource/Compute/Addresses/Delete.hs view
@@ -14,7 +14,7 @@ -- | -- Module : Network.Google.Resource.Compute.Addresses.Delete--- Copyright : (c) 2015 Brendan Hay+-- Copyright : (c) 2015-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -57,7 +57,7 @@ -- | Deletes the specified address resource. -- -- /See:/ 'addressesDelete' smart constructor.-data AddressesDelete = AddressesDelete+data AddressesDelete = AddressesDelete' { _aaProject :: !Text , _aaAddress :: !Text , _aaRegion :: !Text@@ -78,7 +78,7 @@ -> Text -- ^ 'aaRegion' -> AddressesDelete addressesDelete pAaProject_ pAaAddress_ pAaRegion_ =- AddressesDelete+ AddressesDelete' { _aaProject = pAaProject_ , _aaAddress = pAaAddress_ , _aaRegion = pAaRegion_@@ -94,13 +94,16 @@ aaAddress = lens _aaAddress (\ s a -> s{_aaAddress = a}) --- | The name of the region for this request.+-- | Name of the region for this request. aaRegion :: Lens' AddressesDelete Text aaRegion = lens _aaRegion (\ s a -> s{_aaRegion = a}) instance GoogleRequest AddressesDelete where type Rs AddressesDelete = Operation- requestClient AddressesDelete{..}+ type Scopes AddressesDelete =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient AddressesDelete'{..} = go _aaProject _aaRegion _aaAddress (Just AltJSON) computeService where go
gen/Network/Google/Resource/Compute/Addresses/Get.hs view
@@ -14,7 +14,7 @@ -- | -- Module : Network.Google.Resource.Compute.Addresses.Get--- Copyright : (c) 2015 Brendan Hay+-- Copyright : (c) 2015-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -57,7 +57,7 @@ -- | Returns the specified address resource. -- -- /See:/ 'addressesGet' smart constructor.-data AddressesGet = AddressesGet+data AddressesGet = AddressesGet' { _addProject :: !Text , _addAddress :: !Text , _addRegion :: !Text@@ -78,7 +78,7 @@ -> Text -- ^ 'addRegion' -> AddressesGet addressesGet pAddProject_ pAddAddress_ pAddRegion_ =- AddressesGet+ AddressesGet' { _addProject = pAddProject_ , _addAddress = pAddAddress_ , _addRegion = pAddRegion_@@ -94,14 +94,18 @@ addAddress = lens _addAddress (\ s a -> s{_addAddress = a}) --- | The name of the region for this request.+-- | Name of the region for this request. addRegion :: Lens' AddressesGet Text addRegion = lens _addRegion (\ s a -> s{_addRegion = a}) instance GoogleRequest AddressesGet where type Rs AddressesGet = Address- requestClient AddressesGet{..}+ type Scopes AddressesGet =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute",+ "https://www.googleapis.com/auth/compute.readonly"]+ requestClient AddressesGet'{..} = go _addProject _addRegion _addAddress (Just AltJSON) computeService
gen/Network/Google/Resource/Compute/Addresses/Insert.hs view
@@ -14,7 +14,7 @@ -- | -- Module : Network.Google.Resource.Compute.Addresses.Insert--- Copyright : (c) 2015 Brendan Hay+-- Copyright : (c) 2015-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -59,7 +59,7 @@ -- included in the request. -- -- /See:/ 'addressesInsert' smart constructor.-data AddressesInsert = AddressesInsert+data AddressesInsert = AddressesInsert' { _aiProject :: !Text , _aiPayload :: !Address , _aiRegion :: !Text@@ -80,7 +80,7 @@ -> Text -- ^ 'aiRegion' -> AddressesInsert addressesInsert pAiProject_ pAiPayload_ pAiRegion_ =- AddressesInsert+ AddressesInsert' { _aiProject = pAiProject_ , _aiPayload = pAiPayload_ , _aiRegion = pAiRegion_@@ -96,13 +96,16 @@ aiPayload = lens _aiPayload (\ s a -> s{_aiPayload = a}) --- | The name of the region for this request.+-- | Name of the region for this request. aiRegion :: Lens' AddressesInsert Text aiRegion = lens _aiRegion (\ s a -> s{_aiRegion = a}) instance GoogleRequest AddressesInsert where type Rs AddressesInsert = Operation- requestClient AddressesInsert{..}+ type Scopes AddressesInsert =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient AddressesInsert'{..} = go _aiProject _aiRegion (Just AltJSON) _aiPayload computeService where go
gen/Network/Google/Resource/Compute/Addresses/List.hs view
@@ -14,14 +14,13 @@ -- | -- Module : Network.Google.Resource.Compute.Addresses.List--- Copyright : (c) 2015 Brendan Hay+-- 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 address resources contained within the specified--- region.+-- Retrieves a list of addresses contained within the specified region. -- -- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.addresses.list@. module Network.Google.Resource.Compute.Addresses.List@@ -59,11 +58,10 @@ QueryParam "maxResults" (Textual Word32) :> QueryParam "alt" AltJSON :> Get '[JSON] AddressList --- | Retrieves the list of address resources contained within the specified--- region.+-- | Retrieves a list of addresses contained within the specified region. -- -- /See:/ 'addressesList' smart constructor.-data AddressesList = AddressesList+data AddressesList = AddressesList' { _alProject :: !Text , _alFilter :: !(Maybe Text) , _alRegion :: !Text@@ -89,7 +87,7 @@ -> Text -- ^ 'alRegion' -> AddressesList addressesList pAlProject_ pAlRegion_ =- AddressesList+ AddressesList' { _alProject = pAlProject_ , _alFilter = Nothing , _alRegion = pAlRegion_@@ -103,31 +101,43 @@ = lens _alProject (\ s a -> s{_alProject = 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+-- 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--- (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, filter=name ne--- example-instance.+-- (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. Compute Engine Beta API Only: When+-- filtering in the Beta API, you can also 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. alFilter :: Lens' AddressesList (Maybe Text) alFilter = lens _alFilter (\ s a -> s{_alFilter = a}) --- | The name of the region for this request.+-- | Name of the region for this request. alRegion :: Lens' AddressesList Text alRegion = lens _alRegion (\ s a -> s{_alRegion = a}) --- | Specifies a page token to use. Use this parameter if you want to list--- the next page of results. Set pageToken to the nextPageToken returned by--- a previous list request.+-- | Specifies a page token to use. Set pageToken to the nextPageToken+-- returned by a previous list request to get the next page of results. alPageToken :: Lens' AddressesList (Maybe Text) alPageToken = lens _alPageToken (\ s a -> s{_alPageToken = a}) --- | Maximum count of results to be returned.+-- | 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. alMaxResults :: Lens' AddressesList Word32 alMaxResults = lens _alMaxResults (\ s a -> s{_alMaxResults = a})@@ -135,7 +145,11 @@ instance GoogleRequest AddressesList where type Rs AddressesList = AddressList- requestClient AddressesList{..}+ type Scopes AddressesList =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute",+ "https://www.googleapis.com/auth/compute.readonly"]+ requestClient AddressesList'{..} = go _alProject _alRegion _alFilter _alPageToken (Just _alMaxResults) (Just AltJSON)
gen/Network/Google/Resource/Compute/Autoscalers/AggregatedList.hs view
@@ -14,13 +14,13 @@ -- | -- Module : Network.Google.Resource.Compute.Autoscalers.AggregatedList--- Copyright : (c) 2015 Brendan Hay+-- 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 autoscalers grouped by scope.+-- Retrieves an aggregated list of autoscalers. -- -- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.autoscalers.aggregatedList@. module Network.Google.Resource.Compute.Autoscalers.AggregatedList@@ -57,10 +57,10 @@ QueryParam "alt" AltJSON :> Get '[JSON] AutoscalerAggregatedList --- | Retrieves the list of autoscalers grouped by scope.+-- | Retrieves an aggregated list of autoscalers. -- -- /See:/ 'autoscalersAggregatedList' smart constructor.-data AutoscalersAggregatedList = AutoscalersAggregatedList+data AutoscalersAggregatedList = AutoscalersAggregatedList' { _autProject :: !Text , _autFilter :: !(Maybe Text) , _autPageToken :: !(Maybe Text)@@ -82,41 +82,53 @@ :: Text -- ^ 'autProject' -> AutoscalersAggregatedList autoscalersAggregatedList pAutProject_ =- AutoscalersAggregatedList+ AutoscalersAggregatedList' { _autProject = pAutProject_ , _autFilter = Nothing , _autPageToken = Nothing , _autMaxResults = 500 } --- | Name of the project scoping this request.+-- | Project ID for this request. autProject :: Lens' AutoscalersAggregatedList Text autProject = lens _autProject (\ s a -> s{_autProject = 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+-- 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--- (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, filter=name ne--- example-instance.+-- (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. Compute Engine Beta API Only: When+-- filtering in the Beta API, you can also 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. autFilter :: Lens' AutoscalersAggregatedList (Maybe Text) autFilter = lens _autFilter (\ s a -> s{_autFilter = a}) --- | Specifies a page token to use. Use this parameter if you want to list--- the next page of results. Set pageToken to the nextPageToken returned by--- a previous list request.+-- | Specifies a page token to use. Set pageToken to the nextPageToken+-- returned by a previous list request to get the next page of results. autPageToken :: Lens' AutoscalersAggregatedList (Maybe Text) autPageToken = lens _autPageToken (\ s a -> s{_autPageToken = a}) --- | Maximum count of results to be returned.+-- | 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. autMaxResults :: Lens' AutoscalersAggregatedList Word32 autMaxResults = lens _autMaxResults@@ -127,7 +139,11 @@ where type Rs AutoscalersAggregatedList = AutoscalerAggregatedList- requestClient AutoscalersAggregatedList{..}+ type Scopes AutoscalersAggregatedList =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute",+ "https://www.googleapis.com/auth/compute.readonly"]+ requestClient AutoscalersAggregatedList'{..} = go _autProject _autFilter _autPageToken (Just _autMaxResults) (Just AltJSON)
gen/Network/Google/Resource/Compute/Autoscalers/Delete.hs view
@@ -14,13 +14,13 @@ -- | -- Module : Network.Google.Resource.Compute.Autoscalers.Delete--- Copyright : (c) 2015 Brendan Hay+-- 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 autoscaler resource.+-- Deletes the specified autoscaler. -- -- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.autoscalers.delete@. module Network.Google.Resource.Compute.Autoscalers.Delete@@ -54,10 +54,10 @@ Capture "autoscaler" Text :> QueryParam "alt" AltJSON :> Delete '[JSON] Operation --- | Deletes the specified autoscaler resource.+-- | Deletes the specified autoscaler. -- -- /See:/ 'autoscalersDelete' smart constructor.-data AutoscalersDelete = AutoscalersDelete+data AutoscalersDelete = AutoscalersDelete' { _adProject :: !Text , _adZone :: !Text , _adAutoscaler :: !Text@@ -78,29 +78,32 @@ -> Text -- ^ 'adAutoscaler' -> AutoscalersDelete autoscalersDelete pAdProject_ pAdZone_ pAdAutoscaler_ =- AutoscalersDelete+ AutoscalersDelete' { _adProject = pAdProject_ , _adZone = pAdZone_ , _adAutoscaler = pAdAutoscaler_ } --- | Name of the project scoping this request.+-- | Project ID for this request. adProject :: Lens' AutoscalersDelete Text adProject = lens _adProject (\ s a -> s{_adProject = a}) --- | Name of the zone scoping this request.+-- | Name of the zone for this request. adZone :: Lens' AutoscalersDelete Text adZone = lens _adZone (\ s a -> s{_adZone = a}) --- | Name of the persistent autoscaler resource to delete.+-- | Name of the autoscaler to delete. adAutoscaler :: Lens' AutoscalersDelete Text adAutoscaler = lens _adAutoscaler (\ s a -> s{_adAutoscaler = a}) instance GoogleRequest AutoscalersDelete where type Rs AutoscalersDelete = Operation- requestClient AutoscalersDelete{..}+ type Scopes AutoscalersDelete =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient AutoscalersDelete'{..} = go _adProject _adZone _adAutoscaler (Just AltJSON) computeService where go
gen/Network/Google/Resource/Compute/Autoscalers/Get.hs view
@@ -14,13 +14,14 @@ -- | -- Module : Network.Google.Resource.Compute.Autoscalers.Get--- Copyright : (c) 2015 Brendan Hay+-- 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 autoscaler resource.+-- Returns the specified autoscaler resource. Get a list of available+-- autoscalers by making a list() request. -- -- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.autoscalers.get@. module Network.Google.Resource.Compute.Autoscalers.Get@@ -54,10 +55,11 @@ Capture "autoscaler" Text :> QueryParam "alt" AltJSON :> Get '[JSON] Autoscaler --- | Returns the specified autoscaler resource.+-- | Returns the specified autoscaler resource. Get a list of available+-- autoscalers by making a list() request. -- -- /See:/ 'autoscalersGet' smart constructor.-data AutoscalersGet = AutoscalersGet+data AutoscalersGet = AutoscalersGet' { _agProject :: !Text , _agZone :: !Text , _agAutoscaler :: !Text@@ -78,29 +80,33 @@ -> Text -- ^ 'agAutoscaler' -> AutoscalersGet autoscalersGet pAgProject_ pAgZone_ pAgAutoscaler_ =- AutoscalersGet+ AutoscalersGet' { _agProject = pAgProject_ , _agZone = pAgZone_ , _agAutoscaler = pAgAutoscaler_ } --- | Name of the project scoping this request.+-- | Project ID for this request. agProject :: Lens' AutoscalersGet Text agProject = lens _agProject (\ s a -> s{_agProject = a}) --- | Name of the zone scoping this request.+-- | Name of the zone for this request. agZone :: Lens' AutoscalersGet Text agZone = lens _agZone (\ s a -> s{_agZone = a}) --- | Name of the persistent autoscaler resource to return.+-- | Name of the autoscaler to return. agAutoscaler :: Lens' AutoscalersGet Text agAutoscaler = lens _agAutoscaler (\ s a -> s{_agAutoscaler = a}) instance GoogleRequest AutoscalersGet where type Rs AutoscalersGet = Autoscaler- requestClient AutoscalersGet{..}+ type Scopes AutoscalersGet =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute",+ "https://www.googleapis.com/auth/compute.readonly"]+ requestClient AutoscalersGet'{..} = go _agProject _agZone _agAutoscaler (Just AltJSON) computeService where go
gen/Network/Google/Resource/Compute/Autoscalers/Insert.hs view
@@ -14,14 +14,14 @@ -- | -- Module : Network.Google.Resource.Compute.Autoscalers.Insert--- Copyright : (c) 2015 Brendan Hay+-- 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 an autoscaler resource in the specified project using the data--- included in the request.+-- Creates an autoscaler 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.autoscalers.insert@. module Network.Google.Resource.Compute.Autoscalers.Insert@@ -55,11 +55,11 @@ QueryParam "alt" AltJSON :> ReqBody '[JSON] Autoscaler :> Post '[JSON] Operation --- | Creates an autoscaler resource in the specified project using the data--- included in the request.+-- | Creates an autoscaler in the specified project using the data included+-- in the request. -- -- /See:/ 'autoscalersInsert' smart constructor.-data AutoscalersInsert = AutoscalersInsert+data AutoscalersInsert = AutoscalersInsert' { _aiiProject :: !Text , _aiiZone :: !Text , _aiiPayload :: !Autoscaler@@ -80,18 +80,18 @@ -> Autoscaler -- ^ 'aiiPayload' -> AutoscalersInsert autoscalersInsert pAiiProject_ pAiiZone_ pAiiPayload_ =- AutoscalersInsert+ AutoscalersInsert' { _aiiProject = pAiiProject_ , _aiiZone = pAiiZone_ , _aiiPayload = pAiiPayload_ } --- | Name of the project scoping this request.+-- | Project ID for this request. aiiProject :: Lens' AutoscalersInsert Text aiiProject = lens _aiiProject (\ s a -> s{_aiiProject = a}) --- | Name of the zone scoping this request.+-- | Name of the zone for this request. aiiZone :: Lens' AutoscalersInsert Text aiiZone = lens _aiiZone (\ s a -> s{_aiiZone = a}) @@ -102,7 +102,10 @@ instance GoogleRequest AutoscalersInsert where type Rs AutoscalersInsert = Operation- requestClient AutoscalersInsert{..}+ type Scopes AutoscalersInsert =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient AutoscalersInsert'{..} = go _aiiProject _aiiZone (Just AltJSON) _aiiPayload computeService where go
gen/Network/Google/Resource/Compute/Autoscalers/List.hs view
@@ -14,14 +14,13 @@ -- | -- Module : Network.Google.Resource.Compute.Autoscalers.List--- Copyright : (c) 2015 Brendan Hay+-- 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 autoscaler resources contained within the--- specified zone.+-- Retrieves a list of autoscalers contained within the specified zone. -- -- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.autoscalers.list@. module Network.Google.Resource.Compute.Autoscalers.List@@ -60,11 +59,10 @@ QueryParam "alt" AltJSON :> Get '[JSON] AutoscalerList --- | Retrieves the list of autoscaler resources contained within the--- specified zone.+-- | Retrieves a list of autoscalers contained within the specified zone. -- -- /See:/ 'autoscalersList' smart constructor.-data AutoscalersList = AutoscalersList+data AutoscalersList = AutoscalersList' { _aProject :: !Text , _aZone :: !Text , _aFilter :: !(Maybe Text)@@ -90,7 +88,7 @@ -> Text -- ^ 'aZone' -> AutoscalersList autoscalersList pAProject_ pAZone_ =- AutoscalersList+ AutoscalersList' { _aProject = pAProject_ , _aZone = pAZone_ , _aFilter = Nothing@@ -98,36 +96,48 @@ , _aMaxResults = 500 } --- | Name of the project scoping this request.+-- | Project ID for this request. aProject :: Lens' AutoscalersList Text aProject = lens _aProject (\ s a -> s{_aProject = a}) --- | Name of the zone scoping this request.+-- | Name of the zone for this request. aZone :: Lens' AutoscalersList Text aZone = lens _aZone (\ s a -> s{_aZone = 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+-- 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--- (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, filter=name ne--- example-instance.+-- (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. Compute Engine Beta API Only: When+-- filtering in the Beta API, you can also 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. aFilter :: Lens' AutoscalersList (Maybe Text) aFilter = lens _aFilter (\ s a -> s{_aFilter = a}) --- | Specifies a page token to use. Use this parameter if you want to list--- the next page of results. Set pageToken to the nextPageToken returned by--- a previous list request.+-- | Specifies a page token to use. Set pageToken to the nextPageToken+-- returned by a previous list request to get the next page of results. aPageToken :: Lens' AutoscalersList (Maybe Text) aPageToken = lens _aPageToken (\ s a -> s{_aPageToken = a}) --- | Maximum count of results to be returned.+-- | 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. aMaxResults :: Lens' AutoscalersList Word32 aMaxResults = lens _aMaxResults (\ s a -> s{_aMaxResults = a}) .@@ -135,7 +145,11 @@ instance GoogleRequest AutoscalersList where type Rs AutoscalersList = AutoscalerList- requestClient AutoscalersList{..}+ type Scopes AutoscalersList =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute",+ "https://www.googleapis.com/auth/compute.readonly"]+ requestClient AutoscalersList'{..} = go _aProject _aZone _aFilter _aPageToken (Just _aMaxResults) (Just AltJSON)
gen/Network/Google/Resource/Compute/Autoscalers/Patch.hs view
@@ -14,14 +14,14 @@ -- | -- Module : Network.Google.Resource.Compute.Autoscalers.Patch--- Copyright : (c) 2015 Brendan Hay+-- 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 an autoscaler resource in the specified project using the data--- included in the request. This method supports patch semantics.+-- Updates an autoscaler 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.autoscalers.patch@. module Network.Google.Resource.Compute.Autoscalers.Patch@@ -57,11 +57,11 @@ QueryParam "alt" AltJSON :> ReqBody '[JSON] Autoscaler :> Patch '[JSON] Operation --- | Updates an autoscaler resource in the specified project using the data--- included in the request. This method supports patch semantics.+-- | Updates an autoscaler in the specified project using the data included+-- in the request. This method supports patch semantics. -- -- /See:/ 'autoscalersPatch' smart constructor.-data AutoscalersPatch = AutoscalersPatch+data AutoscalersPatch = AutoscalersPatch' { _apProject :: !Text , _apZone :: !Text , _apPayload :: !Autoscaler@@ -86,19 +86,19 @@ -> Text -- ^ 'apAutoscaler' -> AutoscalersPatch autoscalersPatch pApProject_ pApZone_ pApPayload_ pApAutoscaler_ =- AutoscalersPatch+ AutoscalersPatch' { _apProject = pApProject_ , _apZone = pApZone_ , _apPayload = pApPayload_ , _apAutoscaler = pApAutoscaler_ } --- | Name of the project scoping this request.+-- | Project ID for this request. apProject :: Lens' AutoscalersPatch Text apProject = lens _apProject (\ s a -> s{_apProject = a}) --- | Name of the zone scoping this request.+-- | Name of the zone for this request. apZone :: Lens' AutoscalersPatch Text apZone = lens _apZone (\ s a -> s{_apZone = a}) @@ -107,14 +107,17 @@ apPayload = lens _apPayload (\ s a -> s{_apPayload = a}) --- | Name of the autoscaler resource to update.+-- | Name of the autoscaler to update. apAutoscaler :: Lens' AutoscalersPatch Text apAutoscaler = lens _apAutoscaler (\ s a -> s{_apAutoscaler = a}) instance GoogleRequest AutoscalersPatch where type Rs AutoscalersPatch = Operation- requestClient AutoscalersPatch{..}+ type Scopes AutoscalersPatch =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient AutoscalersPatch'{..} = go _apProject _apZone (Just _apAutoscaler) (Just AltJSON) _apPayload
gen/Network/Google/Resource/Compute/Autoscalers/Update.hs view
@@ -14,14 +14,14 @@ -- | -- Module : Network.Google.Resource.Compute.Autoscalers.Update--- Copyright : (c) 2015 Brendan Hay+-- 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 an autoscaler resource in the specified project using the data--- included in the request.+-- Updates an autoscaler 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.autoscalers.update@. module Network.Google.Resource.Compute.Autoscalers.Update@@ -57,11 +57,11 @@ QueryParam "alt" AltJSON :> ReqBody '[JSON] Autoscaler :> Put '[JSON] Operation --- | Updates an autoscaler resource in the specified project using the data--- included in the request.+-- | Updates an autoscaler in the specified project using the data included+-- in the request. -- -- /See:/ 'autoscalersUpdate' smart constructor.-data AutoscalersUpdate = AutoscalersUpdate+data AutoscalersUpdate = AutoscalersUpdate' { _auProject :: !Text , _auZone :: !Text , _auPayload :: !Autoscaler@@ -85,19 +85,19 @@ -> Autoscaler -- ^ 'auPayload' -> AutoscalersUpdate autoscalersUpdate pAuProject_ pAuZone_ pAuPayload_ =- AutoscalersUpdate+ AutoscalersUpdate' { _auProject = pAuProject_ , _auZone = pAuZone_ , _auPayload = pAuPayload_ , _auAutoscaler = Nothing } --- | Name of the project scoping this request.+-- | Project ID for this request. auProject :: Lens' AutoscalersUpdate Text auProject = lens _auProject (\ s a -> s{_auProject = a}) --- | Name of the zone scoping this request.+-- | Name of the zone for this request. auZone :: Lens' AutoscalersUpdate Text auZone = lens _auZone (\ s a -> s{_auZone = a}) @@ -106,14 +106,17 @@ auPayload = lens _auPayload (\ s a -> s{_auPayload = a}) --- | Name of the autoscaler resource to update.+-- | Name of the autoscaler to update. auAutoscaler :: Lens' AutoscalersUpdate (Maybe Text) auAutoscaler = lens _auAutoscaler (\ s a -> s{_auAutoscaler = a}) instance GoogleRequest AutoscalersUpdate where type Rs AutoscalersUpdate = Operation- requestClient AutoscalersUpdate{..}+ type Scopes AutoscalersUpdate =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient AutoscalersUpdate'{..} = go _auProject _auZone _auAutoscaler (Just AltJSON) _auPayload computeService
gen/Network/Google/Resource/Compute/BackendServices/Delete.hs view
@@ -14,7 +14,7 @@ -- | -- Module : Network.Google.Resource.Compute.BackendServices.Delete--- Copyright : (c) 2015 Brendan Hay+-- Copyright : (c) 2015-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -55,7 +55,7 @@ -- | Deletes the specified BackendService resource. -- -- /See:/ 'backendServicesDelete' smart constructor.-data BackendServicesDelete = BackendServicesDelete+data BackendServicesDelete = BackendServicesDelete' { _bsdProject :: !Text , _bsdBackendService :: !Text } deriving (Eq,Show,Data,Typeable,Generic)@@ -72,12 +72,12 @@ -> Text -- ^ 'bsdBackendService' -> BackendServicesDelete backendServicesDelete pBsdProject_ pBsdBackendService_ =- BackendServicesDelete+ BackendServicesDelete' { _bsdProject = pBsdProject_ , _bsdBackendService = pBsdBackendService_ } --- | Name of the project scoping this request.+-- | Project ID for this request. bsdProject :: Lens' BackendServicesDelete Text bsdProject = lens _bsdProject (\ s a -> s{_bsdProject = a})@@ -90,7 +90,10 @@ instance GoogleRequest BackendServicesDelete where type Rs BackendServicesDelete = Operation- requestClient BackendServicesDelete{..}+ type Scopes BackendServicesDelete =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient BackendServicesDelete'{..} = go _bsdProject _bsdBackendService (Just AltJSON) computeService where go
gen/Network/Google/Resource/Compute/BackendServices/Get.hs view
@@ -14,13 +14,14 @@ -- | -- Module : Network.Google.Resource.Compute.BackendServices.Get--- Copyright : (c) 2015 Brendan Hay+-- 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 BackendService resource.+-- Returns the specified BackendService resource. Get a list of available+-- backend services by making a list() request. -- -- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.backendServices.get@. module Network.Google.Resource.Compute.BackendServices.Get@@ -53,10 +54,11 @@ QueryParam "alt" AltJSON :> Get '[JSON] BackendService --- | Returns the specified BackendService resource.+-- | Returns the specified BackendService resource. Get a list of available+-- backend services by making a list() request. -- -- /See:/ 'backendServicesGet' smart constructor.-data BackendServicesGet = BackendServicesGet+data BackendServicesGet = BackendServicesGet' { _bsgProject :: !Text , _bsgBackendService :: !Text } deriving (Eq,Show,Data,Typeable,Generic)@@ -73,12 +75,12 @@ -> Text -- ^ 'bsgBackendService' -> BackendServicesGet backendServicesGet pBsgProject_ pBsgBackendService_ =- BackendServicesGet+ BackendServicesGet' { _bsgProject = pBsgProject_ , _bsgBackendService = pBsgBackendService_ } --- | Name of the project scoping this request.+-- | Project ID for this request. bsgProject :: Lens' BackendServicesGet Text bsgProject = lens _bsgProject (\ s a -> s{_bsgProject = a})@@ -91,7 +93,11 @@ instance GoogleRequest BackendServicesGet where type Rs BackendServicesGet = BackendService- requestClient BackendServicesGet{..}+ type Scopes BackendServicesGet =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute",+ "https://www.googleapis.com/auth/compute.readonly"]+ requestClient BackendServicesGet'{..} = go _bsgProject _bsgBackendService (Just AltJSON) computeService where go
gen/Network/Google/Resource/Compute/BackendServices/GetHealth.hs view
@@ -14,7 +14,7 @@ -- | -- Module : Network.Google.Resource.Compute.BackendServices.GetHealth--- Copyright : (c) 2015 Brendan Hay+-- Copyright : (c) 2015-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -59,7 +59,7 @@ -- | Gets the most recent health check results for this BackendService. -- -- /See:/ 'backendServicesGetHealth' smart constructor.-data BackendServicesGetHealth = BackendServicesGetHealth+data BackendServicesGetHealth = BackendServicesGetHealth' { _bsghProject :: !Text , _bsghPayload :: !ResourceGroupReference , _bsghBackendService :: !Text@@ -80,7 +80,7 @@ -> Text -- ^ 'bsghBackendService' -> BackendServicesGetHealth backendServicesGetHealth pBsghProject_ pBsghPayload_ pBsghBackendService_ =- BackendServicesGetHealth+ BackendServicesGetHealth' { _bsghProject = pBsghProject_ , _bsghPayload = pBsghPayload_ , _bsghBackendService = pBsghBackendService_@@ -105,7 +105,11 @@ instance GoogleRequest BackendServicesGetHealth where type Rs BackendServicesGetHealth = BackendServiceGroupHealth- requestClient BackendServicesGetHealth{..}+ type Scopes BackendServicesGetHealth =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute",+ "https://www.googleapis.com/auth/compute.readonly"]+ requestClient BackendServicesGetHealth'{..} = go _bsghProject _bsghBackendService (Just AltJSON) _bsghPayload computeService
gen/Network/Google/Resource/Compute/BackendServices/Insert.hs view
@@ -14,14 +14,16 @@ -- | -- Module : Network.Google.Resource.Compute.BackendServices.Insert--- Copyright : (c) 2015 Brendan Hay+-- 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 BackendService resource in the specified project using the--- data included in the request.+-- data included in the request. There are several restrictions and+-- guidelines to keep in mind when creating 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.insert@. module Network.Google.Resource.Compute.BackendServices.Insert@@ -55,10 +57,12 @@ Post '[JSON] Operation -- | Creates a BackendService resource in the specified project using the--- data included in the request.+-- data included in the request. There are several restrictions and+-- guidelines to keep in mind when creating a backend service. Read+-- Restrictions and Guidelines for more information. -- -- /See:/ 'backendServicesInsert' smart constructor.-data BackendServicesInsert = BackendServicesInsert+data BackendServicesInsert = BackendServicesInsert' { _bsiProject :: !Text , _bsiPayload :: !BackendService } deriving (Eq,Show,Data,Typeable,Generic)@@ -75,12 +79,12 @@ -> BackendService -- ^ 'bsiPayload' -> BackendServicesInsert backendServicesInsert pBsiProject_ pBsiPayload_ =- BackendServicesInsert+ BackendServicesInsert' { _bsiProject = pBsiProject_ , _bsiPayload = pBsiPayload_ } --- | Name of the project scoping this request.+-- | Project ID for this request. bsiProject :: Lens' BackendServicesInsert Text bsiProject = lens _bsiProject (\ s a -> s{_bsiProject = a})@@ -92,7 +96,10 @@ instance GoogleRequest BackendServicesInsert where type Rs BackendServicesInsert = Operation- requestClient BackendServicesInsert{..}+ type Scopes BackendServicesInsert =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient BackendServicesInsert'{..} = go _bsiProject (Just AltJSON) _bsiPayload computeService where go
gen/Network/Google/Resource/Compute/BackendServices/List.hs view
@@ -14,7 +14,7 @@ -- | -- Module : Network.Google.Resource.Compute.BackendServices.List--- Copyright : (c) 2015 Brendan Hay+-- Copyright : (c) 2015-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -62,7 +62,7 @@ -- specified project. -- -- /See:/ 'backendServicesList' smart constructor.-data BackendServicesList = BackendServicesList+data BackendServicesList = BackendServicesList' { _bslProject :: !Text , _bslFilter :: !(Maybe Text) , _bslPageToken :: !(Maybe Text)@@ -84,41 +84,53 @@ :: Text -- ^ 'bslProject' -> BackendServicesList backendServicesList pBslProject_ =- BackendServicesList+ BackendServicesList' { _bslProject = pBslProject_ , _bslFilter = Nothing , _bslPageToken = Nothing , _bslMaxResults = 500 } --- | Name of the project scoping this request.+-- | Project ID for this request. bslProject :: Lens' BackendServicesList Text bslProject = lens _bslProject (\ s a -> s{_bslProject = 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+-- 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--- (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, filter=name ne--- example-instance.+-- (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. Compute Engine Beta API Only: When+-- filtering in the Beta API, you can also 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. bslFilter :: Lens' BackendServicesList (Maybe Text) bslFilter = lens _bslFilter (\ s a -> s{_bslFilter = a}) --- | Specifies a page token to use. Use this parameter if you want to list--- the next page of results. Set pageToken to the nextPageToken returned by--- a previous list request.+-- | Specifies a page token to use. Set pageToken to the nextPageToken+-- returned by a previous list request to get the next page of results. bslPageToken :: Lens' BackendServicesList (Maybe Text) bslPageToken = lens _bslPageToken (\ s a -> s{_bslPageToken = a}) --- | Maximum count of results to be returned.+-- | 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. bslMaxResults :: Lens' BackendServicesList Word32 bslMaxResults = lens _bslMaxResults@@ -127,7 +139,11 @@ instance GoogleRequest BackendServicesList where type Rs BackendServicesList = BackendServiceList- requestClient BackendServicesList{..}+ type Scopes BackendServicesList =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute",+ "https://www.googleapis.com/auth/compute.readonly"]+ requestClient BackendServicesList'{..} = go _bslProject _bslFilter _bslPageToken (Just _bslMaxResults) (Just AltJSON)
gen/Network/Google/Resource/Compute/BackendServices/Patch.hs view
@@ -14,14 +14,16 @@ -- | -- Module : Network.Google.Resource.Compute.BackendServices.Patch--- Copyright : (c) 2015 Brendan Hay+-- 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) ----- Update the entire content of the BackendService resource. This method--- supports patch semantics.+-- 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. -- -- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.backendServices.patch@. module Network.Google.Resource.Compute.BackendServices.Patch@@ -56,11 +58,13 @@ ReqBody '[JSON] BackendService :> Patch '[JSON] Operation --- | Update the entire content of the BackendService resource. This method--- supports patch semantics.+-- | 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. -- -- /See:/ 'backendServicesPatch' smart constructor.-data BackendServicesPatch = BackendServicesPatch+data BackendServicesPatch = BackendServicesPatch' { _bspProject :: !Text , _bspPayload :: !BackendService , _bspBackendService :: !Text@@ -81,13 +85,13 @@ -> Text -- ^ 'bspBackendService' -> BackendServicesPatch backendServicesPatch pBspProject_ pBspPayload_ pBspBackendService_ =- BackendServicesPatch+ BackendServicesPatch' { _bspProject = pBspProject_ , _bspPayload = pBspPayload_ , _bspBackendService = pBspBackendService_ } --- | Name of the project scoping this request.+-- | Project ID for this request. bspProject :: Lens' BackendServicesPatch Text bspProject = lens _bspProject (\ s a -> s{_bspProject = a})@@ -105,7 +109,10 @@ instance GoogleRequest BackendServicesPatch where type Rs BackendServicesPatch = Operation- requestClient BackendServicesPatch{..}+ type Scopes BackendServicesPatch =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient BackendServicesPatch'{..} = go _bspProject _bspBackendService (Just AltJSON) _bspPayload computeService
gen/Network/Google/Resource/Compute/BackendServices/Update.hs view
@@ -14,13 +14,15 @@ -- | -- Module : Network.Google.Resource.Compute.BackendServices.Update--- Copyright : (c) 2015 Brendan Hay+-- 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) ----- Update the entire content of the BackendService resource.+-- 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. -- -- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.backendServices.update@. module Network.Google.Resource.Compute.BackendServices.Update@@ -55,10 +57,12 @@ ReqBody '[JSON] BackendService :> Put '[JSON] Operation --- | Update the entire content of the BackendService resource.+-- | 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. -- -- /See:/ 'backendServicesUpdate' smart constructor.-data BackendServicesUpdate = BackendServicesUpdate+data BackendServicesUpdate = BackendServicesUpdate' { _bsuProject :: !Text , _bsuPayload :: !BackendService , _bsuBackendService :: !Text@@ -79,13 +83,13 @@ -> Text -- ^ 'bsuBackendService' -> BackendServicesUpdate backendServicesUpdate pBsuProject_ pBsuPayload_ pBsuBackendService_ =- BackendServicesUpdate+ BackendServicesUpdate' { _bsuProject = pBsuProject_ , _bsuPayload = pBsuPayload_ , _bsuBackendService = pBsuBackendService_ } --- | Name of the project scoping this request.+-- | Project ID for this request. bsuProject :: Lens' BackendServicesUpdate Text bsuProject = lens _bsuProject (\ s a -> s{_bsuProject = a})@@ -103,7 +107,10 @@ instance GoogleRequest BackendServicesUpdate where type Rs BackendServicesUpdate = Operation- requestClient BackendServicesUpdate{..}+ type Scopes BackendServicesUpdate =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient BackendServicesUpdate'{..} = go _bsuProject _bsuBackendService (Just AltJSON) _bsuPayload computeService
gen/Network/Google/Resource/Compute/DiskTypes/AggregatedList.hs view
@@ -14,13 +14,13 @@ -- | -- Module : Network.Google.Resource.Compute.DiskTypes.AggregatedList--- Copyright : (c) 2015 Brendan Hay+-- 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 disk type resources grouped by scope.+-- Retrieves an aggregated list of disk types. -- -- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.diskTypes.aggregatedList@. module Network.Google.Resource.Compute.DiskTypes.AggregatedList@@ -57,10 +57,10 @@ QueryParam "alt" AltJSON :> Get '[JSON] DiskTypeAggregatedList --- | Retrieves the list of disk type resources grouped by scope.+-- | Retrieves an aggregated list of disk types. -- -- /See:/ 'diskTypesAggregatedList' smart constructor.-data DiskTypesAggregatedList = DiskTypesAggregatedList+data DiskTypesAggregatedList = DiskTypesAggregatedList' { _dtalProject :: !Text , _dtalFilter :: !(Maybe Text) , _dtalPageToken :: !(Maybe Text)@@ -82,7 +82,7 @@ :: Text -- ^ 'dtalProject' -> DiskTypesAggregatedList diskTypesAggregatedList pDtalProject_ =- DiskTypesAggregatedList+ DiskTypesAggregatedList' { _dtalProject = pDtalProject_ , _dtalFilter = Nothing , _dtalPageToken = Nothing@@ -95,29 +95,41 @@ = lens _dtalProject (\ s a -> s{_dtalProject = 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+-- 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--- (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, filter=name ne--- example-instance.+-- (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. Compute Engine Beta API Only: When+-- filtering in the Beta API, you can also 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. dtalFilter :: Lens' DiskTypesAggregatedList (Maybe Text) dtalFilter = lens _dtalFilter (\ s a -> s{_dtalFilter = a}) --- | Specifies a page token to use. Use this parameter if you want to list--- the next page of results. Set pageToken to the nextPageToken returned by--- a previous list request.+-- | Specifies a page token to use. Set pageToken to the nextPageToken+-- returned by a previous list request to get the next page of results. dtalPageToken :: Lens' DiskTypesAggregatedList (Maybe Text) dtalPageToken = lens _dtalPageToken (\ s a -> s{_dtalPageToken = a}) --- | Maximum count of results to be returned.+-- | 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. dtalMaxResults :: Lens' DiskTypesAggregatedList Word32 dtalMaxResults = lens _dtalMaxResults@@ -127,7 +139,11 @@ instance GoogleRequest DiskTypesAggregatedList where type Rs DiskTypesAggregatedList = DiskTypeAggregatedList- requestClient DiskTypesAggregatedList{..}+ type Scopes DiskTypesAggregatedList =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute",+ "https://www.googleapis.com/auth/compute.readonly"]+ requestClient DiskTypesAggregatedList'{..} = go _dtalProject _dtalFilter _dtalPageToken (Just _dtalMaxResults) (Just AltJSON)
gen/Network/Google/Resource/Compute/DiskTypes/Get.hs view
@@ -14,13 +14,14 @@ -- | -- Module : Network.Google.Resource.Compute.DiskTypes.Get--- Copyright : (c) 2015 Brendan Hay+-- 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 disk type resource.+-- Returns the specified disk type. Get a list of available disk types by+-- making a list() request. -- -- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.diskTypes.get@. module Network.Google.Resource.Compute.DiskTypes.Get@@ -54,10 +55,11 @@ Capture "diskType" Text :> QueryParam "alt" AltJSON :> Get '[JSON] DiskType --- | Returns the specified disk type resource.+-- | Returns the specified disk type. Get a list of available disk types by+-- making a list() request. -- -- /See:/ 'diskTypesGet' smart constructor.-data DiskTypesGet = DiskTypesGet+data DiskTypesGet = DiskTypesGet' { _dtgProject :: !Text , _dtgZone :: !Text , _dtgDiskType :: !Text@@ -78,7 +80,7 @@ -> Text -- ^ 'dtgDiskType' -> DiskTypesGet diskTypesGet pDtgProject_ pDtgZone_ pDtgDiskType_ =- DiskTypesGet+ DiskTypesGet' { _dtgProject = pDtgProject_ , _dtgZone = pDtgZone_ , _dtgDiskType = pDtgDiskType_@@ -93,14 +95,18 @@ dtgZone :: Lens' DiskTypesGet Text dtgZone = lens _dtgZone (\ s a -> s{_dtgZone = a}) --- | Name of the disk type resource to return.+-- | Name of the disk type to return. dtgDiskType :: Lens' DiskTypesGet Text dtgDiskType = lens _dtgDiskType (\ s a -> s{_dtgDiskType = a}) instance GoogleRequest DiskTypesGet where type Rs DiskTypesGet = DiskType- requestClient DiskTypesGet{..}+ type Scopes DiskTypesGet =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute",+ "https://www.googleapis.com/auth/compute.readonly"]+ requestClient DiskTypesGet'{..} = go _dtgProject _dtgZone _dtgDiskType (Just AltJSON) computeService where go
gen/Network/Google/Resource/Compute/DiskTypes/List.hs view
@@ -14,14 +14,13 @@ -- | -- Module : Network.Google.Resource.Compute.DiskTypes.List--- Copyright : (c) 2015 Brendan Hay+-- 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 disk type resources available to the specified--- project.+-- Retrieves a list of disk types available to the specified project. -- -- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.diskTypes.list@. module Network.Google.Resource.Compute.DiskTypes.List@@ -59,11 +58,10 @@ QueryParam "maxResults" (Textual Word32) :> QueryParam "alt" AltJSON :> Get '[JSON] DiskTypeList --- | Retrieves the list of disk type resources available to the specified--- project.+-- | Retrieves a list of disk types available to the specified project. -- -- /See:/ 'diskTypesList' smart constructor.-data DiskTypesList = DiskTypesList+data DiskTypesList = DiskTypesList' { _dtlProject :: !Text , _dtlZone :: !Text , _dtlFilter :: !(Maybe Text)@@ -89,7 +87,7 @@ -> Text -- ^ 'dtlZone' -> DiskTypesList diskTypesList pDtlProject_ pDtlZone_ =- DiskTypesList+ DiskTypesList' { _dtlProject = pDtlProject_ , _dtlZone = pDtlZone_ , _dtlFilter = Nothing@@ -107,28 +105,40 @@ dtlZone = lens _dtlZone (\ s a -> s{_dtlZone = 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+-- 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--- (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, filter=name ne--- example-instance.+-- (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. Compute Engine Beta API Only: When+-- filtering in the Beta API, you can also 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. dtlFilter :: Lens' DiskTypesList (Maybe Text) dtlFilter = lens _dtlFilter (\ s a -> s{_dtlFilter = a}) --- | Specifies a page token to use. Use this parameter if you want to list--- the next page of results. Set pageToken to the nextPageToken returned by--- a previous list request.+-- | Specifies a page token to use. Set pageToken to the nextPageToken+-- returned by a previous list request to get the next page of results. dtlPageToken :: Lens' DiskTypesList (Maybe Text) dtlPageToken = lens _dtlPageToken (\ s a -> s{_dtlPageToken = a}) --- | Maximum count of results to be returned.+-- | 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. dtlMaxResults :: Lens' DiskTypesList Word32 dtlMaxResults = lens _dtlMaxResults@@ -137,7 +147,11 @@ instance GoogleRequest DiskTypesList where type Rs DiskTypesList = DiskTypeList- requestClient DiskTypesList{..}+ type Scopes DiskTypesList =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute",+ "https://www.googleapis.com/auth/compute.readonly"]+ requestClient DiskTypesList'{..} = go _dtlProject _dtlZone _dtlFilter _dtlPageToken (Just _dtlMaxResults) (Just AltJSON)
gen/Network/Google/Resource/Compute/Disks/AggregatedList.hs view
@@ -14,13 +14,13 @@ -- | -- Module : Network.Google.Resource.Compute.Disks.AggregatedList--- Copyright : (c) 2015 Brendan Hay+-- 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 disks grouped by scope.+-- Retrieves an aggregated list of persistent disks. -- -- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.disks.aggregatedList@. module Network.Google.Resource.Compute.Disks.AggregatedList@@ -57,10 +57,10 @@ QueryParam "alt" AltJSON :> Get '[JSON] DiskAggregatedList --- | Retrieves the list of disks grouped by scope.+-- | Retrieves an aggregated list of persistent disks. -- -- /See:/ 'disksAggregatedList' smart constructor.-data DisksAggregatedList = DisksAggregatedList+data DisksAggregatedList = DisksAggregatedList' { _dalProject :: !Text , _dalFilter :: !(Maybe Text) , _dalPageToken :: !(Maybe Text)@@ -82,7 +82,7 @@ :: Text -- ^ 'dalProject' -> DisksAggregatedList disksAggregatedList pDalProject_ =- DisksAggregatedList+ DisksAggregatedList' { _dalProject = pDalProject_ , _dalFilter = Nothing , _dalPageToken = Nothing@@ -95,28 +95,40 @@ = lens _dalProject (\ s a -> s{_dalProject = 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+-- 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--- (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, filter=name ne--- example-instance.+-- (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. Compute Engine Beta API Only: When+-- filtering in the Beta API, you can also 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. dalFilter :: Lens' DisksAggregatedList (Maybe Text) dalFilter = lens _dalFilter (\ s a -> s{_dalFilter = a}) --- | Specifies a page token to use. Use this parameter if you want to list--- the next page of results. Set pageToken to the nextPageToken returned by--- a previous list request.+-- | Specifies a page token to use. Set pageToken to the nextPageToken+-- returned by a previous list request to get the next page of results. dalPageToken :: Lens' DisksAggregatedList (Maybe Text) dalPageToken = lens _dalPageToken (\ s a -> s{_dalPageToken = a}) --- | Maximum count of results to be returned.+-- | 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. dalMaxResults :: Lens' DisksAggregatedList Word32 dalMaxResults = lens _dalMaxResults@@ -125,7 +137,11 @@ instance GoogleRequest DisksAggregatedList where type Rs DisksAggregatedList = DiskAggregatedList- requestClient DisksAggregatedList{..}+ type Scopes DisksAggregatedList =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute",+ "https://www.googleapis.com/auth/compute.readonly"]+ requestClient DisksAggregatedList'{..} = go _dalProject _dalFilter _dalPageToken (Just _dalMaxResults) (Just AltJSON)
gen/Network/Google/Resource/Compute/Disks/CreateSnapshot.hs view
@@ -14,13 +14,13 @@ -- | -- Module : Network.Google.Resource.Compute.Disks.CreateSnapshot--- Copyright : (c) 2015 Brendan Hay+-- 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 snapshot of this disk.+-- Creates a snapshot of a specified persistent disk. -- -- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.disks.createSnapshot@. module Network.Google.Resource.Compute.Disks.CreateSnapshot@@ -57,10 +57,10 @@ QueryParam "alt" AltJSON :> ReqBody '[JSON] Snapshot :> Post '[JSON] Operation --- | Creates a snapshot of this disk.+-- | Creates a snapshot of a specified persistent disk. -- -- /See:/ 'disksCreateSnapshot' smart constructor.-data DisksCreateSnapshot = DisksCreateSnapshot+data DisksCreateSnapshot = DisksCreateSnapshot' { _dcsProject :: !Text , _dcsDisk :: !Text , _dcsZone :: !Text@@ -85,7 +85,7 @@ -> Snapshot -- ^ 'dcsPayload' -> DisksCreateSnapshot disksCreateSnapshot pDcsProject_ pDcsDisk_ pDcsZone_ pDcsPayload_ =- DisksCreateSnapshot+ DisksCreateSnapshot' { _dcsProject = pDcsProject_ , _dcsDisk = pDcsDisk_ , _dcsZone = pDcsZone_@@ -112,7 +112,10 @@ instance GoogleRequest DisksCreateSnapshot where type Rs DisksCreateSnapshot = Operation- requestClient DisksCreateSnapshot{..}+ type Scopes DisksCreateSnapshot =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient DisksCreateSnapshot'{..} = go _dcsProject _dcsZone _dcsDisk (Just AltJSON) _dcsPayload computeService
gen/Network/Google/Resource/Compute/Disks/Delete.hs view
@@ -14,7 +14,7 @@ -- | -- Module : Network.Google.Resource.Compute.Disks.Delete--- Copyright : (c) 2015 Brendan Hay+-- Copyright : (c) 2015-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -63,7 +63,7 @@ -- delete snapshots. -- -- /See:/ 'disksDelete' smart constructor.-data DisksDelete = DisksDelete+data DisksDelete = DisksDelete' { _ddProject :: !Text , _ddDisk :: !Text , _ddZone :: !Text@@ -84,7 +84,7 @@ -> Text -- ^ 'ddZone' -> DisksDelete disksDelete pDdProject_ pDdDisk_ pDdZone_ =- DisksDelete+ DisksDelete' { _ddProject = pDdProject_ , _ddDisk = pDdDisk_ , _ddZone = pDdZone_@@ -105,7 +105,10 @@ instance GoogleRequest DisksDelete where type Rs DisksDelete = Operation- requestClient DisksDelete{..}+ type Scopes DisksDelete =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient DisksDelete'{..} = go _ddProject _ddZone _ddDisk (Just AltJSON) computeService where go
gen/Network/Google/Resource/Compute/Disks/Get.hs view
@@ -14,13 +14,14 @@ -- | -- Module : Network.Google.Resource.Compute.Disks.Get--- Copyright : (c) 2015 Brendan Hay+-- 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 a specified persistent disk.+-- Returns a specified persistent disk. Get a list of available persistent+-- disks by making a list() request. -- -- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.disks.get@. module Network.Google.Resource.Compute.Disks.Get@@ -54,10 +55,11 @@ Capture "disk" Text :> QueryParam "alt" AltJSON :> Get '[JSON] Disk --- | Returns a specified persistent disk.+-- | Returns a specified persistent disk. Get a list of available persistent+-- disks by making a list() request. -- -- /See:/ 'disksGet' smart constructor.-data DisksGet = DisksGet+data DisksGet = DisksGet' { _dgProject :: !Text , _dgDisk :: !Text , _dgZone :: !Text@@ -78,7 +80,7 @@ -> Text -- ^ 'dgZone' -> DisksGet disksGet pDgProject_ pDgDisk_ pDgZone_ =- DisksGet+ DisksGet' { _dgProject = pDgProject_ , _dgDisk = pDgDisk_ , _dgZone = pDgZone_@@ -99,7 +101,11 @@ instance GoogleRequest DisksGet where type Rs DisksGet = Disk- requestClient DisksGet{..}+ type Scopes DisksGet =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute",+ "https://www.googleapis.com/auth/compute.readonly"]+ requestClient DisksGet'{..} = go _dgProject _dgZone _dgDisk (Just AltJSON) computeService where go
gen/Network/Google/Resource/Compute/Disks/Insert.hs view
@@ -14,14 +14,17 @@ -- | -- Module : Network.Google.Resource.Compute.Disks.Insert--- Copyright : (c) 2015 Brendan Hay+-- 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 persistent disk in the specified project using the data--- included in the request.+-- Creates a persistent disk in the specified project using the data in the+-- request. You can create a disk with a sourceImage, a sourceSnapshot, or+-- create an empty 500 GB data disk by omitting all properties. You can+-- also create a disk that is larger than the default size by specifying+-- the sizeGb property. -- -- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.disks.insert@. module Network.Google.Resource.Compute.Disks.Insert@@ -57,11 +60,14 @@ QueryParam "alt" AltJSON :> ReqBody '[JSON] Disk :> Post '[JSON] Operation --- | Creates a persistent disk in the specified project using the data--- included in the request.+-- | Creates a persistent disk in the specified project using the data in the+-- request. You can create a disk with a sourceImage, a sourceSnapshot, or+-- create an empty 500 GB data disk by omitting all properties. You can+-- also create a disk that is larger than the default size by specifying+-- the sizeGb property. -- -- /See:/ 'disksInsert' smart constructor.-data DisksInsert = DisksInsert+data DisksInsert = DisksInsert' { _diSourceImage :: !(Maybe Text) , _diProject :: !Text , _diZone :: !Text@@ -85,7 +91,7 @@ -> Disk -- ^ 'diPayload' -> DisksInsert disksInsert pDiProject_ pDiZone_ pDiPayload_ =- DisksInsert+ DisksInsert' { _diSourceImage = Nothing , _diProject = pDiProject_ , _diZone = pDiZone_@@ -114,7 +120,10 @@ instance GoogleRequest DisksInsert where type Rs DisksInsert = Operation- requestClient DisksInsert{..}+ type Scopes DisksInsert =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient DisksInsert'{..} = go _diProject _diZone _diSourceImage (Just AltJSON) _diPayload computeService
gen/Network/Google/Resource/Compute/Disks/List.hs view
@@ -14,13 +14,13 @@ -- | -- Module : Network.Google.Resource.Compute.Disks.List--- Copyright : (c) 2015 Brendan Hay+-- 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 persistent disks contained within the specified+-- Retrieves a list of persistent disks contained within the specified -- zone. -- -- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.disks.list@.@@ -59,11 +59,11 @@ QueryParam "maxResults" (Textual Word32) :> QueryParam "alt" AltJSON :> Get '[JSON] DiskList --- | Retrieves the list of persistent disks contained within the specified+-- | Retrieves a list of persistent disks contained within the specified -- zone. -- -- /See:/ 'disksList' smart constructor.-data DisksList = DisksList+data DisksList = DisksList' { _dlProject :: !Text , _dlZone :: !Text , _dlFilter :: !(Maybe Text)@@ -89,7 +89,7 @@ -> Text -- ^ 'dlZone' -> DisksList disksList pDlProject_ pDlZone_ =- DisksList+ DisksList' { _dlProject = pDlProject_ , _dlZone = pDlZone_ , _dlFilter = Nothing@@ -107,27 +107,39 @@ dlZone = lens _dlZone (\ s a -> s{_dlZone = 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+-- 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--- (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, filter=name ne--- example-instance.+-- (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. Compute Engine Beta API Only: When+-- filtering in the Beta API, you can also 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. dlFilter :: Lens' DisksList (Maybe Text) dlFilter = lens _dlFilter (\ s a -> s{_dlFilter = a}) --- | Specifies a page token to use. Use this parameter if you want to list--- the next page of results. Set pageToken to the nextPageToken returned by--- a previous list request.+-- | Specifies a page token to use. Set pageToken to the nextPageToken+-- returned by a previous list request to get the next page of results. dlPageToken :: Lens' DisksList (Maybe Text) dlPageToken = lens _dlPageToken (\ s a -> s{_dlPageToken = a}) --- | Maximum count of results to be returned.+-- | 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. dlMaxResults :: Lens' DisksList Word32 dlMaxResults = lens _dlMaxResults (\ s a -> s{_dlMaxResults = a})@@ -135,7 +147,11 @@ instance GoogleRequest DisksList where type Rs DisksList = DiskList- requestClient DisksList{..}+ type Scopes DisksList =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute",+ "https://www.googleapis.com/auth/compute.readonly"]+ requestClient DisksList'{..} = go _dlProject _dlZone _dlFilter _dlPageToken (Just _dlMaxResults) (Just AltJSON)
+ gen/Network/Google/Resource/Compute/Disks/Resize.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.Disks.Resize+-- 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)+--+-- Resizes the specified persistent disk.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.disks.resize@.+module Network.Google.Resource.Compute.Disks.Resize+ (+ -- * REST Resource+ DisksResizeResource++ -- * Creating a Request+ , disksResize+ , DisksResize++ -- * Request Lenses+ , drProject+ , drDisk+ , drZone+ , drPayload+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.disks.resize@ method which the+-- 'DisksResize' request conforms to.+type DisksResizeResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "zones" :>+ Capture "zone" Text :>+ "disks" :>+ Capture "disk" Text :>+ "resize" :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] DisksResizeRequest :>+ Post '[JSON] Operation++-- | Resizes the specified persistent disk.+--+-- /See:/ 'disksResize' smart constructor.+data DisksResize = DisksResize'+ { _drProject :: !Text+ , _drDisk :: !Text+ , _drZone :: !Text+ , _drPayload :: !DisksResizeRequest+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DisksResize' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'drProject'+--+-- * 'drDisk'+--+-- * 'drZone'+--+-- * 'drPayload'+disksResize+ :: Text -- ^ 'drProject'+ -> Text -- ^ 'drDisk'+ -> Text -- ^ 'drZone'+ -> DisksResizeRequest -- ^ 'drPayload'+ -> DisksResize+disksResize pDrProject_ pDrDisk_ pDrZone_ pDrPayload_ =+ DisksResize'+ { _drProject = pDrProject_+ , _drDisk = pDrDisk_+ , _drZone = pDrZone_+ , _drPayload = pDrPayload_+ }++-- | Project ID for this request.+drProject :: Lens' DisksResize Text+drProject+ = lens _drProject (\ s a -> s{_drProject = a})++-- | The name of the persistent disk.+drDisk :: Lens' DisksResize Text+drDisk = lens _drDisk (\ s a -> s{_drDisk = a})++-- | The name of the zone for this request.+drZone :: Lens' DisksResize Text+drZone = lens _drZone (\ s a -> s{_drZone = a})++-- | Multipart request metadata.+drPayload :: Lens' DisksResize DisksResizeRequest+drPayload+ = lens _drPayload (\ s a -> s{_drPayload = a})++instance GoogleRequest DisksResize where+ type Rs DisksResize = Operation+ type Scopes DisksResize =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient DisksResize'{..}+ = go _drProject _drZone _drDisk (Just AltJSON)+ _drPayload+ computeService+ where go+ = buildClient (Proxy :: Proxy DisksResizeResource)+ mempty
gen/Network/Google/Resource/Compute/Firewalls/Delete.hs view
@@ -14,13 +14,13 @@ -- | -- Module : Network.Google.Resource.Compute.Firewalls.Delete--- Copyright : (c) 2015 Brendan Hay+-- 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 firewall resource.+-- Deletes the specified firewall. -- -- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.firewalls.delete@. module Network.Google.Resource.Compute.Firewalls.Delete@@ -52,10 +52,10 @@ Capture "firewall" Text :> QueryParam "alt" AltJSON :> Delete '[JSON] Operation --- | Deletes the specified firewall resource.+-- | Deletes the specified firewall. -- -- /See:/ 'firewallsDelete' smart constructor.-data FirewallsDelete = FirewallsDelete+data FirewallsDelete = FirewallsDelete' { _fdProject :: !Text , _fdFirewall :: !Text } deriving (Eq,Show,Data,Typeable,Generic)@@ -72,7 +72,7 @@ -> Text -- ^ 'fdFirewall' -> FirewallsDelete firewallsDelete pFdProject_ pFdFirewall_ =- FirewallsDelete+ FirewallsDelete' { _fdProject = pFdProject_ , _fdFirewall = pFdFirewall_ }@@ -82,14 +82,17 @@ fdProject = lens _fdProject (\ s a -> s{_fdProject = a}) --- | Name of the firewall resource to delete.+-- | Name of the firewall rule to delete. fdFirewall :: Lens' FirewallsDelete Text fdFirewall = lens _fdFirewall (\ s a -> s{_fdFirewall = a}) instance GoogleRequest FirewallsDelete where type Rs FirewallsDelete = Operation- requestClient FirewallsDelete{..}+ type Scopes FirewallsDelete =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient FirewallsDelete'{..} = go _fdProject _fdFirewall (Just AltJSON) computeService where go
gen/Network/Google/Resource/Compute/Firewalls/Get.hs view
@@ -14,13 +14,13 @@ -- | -- Module : Network.Google.Resource.Compute.Firewalls.Get--- Copyright : (c) 2015 Brendan Hay+-- 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 firewall resource.+-- Returns the specified firewall. -- -- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.firewalls.get@. module Network.Google.Resource.Compute.Firewalls.Get@@ -52,10 +52,10 @@ Capture "firewall" Text :> QueryParam "alt" AltJSON :> Get '[JSON] Firewall --- | Returns the specified firewall resource.+-- | Returns the specified firewall. -- -- /See:/ 'firewallsGet' smart constructor.-data FirewallsGet = FirewallsGet+data FirewallsGet = FirewallsGet' { _fgProject :: !Text , _fgFirewall :: !Text } deriving (Eq,Show,Data,Typeable,Generic)@@ -72,7 +72,7 @@ -> Text -- ^ 'fgFirewall' -> FirewallsGet firewallsGet pFgProject_ pFgFirewall_ =- FirewallsGet+ FirewallsGet' { _fgProject = pFgProject_ , _fgFirewall = pFgFirewall_ }@@ -82,14 +82,18 @@ fgProject = lens _fgProject (\ s a -> s{_fgProject = a}) --- | Name of the firewall resource to return.+-- | Name of the firewall rule to return. fgFirewall :: Lens' FirewallsGet Text fgFirewall = lens _fgFirewall (\ s a -> s{_fgFirewall = a}) instance GoogleRequest FirewallsGet where type Rs FirewallsGet = Firewall- requestClient FirewallsGet{..}+ type Scopes FirewallsGet =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute",+ "https://www.googleapis.com/auth/compute.readonly"]+ requestClient FirewallsGet'{..} = go _fgProject _fgFirewall (Just AltJSON) computeService where go
gen/Network/Google/Resource/Compute/Firewalls/Insert.hs view
@@ -14,14 +14,14 @@ -- | -- Module : Network.Google.Resource.Compute.Firewalls.Insert--- Copyright : (c) 2015 Brendan Hay+-- 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 firewall resource in the specified project using the data--- included in the request.+-- Creates a firewall rule 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.firewalls.insert@. module Network.Google.Resource.Compute.Firewalls.Insert@@ -53,11 +53,11 @@ QueryParam "alt" AltJSON :> ReqBody '[JSON] Firewall :> Post '[JSON] Operation --- | Creates a firewall resource in the specified project using the data--- included in the request.+-- | Creates a firewall rule in the specified project using the data included+-- in the request. -- -- /See:/ 'firewallsInsert' smart constructor.-data FirewallsInsert = FirewallsInsert+data FirewallsInsert = FirewallsInsert' { _fiProject :: !Text , _fiPayload :: !Firewall } deriving (Eq,Show,Data,Typeable,Generic)@@ -74,7 +74,7 @@ -> Firewall -- ^ 'fiPayload' -> FirewallsInsert firewallsInsert pFiProject_ pFiPayload_ =- FirewallsInsert+ FirewallsInsert' { _fiProject = pFiProject_ , _fiPayload = pFiPayload_ }@@ -91,7 +91,10 @@ instance GoogleRequest FirewallsInsert where type Rs FirewallsInsert = Operation- requestClient FirewallsInsert{..}+ type Scopes FirewallsInsert =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient FirewallsInsert'{..} = go _fiProject (Just AltJSON) _fiPayload computeService where go
gen/Network/Google/Resource/Compute/Firewalls/List.hs view
@@ -14,14 +14,13 @@ -- | -- Module : Network.Google.Resource.Compute.Firewalls.List--- Copyright : (c) 2015 Brendan Hay+-- 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 firewall resources available to the specified--- project.+-- Retrieves the list of firewall rules available to the specified project. -- -- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.firewalls.list@. module Network.Google.Resource.Compute.Firewalls.List@@ -57,11 +56,10 @@ QueryParam "maxResults" (Textual Word32) :> QueryParam "alt" AltJSON :> Get '[JSON] FirewallList --- | Retrieves the list of firewall resources available to the specified--- project.+-- | Retrieves the list of firewall rules available to the specified project. -- -- /See:/ 'firewallsList' smart constructor.-data FirewallsList = FirewallsList+data FirewallsList = FirewallsList' { _flProject :: !Text , _flFilter :: !(Maybe Text) , _flPageToken :: !(Maybe Text)@@ -83,7 +81,7 @@ :: Text -- ^ 'flProject' -> FirewallsList firewallsList pFlProject_ =- FirewallsList+ FirewallsList' { _flProject = pFlProject_ , _flFilter = Nothing , _flPageToken = Nothing@@ -96,27 +94,39 @@ = lens _flProject (\ s a -> s{_flProject = 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+-- 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--- (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, filter=name ne--- example-instance.+-- (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. Compute Engine Beta API Only: When+-- filtering in the Beta API, you can also 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. flFilter :: Lens' FirewallsList (Maybe Text) flFilter = lens _flFilter (\ s a -> s{_flFilter = a}) --- | Specifies a page token to use. Use this parameter if you want to list--- the next page of results. Set pageToken to the nextPageToken returned by--- a previous list request.+-- | Specifies a page token to use. Set pageToken to the nextPageToken+-- returned by a previous list request to get the next page of results. flPageToken :: Lens' FirewallsList (Maybe Text) flPageToken = lens _flPageToken (\ s a -> s{_flPageToken = a}) --- | Maximum count of results to be returned.+-- | 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. flMaxResults :: Lens' FirewallsList Word32 flMaxResults = lens _flMaxResults (\ s a -> s{_flMaxResults = a})@@ -124,7 +134,11 @@ instance GoogleRequest FirewallsList where type Rs FirewallsList = FirewallList- requestClient FirewallsList{..}+ type Scopes FirewallsList =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute",+ "https://www.googleapis.com/auth/compute.readonly"]+ requestClient FirewallsList'{..} = go _flProject _flFilter _flPageToken (Just _flMaxResults) (Just AltJSON)
gen/Network/Google/Resource/Compute/Firewalls/Patch.hs view
@@ -14,13 +14,13 @@ -- | -- Module : Network.Google.Resource.Compute.Firewalls.Patch--- Copyright : (c) 2015 Brendan Hay+-- 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 firewall resource with the data included in the+-- Updates the specified firewall rule 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.firewalls.patch@.@@ -55,11 +55,11 @@ QueryParam "alt" AltJSON :> ReqBody '[JSON] Firewall :> Patch '[JSON] Operation --- | Updates the specified firewall resource with the data included in the+-- | Updates the specified firewall rule with the data included in the -- request. This method supports patch semantics. -- -- /See:/ 'firewallsPatch' smart constructor.-data FirewallsPatch = FirewallsPatch+data FirewallsPatch = FirewallsPatch' { _fpProject :: !Text , _fpPayload :: !Firewall , _fpFirewall :: !Text@@ -80,7 +80,7 @@ -> Text -- ^ 'fpFirewall' -> FirewallsPatch firewallsPatch pFpProject_ pFpPayload_ pFpFirewall_ =- FirewallsPatch+ FirewallsPatch' { _fpProject = pFpProject_ , _fpPayload = pFpPayload_ , _fpFirewall = pFpFirewall_@@ -96,14 +96,17 @@ fpPayload = lens _fpPayload (\ s a -> s{_fpPayload = a}) --- | Name of the firewall resource to update.+-- | Name of the firewall rule to update. fpFirewall :: Lens' FirewallsPatch Text fpFirewall = lens _fpFirewall (\ s a -> s{_fpFirewall = a}) instance GoogleRequest FirewallsPatch where type Rs FirewallsPatch = Operation- requestClient FirewallsPatch{..}+ type Scopes FirewallsPatch =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient FirewallsPatch'{..} = go _fpProject _fpFirewall (Just AltJSON) _fpPayload computeService where go
gen/Network/Google/Resource/Compute/Firewalls/Update.hs view
@@ -14,13 +14,13 @@ -- | -- Module : Network.Google.Resource.Compute.Firewalls.Update--- Copyright : (c) 2015 Brendan Hay+-- 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 firewall resource with the data included in the+-- Updates the specified firewall rule with the data included in the -- request. -- -- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.firewalls.update@.@@ -55,11 +55,11 @@ QueryParam "alt" AltJSON :> ReqBody '[JSON] Firewall :> Put '[JSON] Operation --- | Updates the specified firewall resource with the data included in the+-- | Updates the specified firewall rule with the data included in the -- request. -- -- /See:/ 'firewallsUpdate' smart constructor.-data FirewallsUpdate = FirewallsUpdate+data FirewallsUpdate = FirewallsUpdate' { _fuProject :: !Text , _fuPayload :: !Firewall , _fuFirewall :: !Text@@ -80,7 +80,7 @@ -> Text -- ^ 'fuFirewall' -> FirewallsUpdate firewallsUpdate pFuProject_ pFuPayload_ pFuFirewall_ =- FirewallsUpdate+ FirewallsUpdate' { _fuProject = pFuProject_ , _fuPayload = pFuPayload_ , _fuFirewall = pFuFirewall_@@ -96,14 +96,17 @@ fuPayload = lens _fuPayload (\ s a -> s{_fuPayload = a}) --- | Name of the firewall resource to update.+-- | Name of the firewall rule to update. fuFirewall :: Lens' FirewallsUpdate Text fuFirewall = lens _fuFirewall (\ s a -> s{_fuFirewall = a}) instance GoogleRequest FirewallsUpdate where type Rs FirewallsUpdate = Operation- requestClient FirewallsUpdate{..}+ type Scopes FirewallsUpdate =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient FirewallsUpdate'{..} = go _fuProject _fuFirewall (Just AltJSON) _fuPayload computeService where go
gen/Network/Google/Resource/Compute/ForwardingRules/AggregatedList.hs view
@@ -14,13 +14,13 @@ -- | -- Module : Network.Google.Resource.Compute.ForwardingRules.AggregatedList--- Copyright : (c) 2015 Brendan Hay+-- 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 forwarding rules grouped by scope.+-- Retrieves an aggregated list of forwarding rules. -- -- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.forwardingRules.aggregatedList@. module Network.Google.Resource.Compute.ForwardingRules.AggregatedList@@ -57,10 +57,10 @@ QueryParam "alt" AltJSON :> Get '[JSON] ForwardingRuleAggregatedList --- | Retrieves the list of forwarding rules grouped by scope.+-- | Retrieves an aggregated list of forwarding rules. -- -- /See:/ 'forwardingRulesAggregatedList' smart constructor.-data ForwardingRulesAggregatedList = ForwardingRulesAggregatedList+data ForwardingRulesAggregatedList = ForwardingRulesAggregatedList' { _fralProject :: !Text , _fralFilter :: !(Maybe Text) , _fralPageToken :: !(Maybe Text)@@ -82,42 +82,54 @@ :: Text -- ^ 'fralProject' -> ForwardingRulesAggregatedList forwardingRulesAggregatedList pFralProject_ =- ForwardingRulesAggregatedList+ ForwardingRulesAggregatedList' { _fralProject = pFralProject_ , _fralFilter = Nothing , _fralPageToken = Nothing , _fralMaxResults = 500 } --- | Name of the project scoping this request.+-- | Project ID for this request. fralProject :: Lens' ForwardingRulesAggregatedList Text fralProject = lens _fralProject (\ s a -> s{_fralProject = 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+-- 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--- (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, filter=name ne--- example-instance.+-- (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. Compute Engine Beta API Only: When+-- filtering in the Beta API, you can also 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. fralFilter :: Lens' ForwardingRulesAggregatedList (Maybe Text) fralFilter = lens _fralFilter (\ s a -> s{_fralFilter = a}) --- | Specifies a page token to use. Use this parameter if you want to list--- the next page of results. Set pageToken to the nextPageToken returned by--- a previous list request.+-- | Specifies a page token to use. Set pageToken to the nextPageToken+-- returned by a previous list request to get the next page of results. fralPageToken :: Lens' ForwardingRulesAggregatedList (Maybe Text) fralPageToken = lens _fralPageToken (\ s a -> s{_fralPageToken = a}) --- | Maximum count of results to be returned.+-- | 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. fralMaxResults :: Lens' ForwardingRulesAggregatedList Word32 fralMaxResults = lens _fralMaxResults@@ -128,7 +140,11 @@ where type Rs ForwardingRulesAggregatedList = ForwardingRuleAggregatedList- requestClient ForwardingRulesAggregatedList{..}+ type Scopes ForwardingRulesAggregatedList =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute",+ "https://www.googleapis.com/auth/compute.readonly"]+ requestClient ForwardingRulesAggregatedList'{..} = go _fralProject _fralFilter _fralPageToken (Just _fralMaxResults) (Just AltJSON)
gen/Network/Google/Resource/Compute/ForwardingRules/Delete.hs view
@@ -14,7 +14,7 @@ -- | -- Module : Network.Google.Resource.Compute.ForwardingRules.Delete--- Copyright : (c) 2015 Brendan Hay+-- Copyright : (c) 2015-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -57,7 +57,7 @@ -- | Deletes the specified ForwardingRule resource. -- -- /See:/ 'forwardingRulesDelete' smart constructor.-data ForwardingRulesDelete = ForwardingRulesDelete+data ForwardingRulesDelete = ForwardingRulesDelete' { _frdProject :: !Text , _frdForwardingRule :: !Text , _frdRegion :: !Text@@ -78,13 +78,13 @@ -> Text -- ^ 'frdRegion' -> ForwardingRulesDelete forwardingRulesDelete pFrdProject_ pFrdForwardingRule_ pFrdRegion_ =- ForwardingRulesDelete+ ForwardingRulesDelete' { _frdProject = pFrdProject_ , _frdForwardingRule = pFrdForwardingRule_ , _frdRegion = pFrdRegion_ } --- | Name of the project scoping this request.+-- | Project ID for this request. frdProject :: Lens' ForwardingRulesDelete Text frdProject = lens _frdProject (\ s a -> s{_frdProject = a})@@ -102,7 +102,10 @@ instance GoogleRequest ForwardingRulesDelete where type Rs ForwardingRulesDelete = Operation- requestClient ForwardingRulesDelete{..}+ type Scopes ForwardingRulesDelete =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient ForwardingRulesDelete'{..} = go _frdProject _frdRegion _frdForwardingRule (Just AltJSON) computeService
gen/Network/Google/Resource/Compute/ForwardingRules/Get.hs view
@@ -14,7 +14,7 @@ -- | -- Module : Network.Google.Resource.Compute.ForwardingRules.Get--- Copyright : (c) 2015 Brendan Hay+-- Copyright : (c) 2015-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -58,7 +58,7 @@ -- | Returns the specified ForwardingRule resource. -- -- /See:/ 'forwardingRulesGet' smart constructor.-data ForwardingRulesGet = ForwardingRulesGet+data ForwardingRulesGet = ForwardingRulesGet' { _frgProject :: !Text , _frgForwardingRule :: !Text , _frgRegion :: !Text@@ -79,13 +79,13 @@ -> Text -- ^ 'frgRegion' -> ForwardingRulesGet forwardingRulesGet pFrgProject_ pFrgForwardingRule_ pFrgRegion_ =- ForwardingRulesGet+ ForwardingRulesGet' { _frgProject = pFrgProject_ , _frgForwardingRule = pFrgForwardingRule_ , _frgRegion = pFrgRegion_ } --- | Name of the project scoping this request.+-- | Project ID for this request. frgProject :: Lens' ForwardingRulesGet Text frgProject = lens _frgProject (\ s a -> s{_frgProject = a})@@ -103,7 +103,11 @@ instance GoogleRequest ForwardingRulesGet where type Rs ForwardingRulesGet = ForwardingRule- requestClient ForwardingRulesGet{..}+ type Scopes ForwardingRulesGet =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute",+ "https://www.googleapis.com/auth/compute.readonly"]+ requestClient ForwardingRulesGet'{..} = go _frgProject _frgRegion _frgForwardingRule (Just AltJSON) computeService
gen/Network/Google/Resource/Compute/ForwardingRules/Insert.hs view
@@ -14,7 +14,7 @@ -- | -- Module : Network.Google.Resource.Compute.ForwardingRules.Insert--- Copyright : (c) 2015 Brendan Hay+-- Copyright : (c) 2015-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -60,7 +60,7 @@ -- using the data included in the request. -- -- /See:/ 'forwardingRulesInsert' smart constructor.-data ForwardingRulesInsert = ForwardingRulesInsert+data ForwardingRulesInsert = ForwardingRulesInsert' { _friProject :: !Text , _friPayload :: !ForwardingRule , _friRegion :: !Text@@ -81,13 +81,13 @@ -> Text -- ^ 'friRegion' -> ForwardingRulesInsert forwardingRulesInsert pFriProject_ pFriPayload_ pFriRegion_ =- ForwardingRulesInsert+ ForwardingRulesInsert' { _friProject = pFriProject_ , _friPayload = pFriPayload_ , _friRegion = pFriRegion_ } --- | Name of the project scoping this request.+-- | Project ID for this request. friProject :: Lens' ForwardingRulesInsert Text friProject = lens _friProject (\ s a -> s{_friProject = a})@@ -104,7 +104,10 @@ instance GoogleRequest ForwardingRulesInsert where type Rs ForwardingRulesInsert = Operation- requestClient ForwardingRulesInsert{..}+ type Scopes ForwardingRulesInsert =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient ForwardingRulesInsert'{..} = go _friProject _friRegion (Just AltJSON) _friPayload computeService
gen/Network/Google/Resource/Compute/ForwardingRules/List.hs view
@@ -14,14 +14,14 @@ -- | -- Module : Network.Google.Resource.Compute.ForwardingRules.List--- Copyright : (c) 2015 Brendan Hay+-- 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 ForwardingRule resources available to the--- specified project and region.+-- Retrieves a list of ForwardingRule resources available to the specified+-- project and region. -- -- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.forwardingRules.list@. module Network.Google.Resource.Compute.ForwardingRules.List@@ -60,11 +60,11 @@ QueryParam "alt" AltJSON :> Get '[JSON] ForwardingRuleList --- | Retrieves the list of ForwardingRule resources available to the--- specified project and region.+-- | Retrieves a list of ForwardingRule resources available to the specified+-- project and region. -- -- /See:/ 'forwardingRulesList' smart constructor.-data ForwardingRulesList = ForwardingRulesList+data ForwardingRulesList = ForwardingRulesList' { _frlProject :: !Text , _frlFilter :: !(Maybe Text) , _frlRegion :: !Text@@ -90,7 +90,7 @@ -> Text -- ^ 'frlRegion' -> ForwardingRulesList forwardingRulesList pFrlProject_ pFrlRegion_ =- ForwardingRulesList+ ForwardingRulesList' { _frlProject = pFrlProject_ , _frlFilter = Nothing , _frlRegion = pFrlRegion_@@ -98,22 +98,32 @@ , _frlMaxResults = 500 } --- | Name of the project scoping this request.+-- | Project ID for this request. frlProject :: Lens' ForwardingRulesList Text frlProject = lens _frlProject (\ s a -> s{_frlProject = 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+-- 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--- (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, filter=name ne--- example-instance.+-- (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. Compute Engine Beta API Only: When+-- filtering in the Beta API, you can also 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. frlFilter :: Lens' ForwardingRulesList (Maybe Text) frlFilter = lens _frlFilter (\ s a -> s{_frlFilter = a})@@ -123,14 +133,16 @@ frlRegion = lens _frlRegion (\ s a -> s{_frlRegion = a}) --- | Specifies a page token to use. Use this parameter if you want to list--- the next page of results. Set pageToken to the nextPageToken returned by--- a previous list request.+-- | Specifies a page token to use. Set pageToken to the nextPageToken+-- returned by a previous list request to get the next page of results. frlPageToken :: Lens' ForwardingRulesList (Maybe Text) frlPageToken = lens _frlPageToken (\ s a -> s{_frlPageToken = a}) --- | Maximum count of results to be returned.+-- | 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. frlMaxResults :: Lens' ForwardingRulesList Word32 frlMaxResults = lens _frlMaxResults@@ -139,7 +151,11 @@ instance GoogleRequest ForwardingRulesList where type Rs ForwardingRulesList = ForwardingRuleList- requestClient ForwardingRulesList{..}+ type Scopes ForwardingRulesList =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute",+ "https://www.googleapis.com/auth/compute.readonly"]+ requestClient ForwardingRulesList'{..} = go _frlProject _frlRegion _frlFilter _frlPageToken (Just _frlMaxResults) (Just AltJSON)
gen/Network/Google/Resource/Compute/ForwardingRules/SetTarget.hs view
@@ -14,13 +14,14 @@ -- | -- Module : Network.Google.Resource.Compute.ForwardingRules.SetTarget--- Copyright : (c) 2015 Brendan Hay+-- 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 target url for forwarding rule.+-- Changes target URL for forwarding rule. The new target should be of the+-- same type as the old target. -- -- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.forwardingRules.setTarget@. module Network.Google.Resource.Compute.ForwardingRules.SetTarget@@ -58,10 +59,11 @@ ReqBody '[JSON] TargetReference :> Post '[JSON] Operation --- | Changes target url for forwarding rule.+-- | Changes target URL for forwarding rule. The new target should be of the+-- same type as the old target. -- -- /See:/ 'forwardingRulesSetTarget' smart constructor.-data ForwardingRulesSetTarget = ForwardingRulesSetTarget+data ForwardingRulesSetTarget = ForwardingRulesSetTarget' { _frstProject :: !Text , _frstForwardingRule :: !Text , _frstPayload :: !TargetReference@@ -86,14 +88,14 @@ -> Text -- ^ 'frstRegion' -> ForwardingRulesSetTarget forwardingRulesSetTarget pFrstProject_ pFrstForwardingRule_ pFrstPayload_ pFrstRegion_ =- ForwardingRulesSetTarget+ ForwardingRulesSetTarget' { _frstProject = pFrstProject_ , _frstForwardingRule = pFrstForwardingRule_ , _frstPayload = pFrstPayload_ , _frstRegion = pFrstRegion_ } --- | Name of the project scoping this request.+-- | Project ID for this request. frstProject :: Lens' ForwardingRulesSetTarget Text frstProject = lens _frstProject (\ s a -> s{_frstProject = a})@@ -116,7 +118,10 @@ instance GoogleRequest ForwardingRulesSetTarget where type Rs ForwardingRulesSetTarget = Operation- requestClient ForwardingRulesSetTarget{..}+ type Scopes ForwardingRulesSetTarget =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient ForwardingRulesSetTarget'{..} = go _frstProject _frstRegion _frstForwardingRule (Just AltJSON) _frstPayload
gen/Network/Google/Resource/Compute/GlobalAddresses/Delete.hs view
@@ -14,7 +14,7 @@ -- | -- Module : Network.Google.Resource.Compute.GlobalAddresses.Delete--- Copyright : (c) 2015 Brendan Hay+-- Copyright : (c) 2015-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -55,7 +55,7 @@ -- | Deletes the specified address resource. -- -- /See:/ 'globalAddressesDelete' smart constructor.-data GlobalAddressesDelete = GlobalAddressesDelete+data GlobalAddressesDelete = GlobalAddressesDelete' { _gadProject :: !Text , _gadAddress :: !Text } deriving (Eq,Show,Data,Typeable,Generic)@@ -72,7 +72,7 @@ -> Text -- ^ 'gadAddress' -> GlobalAddressesDelete globalAddressesDelete pGadProject_ pGadAddress_ =- GlobalAddressesDelete+ GlobalAddressesDelete' { _gadProject = pGadProject_ , _gadAddress = pGadAddress_ }@@ -89,7 +89,10 @@ instance GoogleRequest GlobalAddressesDelete where type Rs GlobalAddressesDelete = Operation- requestClient GlobalAddressesDelete{..}+ type Scopes GlobalAddressesDelete =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient GlobalAddressesDelete'{..} = go _gadProject _gadAddress (Just AltJSON) computeService where go
gen/Network/Google/Resource/Compute/GlobalAddresses/Get.hs view
@@ -14,13 +14,14 @@ -- | -- Module : Network.Google.Resource.Compute.GlobalAddresses.Get--- Copyright : (c) 2015 Brendan Hay+-- 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 address resource.+-- Returns the specified address resource. Get a list of available+-- addresses by making a list() request. -- -- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.globalAddresses.get@. module Network.Google.Resource.Compute.GlobalAddresses.Get@@ -52,10 +53,11 @@ Capture "address" Text :> QueryParam "alt" AltJSON :> Get '[JSON] Address --- | Returns the specified address resource.+-- | Returns the specified address resource. Get a list of available+-- addresses by making a list() request. -- -- /See:/ 'globalAddressesGet' smart constructor.-data GlobalAddressesGet = GlobalAddressesGet+data GlobalAddressesGet = GlobalAddressesGet' { _gagProject :: !Text , _gagAddress :: !Text } deriving (Eq,Show,Data,Typeable,Generic)@@ -72,7 +74,7 @@ -> Text -- ^ 'gagAddress' -> GlobalAddressesGet globalAddressesGet pGagProject_ pGagAddress_ =- GlobalAddressesGet+ GlobalAddressesGet' { _gagProject = pGagProject_ , _gagAddress = pGagAddress_ }@@ -89,7 +91,11 @@ instance GoogleRequest GlobalAddressesGet where type Rs GlobalAddressesGet = Address- requestClient GlobalAddressesGet{..}+ type Scopes GlobalAddressesGet =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute",+ "https://www.googleapis.com/auth/compute.readonly"]+ requestClient GlobalAddressesGet'{..} = go _gagProject _gagAddress (Just AltJSON) computeService where go
gen/Network/Google/Resource/Compute/GlobalAddresses/Insert.hs view
@@ -14,7 +14,7 @@ -- | -- Module : Network.Google.Resource.Compute.GlobalAddresses.Insert--- Copyright : (c) 2015 Brendan Hay+-- Copyright : (c) 2015-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -57,7 +57,7 @@ -- included in the request. -- -- /See:/ 'globalAddressesInsert' smart constructor.-data GlobalAddressesInsert = GlobalAddressesInsert+data GlobalAddressesInsert = GlobalAddressesInsert' { _gaiProject :: !Text , _gaiPayload :: !Address } deriving (Eq,Show,Data,Typeable,Generic)@@ -74,7 +74,7 @@ -> Address -- ^ 'gaiPayload' -> GlobalAddressesInsert globalAddressesInsert pGaiProject_ pGaiPayload_ =- GlobalAddressesInsert+ GlobalAddressesInsert' { _gaiProject = pGaiProject_ , _gaiPayload = pGaiPayload_ }@@ -91,7 +91,10 @@ instance GoogleRequest GlobalAddressesInsert where type Rs GlobalAddressesInsert = Operation- requestClient GlobalAddressesInsert{..}+ type Scopes GlobalAddressesInsert =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient GlobalAddressesInsert'{..} = go _gaiProject (Just AltJSON) _gaiPayload computeService where go
gen/Network/Google/Resource/Compute/GlobalAddresses/List.hs view
@@ -14,13 +14,13 @@ -- | -- Module : Network.Google.Resource.Compute.GlobalAddresses.List--- Copyright : (c) 2015 Brendan Hay+-- 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 global address resources.+-- Retrieves a list of global addresses. -- -- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.globalAddresses.list@. module Network.Google.Resource.Compute.GlobalAddresses.List@@ -56,10 +56,10 @@ QueryParam "maxResults" (Textual Word32) :> QueryParam "alt" AltJSON :> Get '[JSON] AddressList --- | Retrieves the list of global address resources.+-- | Retrieves a list of global addresses. -- -- /See:/ 'globalAddressesList' smart constructor.-data GlobalAddressesList = GlobalAddressesList+data GlobalAddressesList = GlobalAddressesList' { _galProject :: !Text , _galFilter :: !(Maybe Text) , _galPageToken :: !(Maybe Text)@@ -81,7 +81,7 @@ :: Text -- ^ 'galProject' -> GlobalAddressesList globalAddressesList pGalProject_ =- GlobalAddressesList+ GlobalAddressesList' { _galProject = pGalProject_ , _galFilter = Nothing , _galPageToken = Nothing@@ -94,28 +94,40 @@ = lens _galProject (\ s a -> s{_galProject = 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+-- 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--- (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, filter=name ne--- example-instance.+-- (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. Compute Engine Beta API Only: When+-- filtering in the Beta API, you can also 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. galFilter :: Lens' GlobalAddressesList (Maybe Text) galFilter = lens _galFilter (\ s a -> s{_galFilter = a}) --- | Specifies a page token to use. Use this parameter if you want to list--- the next page of results. Set pageToken to the nextPageToken returned by--- a previous list request.+-- | Specifies a page token to use. Set pageToken to the nextPageToken+-- returned by a previous list request to get the next page of results. galPageToken :: Lens' GlobalAddressesList (Maybe Text) galPageToken = lens _galPageToken (\ s a -> s{_galPageToken = a}) --- | Maximum count of results to be returned.+-- | 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. galMaxResults :: Lens' GlobalAddressesList Word32 galMaxResults = lens _galMaxResults@@ -124,7 +136,11 @@ instance GoogleRequest GlobalAddressesList where type Rs GlobalAddressesList = AddressList- requestClient GlobalAddressesList{..}+ type Scopes GlobalAddressesList =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute",+ "https://www.googleapis.com/auth/compute.readonly"]+ requestClient GlobalAddressesList'{..} = go _galProject _galFilter _galPageToken (Just _galMaxResults) (Just AltJSON)
gen/Network/Google/Resource/Compute/GlobalForwardingRules/Delete.hs view
@@ -14,7 +14,7 @@ -- | -- Module : Network.Google.Resource.Compute.GlobalForwardingRules.Delete--- Copyright : (c) 2015 Brendan Hay+-- Copyright : (c) 2015-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -55,7 +55,7 @@ -- | Deletes the specified ForwardingRule resource. -- -- /See:/ 'globalForwardingRulesDelete' smart constructor.-data GlobalForwardingRulesDelete = GlobalForwardingRulesDelete+data GlobalForwardingRulesDelete = GlobalForwardingRulesDelete' { _gfrdProject :: !Text , _gfrdForwardingRule :: !Text } deriving (Eq,Show,Data,Typeable,Generic)@@ -72,12 +72,12 @@ -> Text -- ^ 'gfrdForwardingRule' -> GlobalForwardingRulesDelete globalForwardingRulesDelete pGfrdProject_ pGfrdForwardingRule_ =- GlobalForwardingRulesDelete+ GlobalForwardingRulesDelete' { _gfrdProject = pGfrdProject_ , _gfrdForwardingRule = pGfrdForwardingRule_ } --- | Name of the project scoping this request.+-- | Project ID for this request. gfrdProject :: Lens' GlobalForwardingRulesDelete Text gfrdProject = lens _gfrdProject (\ s a -> s{_gfrdProject = a})@@ -91,7 +91,10 @@ instance GoogleRequest GlobalForwardingRulesDelete where type Rs GlobalForwardingRulesDelete = Operation- requestClient GlobalForwardingRulesDelete{..}+ type Scopes GlobalForwardingRulesDelete =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient GlobalForwardingRulesDelete'{..} = go _gfrdProject _gfrdForwardingRule (Just AltJSON) computeService where go
gen/Network/Google/Resource/Compute/GlobalForwardingRules/Get.hs view
@@ -14,13 +14,14 @@ -- | -- Module : Network.Google.Resource.Compute.GlobalForwardingRules.Get--- Copyright : (c) 2015 Brendan Hay+-- 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 ForwardingRule resource.+-- Returns the specified ForwardingRule resource. Get a list of available+-- forwarding rules by making a list() request. -- -- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.globalForwardingRules.get@. module Network.Google.Resource.Compute.GlobalForwardingRules.Get@@ -53,10 +54,11 @@ QueryParam "alt" AltJSON :> Get '[JSON] ForwardingRule --- | Returns the specified ForwardingRule resource.+-- | Returns the specified ForwardingRule resource. Get a list of available+-- forwarding rules by making a list() request. -- -- /See:/ 'globalForwardingRulesGet' smart constructor.-data GlobalForwardingRulesGet = GlobalForwardingRulesGet+data GlobalForwardingRulesGet = GlobalForwardingRulesGet' { _gfrgProject :: !Text , _gfrgForwardingRule :: !Text } deriving (Eq,Show,Data,Typeable,Generic)@@ -73,12 +75,12 @@ -> Text -- ^ 'gfrgForwardingRule' -> GlobalForwardingRulesGet globalForwardingRulesGet pGfrgProject_ pGfrgForwardingRule_ =- GlobalForwardingRulesGet+ GlobalForwardingRulesGet' { _gfrgProject = pGfrgProject_ , _gfrgForwardingRule = pGfrgForwardingRule_ } --- | Name of the project scoping this request.+-- | Project ID for this request. gfrgProject :: Lens' GlobalForwardingRulesGet Text gfrgProject = lens _gfrgProject (\ s a -> s{_gfrgProject = a})@@ -91,7 +93,11 @@ instance GoogleRequest GlobalForwardingRulesGet where type Rs GlobalForwardingRulesGet = ForwardingRule- requestClient GlobalForwardingRulesGet{..}+ type Scopes GlobalForwardingRulesGet =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute",+ "https://www.googleapis.com/auth/compute.readonly"]+ requestClient GlobalForwardingRulesGet'{..} = go _gfrgProject _gfrgForwardingRule (Just AltJSON) computeService where go
gen/Network/Google/Resource/Compute/GlobalForwardingRules/Insert.hs view
@@ -14,7 +14,7 @@ -- | -- Module : Network.Google.Resource.Compute.GlobalForwardingRules.Insert--- Copyright : (c) 2015 Brendan Hay+-- Copyright : (c) 2015-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -58,7 +58,7 @@ -- using the data included in the request. -- -- /See:/ 'globalForwardingRulesInsert' smart constructor.-data GlobalForwardingRulesInsert = GlobalForwardingRulesInsert+data GlobalForwardingRulesInsert = GlobalForwardingRulesInsert' { _gfriProject :: !Text , _gfriPayload :: !ForwardingRule } deriving (Eq,Show,Data,Typeable,Generic)@@ -75,12 +75,12 @@ -> ForwardingRule -- ^ 'gfriPayload' -> GlobalForwardingRulesInsert globalForwardingRulesInsert pGfriProject_ pGfriPayload_ =- GlobalForwardingRulesInsert+ GlobalForwardingRulesInsert' { _gfriProject = pGfriProject_ , _gfriPayload = pGfriPayload_ } --- | Name of the project scoping this request.+-- | Project ID for this request. gfriProject :: Lens' GlobalForwardingRulesInsert Text gfriProject = lens _gfriProject (\ s a -> s{_gfriProject = a})@@ -93,7 +93,10 @@ instance GoogleRequest GlobalForwardingRulesInsert where type Rs GlobalForwardingRulesInsert = Operation- requestClient GlobalForwardingRulesInsert{..}+ type Scopes GlobalForwardingRulesInsert =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient GlobalForwardingRulesInsert'{..} = go _gfriProject (Just AltJSON) _gfriPayload computeService where go
gen/Network/Google/Resource/Compute/GlobalForwardingRules/List.hs view
@@ -14,14 +14,14 @@ -- | -- Module : Network.Google.Resource.Compute.GlobalForwardingRules.List--- Copyright : (c) 2015 Brendan Hay+-- 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 ForwardingRule resources available to the--- specified project.+-- Retrieves a list of ForwardingRule resources available to the specified+-- project. -- -- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.globalForwardingRules.list@. module Network.Google.Resource.Compute.GlobalForwardingRules.List@@ -58,11 +58,11 @@ QueryParam "alt" AltJSON :> Get '[JSON] ForwardingRuleList --- | Retrieves the list of ForwardingRule resources available to the--- specified project.+-- | Retrieves a list of ForwardingRule resources available to the specified+-- project. -- -- /See:/ 'globalForwardingRulesList' smart constructor.-data GlobalForwardingRulesList = GlobalForwardingRulesList+data GlobalForwardingRulesList = GlobalForwardingRulesList' { _gfrlProject :: !Text , _gfrlFilter :: !(Maybe Text) , _gfrlPageToken :: !(Maybe Text)@@ -84,42 +84,54 @@ :: Text -- ^ 'gfrlProject' -> GlobalForwardingRulesList globalForwardingRulesList pGfrlProject_ =- GlobalForwardingRulesList+ GlobalForwardingRulesList' { _gfrlProject = pGfrlProject_ , _gfrlFilter = Nothing , _gfrlPageToken = Nothing , _gfrlMaxResults = 500 } --- | Name of the project scoping this request.+-- | Project ID for this request. gfrlProject :: Lens' GlobalForwardingRulesList Text gfrlProject = lens _gfrlProject (\ s a -> s{_gfrlProject = 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+-- 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--- (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, filter=name ne--- example-instance.+-- (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. Compute Engine Beta API Only: When+-- filtering in the Beta API, you can also 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. gfrlFilter :: Lens' GlobalForwardingRulesList (Maybe Text) gfrlFilter = lens _gfrlFilter (\ s a -> s{_gfrlFilter = a}) --- | Specifies a page token to use. Use this parameter if you want to list--- the next page of results. Set pageToken to the nextPageToken returned by--- a previous list request.+-- | Specifies a page token to use. Set pageToken to the nextPageToken+-- returned by a previous list request to get the next page of results. gfrlPageToken :: Lens' GlobalForwardingRulesList (Maybe Text) gfrlPageToken = lens _gfrlPageToken (\ s a -> s{_gfrlPageToken = a}) --- | Maximum count of results to be returned.+-- | 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. gfrlMaxResults :: Lens' GlobalForwardingRulesList Word32 gfrlMaxResults = lens _gfrlMaxResults@@ -130,7 +142,11 @@ where type Rs GlobalForwardingRulesList = ForwardingRuleList- requestClient GlobalForwardingRulesList{..}+ type Scopes GlobalForwardingRulesList =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute",+ "https://www.googleapis.com/auth/compute.readonly"]+ requestClient GlobalForwardingRulesList'{..} = go _gfrlProject _gfrlFilter _gfrlPageToken (Just _gfrlMaxResults) (Just AltJSON)
gen/Network/Google/Resource/Compute/GlobalForwardingRules/SetTarget.hs view
@@ -14,13 +14,14 @@ -- | -- Module : Network.Google.Resource.Compute.GlobalForwardingRules.SetTarget--- Copyright : (c) 2015 Brendan Hay+-- 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 target url for forwarding rule.+-- Changes target URL for forwarding rule. The new target should be of the+-- same type as the old target. -- -- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.globalForwardingRules.setTarget@. module Network.Google.Resource.Compute.GlobalForwardingRules.SetTarget@@ -56,10 +57,11 @@ ReqBody '[JSON] TargetReference :> Post '[JSON] Operation --- | Changes target url for forwarding rule.+-- | Changes target URL for forwarding rule. The new target should be of the+-- same type as the old target. -- -- /See:/ 'globalForwardingRulesSetTarget' smart constructor.-data GlobalForwardingRulesSetTarget = GlobalForwardingRulesSetTarget+data GlobalForwardingRulesSetTarget = GlobalForwardingRulesSetTarget' { _gfrstProject :: !Text , _gfrstForwardingRule :: !Text , _gfrstPayload :: !TargetReference@@ -80,13 +82,13 @@ -> TargetReference -- ^ 'gfrstPayload' -> GlobalForwardingRulesSetTarget globalForwardingRulesSetTarget pGfrstProject_ pGfrstForwardingRule_ pGfrstPayload_ =- GlobalForwardingRulesSetTarget+ GlobalForwardingRulesSetTarget' { _gfrstProject = pGfrstProject_ , _gfrstForwardingRule = pGfrstForwardingRule_ , _gfrstPayload = pGfrstPayload_ } --- | Name of the project scoping this request.+-- | Project ID for this request. gfrstProject :: Lens' GlobalForwardingRulesSetTarget Text gfrstProject = lens _gfrstProject (\ s a -> s{_gfrstProject = a})@@ -105,7 +107,10 @@ instance GoogleRequest GlobalForwardingRulesSetTarget where type Rs GlobalForwardingRulesSetTarget = Operation- requestClient GlobalForwardingRulesSetTarget{..}+ type Scopes GlobalForwardingRulesSetTarget =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient GlobalForwardingRulesSetTarget'{..} = go _gfrstProject _gfrstForwardingRule (Just AltJSON) _gfrstPayload
gen/Network/Google/Resource/Compute/GlobalOperations/AggregatedList.hs view
@@ -14,13 +14,13 @@ -- | -- Module : Network.Google.Resource.Compute.GlobalOperations.AggregatedList--- Copyright : (c) 2015 Brendan Hay+-- 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 all operations grouped by scope.+-- Retrieves an aggregated list of all operations. -- -- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.globalOperations.aggregatedList@. module Network.Google.Resource.Compute.GlobalOperations.AggregatedList@@ -57,10 +57,10 @@ QueryParam "alt" AltJSON :> Get '[JSON] OperationAggregatedList --- | Retrieves the list of all operations grouped by scope.+-- | Retrieves an aggregated list of all operations. -- -- /See:/ 'globalOperationsAggregatedList' smart constructor.-data GlobalOperationsAggregatedList = GlobalOperationsAggregatedList+data GlobalOperationsAggregatedList = GlobalOperationsAggregatedList' { _goalProject :: !Text , _goalFilter :: !(Maybe Text) , _goalPageToken :: !(Maybe Text)@@ -82,7 +82,7 @@ :: Text -- ^ 'goalProject' -> GlobalOperationsAggregatedList globalOperationsAggregatedList pGoalProject_ =- GlobalOperationsAggregatedList+ GlobalOperationsAggregatedList' { _goalProject = pGoalProject_ , _goalFilter = Nothing , _goalPageToken = Nothing@@ -95,29 +95,41 @@ = lens _goalProject (\ s a -> s{_goalProject = 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+-- 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--- (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, filter=name ne--- example-instance.+-- (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. Compute Engine Beta API Only: When+-- filtering in the Beta API, you can also 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. goalFilter :: Lens' GlobalOperationsAggregatedList (Maybe Text) goalFilter = lens _goalFilter (\ s a -> s{_goalFilter = a}) --- | Specifies a page token to use. Use this parameter if you want to list--- the next page of results. Set pageToken to the nextPageToken returned by--- a previous list request.+-- | Specifies a page token to use. Set pageToken to the nextPageToken+-- returned by a previous list request to get the next page of results. goalPageToken :: Lens' GlobalOperationsAggregatedList (Maybe Text) goalPageToken = lens _goalPageToken (\ s a -> s{_goalPageToken = a}) --- | Maximum count of results to be returned.+-- | 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. goalMaxResults :: Lens' GlobalOperationsAggregatedList Word32 goalMaxResults = lens _goalMaxResults@@ -128,7 +140,11 @@ where type Rs GlobalOperationsAggregatedList = OperationAggregatedList- requestClient GlobalOperationsAggregatedList{..}+ type Scopes GlobalOperationsAggregatedList =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute",+ "https://www.googleapis.com/auth/compute.readonly"]+ requestClient GlobalOperationsAggregatedList'{..} = go _goalProject _goalFilter _goalPageToken (Just _goalMaxResults) (Just AltJSON)
gen/Network/Google/Resource/Compute/GlobalOperations/Delete.hs view
@@ -14,7 +14,7 @@ -- | -- Module : Network.Google.Resource.Compute.GlobalOperations.Delete--- Copyright : (c) 2015 Brendan Hay+-- Copyright : (c) 2015-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -55,7 +55,7 @@ -- | Deletes the specified Operations resource. -- -- /See:/ 'globalOperationsDelete' smart constructor.-data GlobalOperationsDelete = GlobalOperationsDelete+data GlobalOperationsDelete = GlobalOperationsDelete' { _godProject :: !Text , _godOperation :: !Text } deriving (Eq,Show,Data,Typeable,Generic)@@ -72,7 +72,7 @@ -> Text -- ^ 'godOperation' -> GlobalOperationsDelete globalOperationsDelete pGodProject_ pGodOperation_ =- GlobalOperationsDelete+ GlobalOperationsDelete' { _godProject = pGodProject_ , _godOperation = pGodOperation_ }@@ -89,7 +89,10 @@ instance GoogleRequest GlobalOperationsDelete where type Rs GlobalOperationsDelete = ()- requestClient GlobalOperationsDelete{..}+ type Scopes GlobalOperationsDelete =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient GlobalOperationsDelete'{..} = go _godProject _godOperation (Just AltJSON) computeService where go
gen/Network/Google/Resource/Compute/GlobalOperations/Get.hs view
@@ -14,13 +14,14 @@ -- | -- Module : Network.Google.Resource.Compute.GlobalOperations.Get--- Copyright : (c) 2015 Brendan Hay+-- 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 specified Operations resource.+-- Retrieves the specified Operations resource. Get a list of operations by+-- making a list() request. -- -- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.globalOperations.get@. module Network.Google.Resource.Compute.GlobalOperations.Get@@ -52,10 +53,11 @@ Capture "operation" Text :> QueryParam "alt" AltJSON :> Get '[JSON] Operation --- | Retrieves the specified Operations resource.+-- | Retrieves the specified Operations resource. Get a list of operations by+-- making a list() request. -- -- /See:/ 'globalOperationsGet' smart constructor.-data GlobalOperationsGet = GlobalOperationsGet+data GlobalOperationsGet = GlobalOperationsGet' { _gogProject :: !Text , _gogOperation :: !Text } deriving (Eq,Show,Data,Typeable,Generic)@@ -72,7 +74,7 @@ -> Text -- ^ 'gogOperation' -> GlobalOperationsGet globalOperationsGet pGogProject_ pGogOperation_ =- GlobalOperationsGet+ GlobalOperationsGet' { _gogProject = pGogProject_ , _gogOperation = pGogOperation_ }@@ -89,7 +91,11 @@ instance GoogleRequest GlobalOperationsGet where type Rs GlobalOperationsGet = Operation- requestClient GlobalOperationsGet{..}+ type Scopes GlobalOperationsGet =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute",+ "https://www.googleapis.com/auth/compute.readonly"]+ requestClient GlobalOperationsGet'{..} = go _gogProject _gogOperation (Just AltJSON) computeService where go
gen/Network/Google/Resource/Compute/GlobalOperations/List.hs view
@@ -14,13 +14,13 @@ -- | -- Module : Network.Google.Resource.Compute.GlobalOperations.List--- Copyright : (c) 2015 Brendan Hay+-- 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 Operation resources contained within the specified+-- Retrieves a list of Operation resources contained within the specified -- project. -- -- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.globalOperations.list@.@@ -57,11 +57,11 @@ QueryParam "maxResults" (Textual Word32) :> QueryParam "alt" AltJSON :> Get '[JSON] OperationList --- | Retrieves the list of Operation resources contained within the specified+-- | Retrieves a list of Operation resources contained within the specified -- project. -- -- /See:/ 'globalOperationsList' smart constructor.-data GlobalOperationsList = GlobalOperationsList+data GlobalOperationsList = GlobalOperationsList' { _golProject :: !Text , _golFilter :: !(Maybe Text) , _golPageToken :: !(Maybe Text)@@ -83,7 +83,7 @@ :: Text -- ^ 'golProject' -> GlobalOperationsList globalOperationsList pGolProject_ =- GlobalOperationsList+ GlobalOperationsList' { _golProject = pGolProject_ , _golFilter = Nothing , _golPageToken = Nothing@@ -96,28 +96,40 @@ = lens _golProject (\ s a -> s{_golProject = 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+-- 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--- (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, filter=name ne--- example-instance.+-- (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. Compute Engine Beta API Only: When+-- filtering in the Beta API, you can also 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. golFilter :: Lens' GlobalOperationsList (Maybe Text) golFilter = lens _golFilter (\ s a -> s{_golFilter = a}) --- | Specifies a page token to use. Use this parameter if you want to list--- the next page of results. Set pageToken to the nextPageToken returned by--- a previous list request.+-- | Specifies a page token to use. Set pageToken to the nextPageToken+-- returned by a previous list request to get the next page of results. golPageToken :: Lens' GlobalOperationsList (Maybe Text) golPageToken = lens _golPageToken (\ s a -> s{_golPageToken = a}) --- | Maximum count of results to be returned.+-- | 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. golMaxResults :: Lens' GlobalOperationsList Word32 golMaxResults = lens _golMaxResults@@ -126,7 +138,11 @@ instance GoogleRequest GlobalOperationsList where type Rs GlobalOperationsList = OperationList- requestClient GlobalOperationsList{..}+ type Scopes GlobalOperationsList =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute",+ "https://www.googleapis.com/auth/compute.readonly"]+ requestClient GlobalOperationsList'{..} = go _golProject _golFilter _golPageToken (Just _golMaxResults) (Just AltJSON)
gen/Network/Google/Resource/Compute/HTTPHealthChecks/Delete.hs view
@@ -14,7 +14,7 @@ -- | -- Module : Network.Google.Resource.Compute.HTTPHealthChecks.Delete--- Copyright : (c) 2015 Brendan Hay+-- Copyright : (c) 2015-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -55,7 +55,7 @@ -- | Deletes the specified HttpHealthCheck resource. -- -- /See:/ 'hTTPHealthChecksDelete' smart constructor.-data HTTPHealthChecksDelete = HTTPHealthChecksDelete+data HTTPHealthChecksDelete = HTTPHealthChecksDelete' { _httphcdProject :: !Text , _httphcdHTTPHealthCheck :: !Text } deriving (Eq,Show,Data,Typeable,Generic)@@ -72,12 +72,12 @@ -> Text -- ^ 'httphcdHTTPHealthCheck' -> HTTPHealthChecksDelete hTTPHealthChecksDelete pHttphcdProject_ pHttphcdHTTPHealthCheck_ =- HTTPHealthChecksDelete+ HTTPHealthChecksDelete' { _httphcdProject = pHttphcdProject_ , _httphcdHTTPHealthCheck = pHttphcdHTTPHealthCheck_ } --- | Name of the project scoping this request.+-- | Project ID for this request. httphcdProject :: Lens' HTTPHealthChecksDelete Text httphcdProject = lens _httphcdProject@@ -91,7 +91,10 @@ instance GoogleRequest HTTPHealthChecksDelete where type Rs HTTPHealthChecksDelete = Operation- requestClient HTTPHealthChecksDelete{..}+ type Scopes HTTPHealthChecksDelete =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient HTTPHealthChecksDelete'{..} = go _httphcdProject _httphcdHTTPHealthCheck (Just AltJSON) computeService
gen/Network/Google/Resource/Compute/HTTPHealthChecks/Get.hs view
@@ -14,13 +14,14 @@ -- | -- Module : Network.Google.Resource.Compute.HTTPHealthChecks.Get--- Copyright : (c) 2015 Brendan Hay+-- 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 HttpHealthCheck resource.+-- Returns the specified HttpHealthCheck resource. Get a list of available+-- HTTP health checks by making a list() request. -- -- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.httpHealthChecks.get@. module Network.Google.Resource.Compute.HTTPHealthChecks.Get@@ -53,10 +54,11 @@ QueryParam "alt" AltJSON :> Get '[JSON] HTTPHealthCheck --- | Returns the specified HttpHealthCheck resource.+-- | Returns the specified HttpHealthCheck resource. Get a list of available+-- HTTP health checks by making a list() request. -- -- /See:/ 'hTTPHealthChecksGet' smart constructor.-data HTTPHealthChecksGet = HTTPHealthChecksGet+data HTTPHealthChecksGet = HTTPHealthChecksGet' { _httphcgProject :: !Text , _httphcgHTTPHealthCheck :: !Text } deriving (Eq,Show,Data,Typeable,Generic)@@ -73,12 +75,12 @@ -> Text -- ^ 'httphcgHTTPHealthCheck' -> HTTPHealthChecksGet hTTPHealthChecksGet pHttphcgProject_ pHttphcgHTTPHealthCheck_ =- HTTPHealthChecksGet+ HTTPHealthChecksGet' { _httphcgProject = pHttphcgProject_ , _httphcgHTTPHealthCheck = pHttphcgHTTPHealthCheck_ } --- | Name of the project scoping this request.+-- | Project ID for this request. httphcgProject :: Lens' HTTPHealthChecksGet Text httphcgProject = lens _httphcgProject@@ -92,7 +94,11 @@ instance GoogleRequest HTTPHealthChecksGet where type Rs HTTPHealthChecksGet = HTTPHealthCheck- requestClient HTTPHealthChecksGet{..}+ type Scopes HTTPHealthChecksGet =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute",+ "https://www.googleapis.com/auth/compute.readonly"]+ requestClient HTTPHealthChecksGet'{..} = go _httphcgProject _httphcgHTTPHealthCheck (Just AltJSON) computeService
gen/Network/Google/Resource/Compute/HTTPHealthChecks/Insert.hs view
@@ -14,7 +14,7 @@ -- | -- Module : Network.Google.Resource.Compute.HTTPHealthChecks.Insert--- Copyright : (c) 2015 Brendan Hay+-- Copyright : (c) 2015-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -58,7 +58,7 @@ -- data included in the request. -- -- /See:/ 'hTTPHealthChecksInsert' smart constructor.-data HTTPHealthChecksInsert = HTTPHealthChecksInsert+data HTTPHealthChecksInsert = HTTPHealthChecksInsert' { _httphciProject :: !Text , _httphciPayload :: !HTTPHealthCheck } deriving (Eq,Show,Data,Typeable,Generic)@@ -75,12 +75,12 @@ -> HTTPHealthCheck -- ^ 'httphciPayload' -> HTTPHealthChecksInsert hTTPHealthChecksInsert pHttphciProject_ pHttphciPayload_ =- HTTPHealthChecksInsert+ HTTPHealthChecksInsert' { _httphciProject = pHttphciProject_ , _httphciPayload = pHttphciPayload_ } --- | Name of the project scoping this request.+-- | Project ID for this request. httphciProject :: Lens' HTTPHealthChecksInsert Text httphciProject = lens _httphciProject@@ -94,7 +94,10 @@ instance GoogleRequest HTTPHealthChecksInsert where type Rs HTTPHealthChecksInsert = Operation- requestClient HTTPHealthChecksInsert{..}+ type Scopes HTTPHealthChecksInsert =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient HTTPHealthChecksInsert'{..} = go _httphciProject (Just AltJSON) _httphciPayload computeService where go
gen/Network/Google/Resource/Compute/HTTPHealthChecks/List.hs view
@@ -14,7 +14,7 @@ -- | -- Module : Network.Google.Resource.Compute.HTTPHealthChecks.List--- Copyright : (c) 2015 Brendan Hay+-- Copyright : (c) 2015-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -62,7 +62,7 @@ -- specified project. -- -- /See:/ 'hTTPHealthChecksList' smart constructor.-data HTTPHealthChecksList = HTTPHealthChecksList+data HTTPHealthChecksList = HTTPHealthChecksList' { _httphclProject :: !Text , _httphclFilter :: !(Maybe Text) , _httphclPageToken :: !(Maybe Text)@@ -84,44 +84,56 @@ :: Text -- ^ 'httphclProject' -> HTTPHealthChecksList hTTPHealthChecksList pHttphclProject_ =- HTTPHealthChecksList+ HTTPHealthChecksList' { _httphclProject = pHttphclProject_ , _httphclFilter = Nothing , _httphclPageToken = Nothing , _httphclMaxResults = 500 } --- | Name of the project scoping this request.+-- | Project ID for this request. httphclProject :: Lens' HTTPHealthChecksList Text httphclProject = lens _httphclProject (\ s a -> s{_httphclProject = 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+-- 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--- (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, filter=name ne--- example-instance.+-- (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. Compute Engine Beta API Only: When+-- filtering in the Beta API, you can also 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. httphclFilter :: Lens' HTTPHealthChecksList (Maybe Text) httphclFilter = lens _httphclFilter (\ s a -> s{_httphclFilter = a}) --- | Specifies a page token to use. Use this parameter if you want to list--- the next page of results. Set pageToken to the nextPageToken returned by--- a previous list request.+-- | Specifies a page token to use. Set pageToken to the nextPageToken+-- returned by a previous list request to get the next page of results. httphclPageToken :: Lens' HTTPHealthChecksList (Maybe Text) httphclPageToken = lens _httphclPageToken (\ s a -> s{_httphclPageToken = a}) --- | Maximum count of results to be returned.+-- | 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. httphclMaxResults :: Lens' HTTPHealthChecksList Word32 httphclMaxResults = lens _httphclMaxResults@@ -130,7 +142,11 @@ instance GoogleRequest HTTPHealthChecksList where type Rs HTTPHealthChecksList = HTTPHealthCheckList- requestClient HTTPHealthChecksList{..}+ type Scopes HTTPHealthChecksList =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute",+ "https://www.googleapis.com/auth/compute.readonly"]+ requestClient HTTPHealthChecksList'{..} = go _httphclProject _httphclFilter _httphclPageToken (Just _httphclMaxResults) (Just AltJSON)
gen/Network/Google/Resource/Compute/HTTPHealthChecks/Patch.hs view
@@ -14,7 +14,7 @@ -- | -- Module : Network.Google.Resource.Compute.HTTPHealthChecks.Patch--- Copyright : (c) 2015 Brendan Hay+-- Copyright : (c) 2015-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -60,7 +60,7 @@ -- data included in the request. This method supports patch semantics. -- -- /See:/ 'hTTPHealthChecksPatch' smart constructor.-data HTTPHealthChecksPatch = HTTPHealthChecksPatch+data HTTPHealthChecksPatch = HTTPHealthChecksPatch' { _httphcpProject :: !Text , _httphcpPayload :: !HTTPHealthCheck , _httphcpHTTPHealthCheck :: !Text@@ -81,13 +81,13 @@ -> Text -- ^ 'httphcpHTTPHealthCheck' -> HTTPHealthChecksPatch hTTPHealthChecksPatch pHttphcpProject_ pHttphcpPayload_ pHttphcpHTTPHealthCheck_ =- HTTPHealthChecksPatch+ HTTPHealthChecksPatch' { _httphcpProject = pHttphcpProject_ , _httphcpPayload = pHttphcpPayload_ , _httphcpHTTPHealthCheck = pHttphcpHTTPHealthCheck_ } --- | Name of the project scoping this request.+-- | Project ID for this request. httphcpProject :: Lens' HTTPHealthChecksPatch Text httphcpProject = lens _httphcpProject@@ -107,7 +107,10 @@ instance GoogleRequest HTTPHealthChecksPatch where type Rs HTTPHealthChecksPatch = Operation- requestClient HTTPHealthChecksPatch{..}+ type Scopes HTTPHealthChecksPatch =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient HTTPHealthChecksPatch'{..} = go _httphcpProject _httphcpHTTPHealthCheck (Just AltJSON) _httphcpPayload
gen/Network/Google/Resource/Compute/HTTPHealthChecks/Update.hs view
@@ -14,7 +14,7 @@ -- | -- Module : Network.Google.Resource.Compute.HTTPHealthChecks.Update--- Copyright : (c) 2015 Brendan Hay+-- Copyright : (c) 2015-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -60,7 +60,7 @@ -- data included in the request. -- -- /See:/ 'hTTPHealthChecksUpdate' smart constructor.-data HTTPHealthChecksUpdate = HTTPHealthChecksUpdate+data HTTPHealthChecksUpdate = HTTPHealthChecksUpdate' { _httphcuProject :: !Text , _httphcuPayload :: !HTTPHealthCheck , _httphcuHTTPHealthCheck :: !Text@@ -81,13 +81,13 @@ -> Text -- ^ 'httphcuHTTPHealthCheck' -> HTTPHealthChecksUpdate hTTPHealthChecksUpdate pHttphcuProject_ pHttphcuPayload_ pHttphcuHTTPHealthCheck_ =- HTTPHealthChecksUpdate+ HTTPHealthChecksUpdate' { _httphcuProject = pHttphcuProject_ , _httphcuPayload = pHttphcuPayload_ , _httphcuHTTPHealthCheck = pHttphcuHTTPHealthCheck_ } --- | Name of the project scoping this request.+-- | Project ID for this request. httphcuProject :: Lens' HTTPHealthChecksUpdate Text httphcuProject = lens _httphcuProject@@ -107,7 +107,10 @@ instance GoogleRequest HTTPHealthChecksUpdate where type Rs HTTPHealthChecksUpdate = Operation- requestClient HTTPHealthChecksUpdate{..}+ type Scopes HTTPHealthChecksUpdate =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient HTTPHealthChecksUpdate'{..} = go _httphcuProject _httphcuHTTPHealthCheck (Just AltJSON) _httphcuPayload
gen/Network/Google/Resource/Compute/HTTPSHealthChecks/Delete.hs view
@@ -14,7 +14,7 @@ -- | -- Module : Network.Google.Resource.Compute.HTTPSHealthChecks.Delete--- Copyright : (c) 2015 Brendan Hay+-- Copyright : (c) 2015-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -55,7 +55,7 @@ -- | Deletes the specified HttpsHealthCheck resource. -- -- /See:/ 'httpsHealthChecksDelete' smart constructor.-data HTTPSHealthChecksDelete = HTTPSHealthChecksDelete+data HTTPSHealthChecksDelete = HTTPSHealthChecksDelete' { _hhcdProject :: !Text , _hhcdHTTPSHealthCheck :: !Text } deriving (Eq,Show,Data,Typeable,Generic)@@ -72,12 +72,12 @@ -> Text -- ^ 'hhcdHTTPSHealthCheck' -> HTTPSHealthChecksDelete httpsHealthChecksDelete pHhcdProject_ pHhcdHTTPSHealthCheck_ =- HTTPSHealthChecksDelete+ HTTPSHealthChecksDelete' { _hhcdProject = pHhcdProject_ , _hhcdHTTPSHealthCheck = pHhcdHTTPSHealthCheck_ } --- | Name of the project scoping this request.+-- | Project ID for this request. hhcdProject :: Lens' HTTPSHealthChecksDelete Text hhcdProject = lens _hhcdProject (\ s a -> s{_hhcdProject = a})@@ -90,7 +90,10 @@ instance GoogleRequest HTTPSHealthChecksDelete where type Rs HTTPSHealthChecksDelete = Operation- requestClient HTTPSHealthChecksDelete{..}+ type Scopes HTTPSHealthChecksDelete =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient HTTPSHealthChecksDelete'{..} = go _hhcdProject _hhcdHTTPSHealthCheck (Just AltJSON) computeService
gen/Network/Google/Resource/Compute/HTTPSHealthChecks/Get.hs view
@@ -14,13 +14,14 @@ -- | -- Module : Network.Google.Resource.Compute.HTTPSHealthChecks.Get--- Copyright : (c) 2015 Brendan Hay+-- 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 HttpsHealthCheck resource.+-- Returns the specified HttpsHealthCheck resource. Get a list of available+-- HTTPS health checks by making a list() request. -- -- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.httpsHealthChecks.get@. module Network.Google.Resource.Compute.HTTPSHealthChecks.Get@@ -53,10 +54,11 @@ QueryParam "alt" AltJSON :> Get '[JSON] HTTPSHealthCheck --- | Returns the specified HttpsHealthCheck resource.+-- | Returns the specified HttpsHealthCheck resource. Get a list of available+-- HTTPS health checks by making a list() request. -- -- /See:/ 'httpsHealthChecksGet' smart constructor.-data HTTPSHealthChecksGet = HTTPSHealthChecksGet+data HTTPSHealthChecksGet = HTTPSHealthChecksGet' { _hhcgProject :: !Text , _hhcgHTTPSHealthCheck :: !Text } deriving (Eq,Show,Data,Typeable,Generic)@@ -73,12 +75,12 @@ -> Text -- ^ 'hhcgHTTPSHealthCheck' -> HTTPSHealthChecksGet httpsHealthChecksGet pHhcgProject_ pHhcgHTTPSHealthCheck_ =- HTTPSHealthChecksGet+ HTTPSHealthChecksGet' { _hhcgProject = pHhcgProject_ , _hhcgHTTPSHealthCheck = pHhcgHTTPSHealthCheck_ } --- | Name of the project scoping this request.+-- | Project ID for this request. hhcgProject :: Lens' HTTPSHealthChecksGet Text hhcgProject = lens _hhcgProject (\ s a -> s{_hhcgProject = a})@@ -91,7 +93,11 @@ instance GoogleRequest HTTPSHealthChecksGet where type Rs HTTPSHealthChecksGet = HTTPSHealthCheck- requestClient HTTPSHealthChecksGet{..}+ type Scopes HTTPSHealthChecksGet =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute",+ "https://www.googleapis.com/auth/compute.readonly"]+ requestClient HTTPSHealthChecksGet'{..} = go _hhcgProject _hhcgHTTPSHealthCheck (Just AltJSON) computeService
gen/Network/Google/Resource/Compute/HTTPSHealthChecks/Insert.hs view
@@ -14,7 +14,7 @@ -- | -- Module : Network.Google.Resource.Compute.HTTPSHealthChecks.Insert--- Copyright : (c) 2015 Brendan Hay+-- Copyright : (c) 2015-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -58,7 +58,7 @@ -- data included in the request. -- -- /See:/ 'httpsHealthChecksInsert' smart constructor.-data HTTPSHealthChecksInsert = HTTPSHealthChecksInsert+data HTTPSHealthChecksInsert = HTTPSHealthChecksInsert' { _hhciProject :: !Text , _hhciPayload :: !HTTPSHealthCheck } deriving (Eq,Show,Data,Typeable,Generic)@@ -75,12 +75,12 @@ -> HTTPSHealthCheck -- ^ 'hhciPayload' -> HTTPSHealthChecksInsert httpsHealthChecksInsert pHhciProject_ pHhciPayload_ =- HTTPSHealthChecksInsert+ HTTPSHealthChecksInsert' { _hhciProject = pHhciProject_ , _hhciPayload = pHhciPayload_ } --- | Name of the project scoping this request.+-- | Project ID for this request. hhciProject :: Lens' HTTPSHealthChecksInsert Text hhciProject = lens _hhciProject (\ s a -> s{_hhciProject = a})@@ -92,7 +92,10 @@ instance GoogleRequest HTTPSHealthChecksInsert where type Rs HTTPSHealthChecksInsert = Operation- requestClient HTTPSHealthChecksInsert{..}+ type Scopes HTTPSHealthChecksInsert =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient HTTPSHealthChecksInsert'{..} = go _hhciProject (Just AltJSON) _hhciPayload computeService where go
gen/Network/Google/Resource/Compute/HTTPSHealthChecks/List.hs view
@@ -14,7 +14,7 @@ -- | -- Module : Network.Google.Resource.Compute.HTTPSHealthChecks.List--- Copyright : (c) 2015 Brendan Hay+-- Copyright : (c) 2015-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -62,7 +62,7 @@ -- specified project. -- -- /See:/ 'httpsHealthChecksList' smart constructor.-data HTTPSHealthChecksList = HTTPSHealthChecksList+data HTTPSHealthChecksList = HTTPSHealthChecksList' { _hhclProject :: !Text , _hhclFilter :: !(Maybe Text) , _hhclPageToken :: !(Maybe Text)@@ -84,42 +84,54 @@ :: Text -- ^ 'hhclProject' -> HTTPSHealthChecksList httpsHealthChecksList pHhclProject_ =- HTTPSHealthChecksList+ HTTPSHealthChecksList' { _hhclProject = pHhclProject_ , _hhclFilter = Nothing , _hhclPageToken = Nothing , _hhclMaxResults = 500 } --- | Name of the project scoping this request.+-- | Project ID for this request. hhclProject :: Lens' HTTPSHealthChecksList Text hhclProject = lens _hhclProject (\ s a -> s{_hhclProject = 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+-- 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--- (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, filter=name ne--- example-instance.+-- (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. Compute Engine Beta API Only: When+-- filtering in the Beta API, you can also 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. hhclFilter :: Lens' HTTPSHealthChecksList (Maybe Text) hhclFilter = lens _hhclFilter (\ s a -> s{_hhclFilter = a}) --- | Specifies a page token to use. Use this parameter if you want to list--- the next page of results. Set pageToken to the nextPageToken returned by--- a previous list request.+-- | Specifies a page token to use. Set pageToken to the nextPageToken+-- returned by a previous list request to get the next page of results. hhclPageToken :: Lens' HTTPSHealthChecksList (Maybe Text) hhclPageToken = lens _hhclPageToken (\ s a -> s{_hhclPageToken = a}) --- | Maximum count of results to be returned.+-- | 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. hhclMaxResults :: Lens' HTTPSHealthChecksList Word32 hhclMaxResults = lens _hhclMaxResults@@ -128,7 +140,11 @@ instance GoogleRequest HTTPSHealthChecksList where type Rs HTTPSHealthChecksList = HTTPSHealthCheckList- requestClient HTTPSHealthChecksList{..}+ type Scopes HTTPSHealthChecksList =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute",+ "https://www.googleapis.com/auth/compute.readonly"]+ requestClient HTTPSHealthChecksList'{..} = go _hhclProject _hhclFilter _hhclPageToken (Just _hhclMaxResults) (Just AltJSON)
gen/Network/Google/Resource/Compute/HTTPSHealthChecks/Patch.hs view
@@ -14,7 +14,7 @@ -- | -- Module : Network.Google.Resource.Compute.HTTPSHealthChecks.Patch--- Copyright : (c) 2015 Brendan Hay+-- Copyright : (c) 2015-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -60,7 +60,7 @@ -- data included in the request. This method supports patch semantics. -- -- /See:/ 'httpsHealthChecksPatch' smart constructor.-data HTTPSHealthChecksPatch = HTTPSHealthChecksPatch+data HTTPSHealthChecksPatch = HTTPSHealthChecksPatch' { _hhcpProject :: !Text , _hhcpPayload :: !HTTPSHealthCheck , _hhcpHTTPSHealthCheck :: !Text@@ -81,13 +81,13 @@ -> Text -- ^ 'hhcpHTTPSHealthCheck' -> HTTPSHealthChecksPatch httpsHealthChecksPatch pHhcpProject_ pHhcpPayload_ pHhcpHTTPSHealthCheck_ =- HTTPSHealthChecksPatch+ HTTPSHealthChecksPatch' { _hhcpProject = pHhcpProject_ , _hhcpPayload = pHhcpPayload_ , _hhcpHTTPSHealthCheck = pHhcpHTTPSHealthCheck_ } --- | Name of the project scoping this request.+-- | Project ID for this request. hhcpProject :: Lens' HTTPSHealthChecksPatch Text hhcpProject = lens _hhcpProject (\ s a -> s{_hhcpProject = a})@@ -105,7 +105,10 @@ instance GoogleRequest HTTPSHealthChecksPatch where type Rs HTTPSHealthChecksPatch = Operation- requestClient HTTPSHealthChecksPatch{..}+ type Scopes HTTPSHealthChecksPatch =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient HTTPSHealthChecksPatch'{..} = go _hhcpProject _hhcpHTTPSHealthCheck (Just AltJSON) _hhcpPayload
gen/Network/Google/Resource/Compute/HTTPSHealthChecks/Update.hs view
@@ -14,7 +14,7 @@ -- | -- Module : Network.Google.Resource.Compute.HTTPSHealthChecks.Update--- Copyright : (c) 2015 Brendan Hay+-- Copyright : (c) 2015-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -60,7 +60,7 @@ -- data included in the request. -- -- /See:/ 'httpsHealthChecksUpdate' smart constructor.-data HTTPSHealthChecksUpdate = HTTPSHealthChecksUpdate+data HTTPSHealthChecksUpdate = HTTPSHealthChecksUpdate' { _hhcuProject :: !Text , _hhcuPayload :: !HTTPSHealthCheck , _hhcuHTTPSHealthCheck :: !Text@@ -81,13 +81,13 @@ -> Text -- ^ 'hhcuHTTPSHealthCheck' -> HTTPSHealthChecksUpdate httpsHealthChecksUpdate pHhcuProject_ pHhcuPayload_ pHhcuHTTPSHealthCheck_ =- HTTPSHealthChecksUpdate+ HTTPSHealthChecksUpdate' { _hhcuProject = pHhcuProject_ , _hhcuPayload = pHhcuPayload_ , _hhcuHTTPSHealthCheck = pHhcuHTTPSHealthCheck_ } --- | Name of the project scoping this request.+-- | Project ID for this request. hhcuProject :: Lens' HTTPSHealthChecksUpdate Text hhcuProject = lens _hhcuProject (\ s a -> s{_hhcuProject = a})@@ -105,7 +105,10 @@ instance GoogleRequest HTTPSHealthChecksUpdate where type Rs HTTPSHealthChecksUpdate = Operation- requestClient HTTPSHealthChecksUpdate{..}+ type Scopes HTTPSHealthChecksUpdate =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient HTTPSHealthChecksUpdate'{..} = go _hhcuProject _hhcuHTTPSHealthCheck (Just AltJSON) _hhcuPayload
gen/Network/Google/Resource/Compute/Images/Delete.hs view
@@ -14,13 +14,13 @@ -- | -- Module : Network.Google.Resource.Compute.Images.Delete--- Copyright : (c) 2015 Brendan Hay+-- 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 image resource.+-- Deletes the specified image. -- -- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.images.delete@. module Network.Google.Resource.Compute.Images.Delete@@ -52,10 +52,10 @@ Capture "image" Text :> QueryParam "alt" AltJSON :> Delete '[JSON] Operation --- | Deletes the specified image resource.+-- | Deletes the specified image. -- -- /See:/ 'imagesDelete' smart constructor.-data ImagesDelete = ImagesDelete+data ImagesDelete = ImagesDelete' { _imaImage :: !Text , _imaProject :: !Text } deriving (Eq,Show,Data,Typeable,Generic)@@ -72,7 +72,7 @@ -> Text -- ^ 'imaProject' -> ImagesDelete imagesDelete pImaImage_ pImaProject_ =- ImagesDelete+ ImagesDelete' { _imaImage = pImaImage_ , _imaProject = pImaProject_ }@@ -88,7 +88,10 @@ instance GoogleRequest ImagesDelete where type Rs ImagesDelete = Operation- requestClient ImagesDelete{..}+ type Scopes ImagesDelete =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient ImagesDelete'{..} = go _imaProject _imaImage (Just AltJSON) computeService where go
gen/Network/Google/Resource/Compute/Images/Deprecate.hs view
@@ -14,7 +14,7 @@ -- | -- Module : Network.Google.Resource.Compute.Images.Deprecate--- Copyright : (c) 2015 Brendan Hay+-- Copyright : (c) 2015-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -61,7 +61,7 @@ -- given, clears the deprecation status instead. -- -- /See:/ 'imagesDeprecate' smart constructor.-data ImagesDeprecate = ImagesDeprecate+data ImagesDeprecate = ImagesDeprecate' { _imamImage :: !Text , _imamProject :: !Text , _imamPayload :: !DeprecationStatus@@ -82,7 +82,7 @@ -> DeprecationStatus -- ^ 'imamPayload' -> ImagesDeprecate imagesDeprecate pImamImage_ pImamProject_ pImamPayload_ =- ImagesDeprecate+ ImagesDeprecate' { _imamImage = pImamImage_ , _imamProject = pImamProject_ , _imamPayload = pImamPayload_@@ -105,7 +105,10 @@ instance GoogleRequest ImagesDeprecate where type Rs ImagesDeprecate = Operation- requestClient ImagesDeprecate{..}+ type Scopes ImagesDeprecate =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient ImagesDeprecate'{..} = go _imamProject _imamImage (Just AltJSON) _imamPayload computeService
gen/Network/Google/Resource/Compute/Images/Get.hs view
@@ -14,13 +14,14 @@ -- | -- Module : Network.Google.Resource.Compute.Images.Get--- Copyright : (c) 2015 Brendan Hay+-- 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 image resource.+-- Returns the specified image. Get a list of available images by making a+-- list() request. -- -- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.images.get@. module Network.Google.Resource.Compute.Images.Get@@ -52,10 +53,11 @@ Capture "image" Text :> QueryParam "alt" AltJSON :> Get '[JSON] Image --- | Returns the specified image resource.+-- | Returns the specified image. Get a list of available images by making a+-- list() request. -- -- /See:/ 'imagesGet' smart constructor.-data ImagesGet = ImagesGet+data ImagesGet = ImagesGet' { _iImage :: !Text , _iProject :: !Text } deriving (Eq,Show,Data,Typeable,Generic)@@ -72,7 +74,7 @@ -> Text -- ^ 'iProject' -> ImagesGet imagesGet pIImage_ pIProject_ =- ImagesGet+ ImagesGet' { _iImage = pIImage_ , _iProject = pIProject_ }@@ -87,7 +89,11 @@ instance GoogleRequest ImagesGet where type Rs ImagesGet = Image- requestClient ImagesGet{..}+ type Scopes ImagesGet =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute",+ "https://www.googleapis.com/auth/compute.readonly"]+ requestClient ImagesGet'{..} = go _iProject _iImage (Just AltJSON) computeService where go = buildClient (Proxy :: Proxy ImagesGetResource)
+ gen/Network/Google/Resource/Compute/Images/GetFromFamily.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.Images.GetFromFamily+-- 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 latest image that is part of an image family and is not+-- deprecated.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.images.getFromFamily@.+module Network.Google.Resource.Compute.Images.GetFromFamily+ (+ -- * REST Resource+ ImagesGetFromFamilyResource++ -- * Creating a Request+ , imagesGetFromFamily+ , ImagesGetFromFamily++ -- * Request Lenses+ , igffProject+ , igffFamily+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.images.getFromFamily@ method which the+-- 'ImagesGetFromFamily' request conforms to.+type ImagesGetFromFamilyResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "global" :>+ "images" :>+ "family" :>+ Capture "family" Text :>+ QueryParam "alt" AltJSON :> Get '[JSON] Image++-- | Returns the latest image that is part of an image family and is not+-- deprecated.+--+-- /See:/ 'imagesGetFromFamily' smart constructor.+data ImagesGetFromFamily = ImagesGetFromFamily'+ { _igffProject :: !Text+ , _igffFamily :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ImagesGetFromFamily' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'igffProject'+--+-- * 'igffFamily'+imagesGetFromFamily+ :: Text -- ^ 'igffProject'+ -> Text -- ^ 'igffFamily'+ -> ImagesGetFromFamily+imagesGetFromFamily pIgffProject_ pIgffFamily_ =+ ImagesGetFromFamily'+ { _igffProject = pIgffProject_+ , _igffFamily = pIgffFamily_+ }++-- | Project ID for this request.+igffProject :: Lens' ImagesGetFromFamily Text+igffProject+ = lens _igffProject (\ s a -> s{_igffProject = a})++-- | Name of the image resource to return.+igffFamily :: Lens' ImagesGetFromFamily Text+igffFamily+ = lens _igffFamily (\ s a -> s{_igffFamily = a})++instance GoogleRequest ImagesGetFromFamily where+ type Rs ImagesGetFromFamily = Image+ type Scopes ImagesGetFromFamily =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute",+ "https://www.googleapis.com/auth/compute.readonly"]+ requestClient ImagesGetFromFamily'{..}+ = go _igffProject _igffFamily (Just AltJSON)+ computeService+ where go+ = buildClient+ (Proxy :: Proxy ImagesGetFromFamilyResource)+ mempty
gen/Network/Google/Resource/Compute/Images/Insert.hs view
@@ -14,14 +14,14 @@ -- | -- Module : Network.Google.Resource.Compute.Images.Insert--- Copyright : (c) 2015 Brendan Hay+-- 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 an image resource in the specified project using the data--- included in the request.+-- Creates an image 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.images.insert@. module Network.Google.Resource.Compute.Images.Insert@@ -53,11 +53,11 @@ QueryParam "alt" AltJSON :> ReqBody '[JSON] Image :> Post '[JSON] Operation --- | Creates an image resource in the specified project using the data--- included in the request.+-- | Creates an image in the specified project using the data included in the+-- request. -- -- /See:/ 'imagesInsert' smart constructor.-data ImagesInsert = ImagesInsert+data ImagesInsert = ImagesInsert' { _iiProject :: !Text , _iiPayload :: !Image } deriving (Eq,Show,Data,Typeable,Generic)@@ -74,7 +74,7 @@ -> Image -- ^ 'iiPayload' -> ImagesInsert imagesInsert pIiProject_ pIiPayload_ =- ImagesInsert+ ImagesInsert' { _iiProject = pIiProject_ , _iiPayload = pIiPayload_ }@@ -91,7 +91,13 @@ instance GoogleRequest ImagesInsert where type Rs ImagesInsert = Operation- requestClient ImagesInsert{..}+ type Scopes ImagesInsert =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute",+ "https://www.googleapis.com/auth/devstorage.full_control",+ "https://www.googleapis.com/auth/devstorage.read_only",+ "https://www.googleapis.com/auth/devstorage.read_write"]+ requestClient ImagesInsert'{..} = go _iiProject (Just AltJSON) _iiPayload computeService where go
gen/Network/Google/Resource/Compute/Images/List.hs view
@@ -14,7 +14,7 @@ -- | -- Module : Network.Google.Resource.Compute.Images.List--- Copyright : (c) 2015 Brendan Hay+-- Copyright : (c) 2015-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -71,7 +71,7 @@ -- Accessing images for more information. -- -- /See:/ 'imagesList' smart constructor.-data ImagesList = ImagesList+data ImagesList = ImagesList' { _illProject :: !Text , _illFilter :: !(Maybe Text) , _illPageToken :: !(Maybe Text)@@ -93,7 +93,7 @@ :: Text -- ^ 'illProject' -> ImagesList imagesList pIllProject_ =- ImagesList+ ImagesList' { _illProject = pIllProject_ , _illFilter = Nothing , _illPageToken = Nothing@@ -106,28 +106,40 @@ = lens _illProject (\ s a -> s{_illProject = 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+-- 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--- (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, filter=name ne--- example-instance.+-- (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. Compute Engine Beta API Only: When+-- filtering in the Beta API, you can also 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. illFilter :: Lens' ImagesList (Maybe Text) illFilter = lens _illFilter (\ s a -> s{_illFilter = a}) --- | Specifies a page token to use. Use this parameter if you want to list--- the next page of results. Set pageToken to the nextPageToken returned by--- a previous list request.+-- | Specifies a page token to use. Set pageToken to the nextPageToken+-- returned by a previous list request to get the next page of results. illPageToken :: Lens' ImagesList (Maybe Text) illPageToken = lens _illPageToken (\ s a -> s{_illPageToken = a}) --- | Maximum count of results to be returned.+-- | 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. illMaxResults :: Lens' ImagesList Word32 illMaxResults = lens _illMaxResults@@ -136,7 +148,11 @@ instance GoogleRequest ImagesList where type Rs ImagesList = ImageList- requestClient ImagesList{..}+ type Scopes ImagesList =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute",+ "https://www.googleapis.com/auth/compute.readonly"]+ requestClient ImagesList'{..} = go _illProject _illFilter _illPageToken (Just _illMaxResults) (Just AltJSON)
gen/Network/Google/Resource/Compute/InstanceGroupManagers/AbandonInstances.hs view
@@ -14,7 +14,7 @@ -- | -- Module : Network.Google.Resource.Compute.InstanceGroupManagers.AbandonInstances--- Copyright : (c) 2015 Brendan Hay+-- Copyright : (c) 2015-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -78,7 +78,7 @@ -- with the listmanagedinstances method. -- -- /See:/ 'instanceGroupManagersAbandonInstances' smart constructor.-data InstanceGroupManagersAbandonInstances = InstanceGroupManagersAbandonInstances+data InstanceGroupManagersAbandonInstances = InstanceGroupManagersAbandonInstances' { _igmaiProject :: !Text , _igmaiInstanceGroupManager :: !Text , _igmaiZone :: !Text@@ -103,14 +103,14 @@ -> InstanceGroupManagersAbandonInstancesRequest -- ^ 'igmaiPayload' -> InstanceGroupManagersAbandonInstances instanceGroupManagersAbandonInstances pIgmaiProject_ pIgmaiInstanceGroupManager_ pIgmaiZone_ pIgmaiPayload_ =- InstanceGroupManagersAbandonInstances+ InstanceGroupManagersAbandonInstances' { _igmaiProject = pIgmaiProject_ , _igmaiInstanceGroupManager = pIgmaiInstanceGroupManager_ , _igmaiZone = pIgmaiZone_ , _igmaiPayload = pIgmaiPayload_ } --- | The project ID for this request.+-- | Project ID for this request. igmaiProject :: Lens' InstanceGroupManagersAbandonInstances Text igmaiProject = lens _igmaiProject (\ s a -> s{_igmaiProject = a})@@ -135,8 +135,11 @@ InstanceGroupManagersAbandonInstances where type Rs InstanceGroupManagersAbandonInstances = Operation+ type Scopes InstanceGroupManagersAbandonInstances =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"] requestClient- InstanceGroupManagersAbandonInstances{..}+ InstanceGroupManagersAbandonInstances'{..} = go _igmaiProject _igmaiZone _igmaiInstanceGroupManager (Just AltJSON)
gen/Network/Google/Resource/Compute/InstanceGroupManagers/AggregatedList.hs view
@@ -14,7 +14,7 @@ -- | -- Module : Network.Google.Resource.Compute.InstanceGroupManagers.AggregatedList--- Copyright : (c) 2015 Brendan Hay+-- Copyright : (c) 2015-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -60,7 +60,7 @@ -- | Retrieves the list of managed instance groups and groups them by zone. -- -- /See:/ 'instanceGroupManagersAggregatedList' smart constructor.-data InstanceGroupManagersAggregatedList = InstanceGroupManagersAggregatedList+data InstanceGroupManagersAggregatedList = InstanceGroupManagersAggregatedList' { _igmalProject :: !Text , _igmalFilter :: !(Maybe Text) , _igmalPageToken :: !(Maybe Text)@@ -82,42 +82,54 @@ :: Text -- ^ 'igmalProject' -> InstanceGroupManagersAggregatedList instanceGroupManagersAggregatedList pIgmalProject_ =- InstanceGroupManagersAggregatedList+ InstanceGroupManagersAggregatedList' { _igmalProject = pIgmalProject_ , _igmalFilter = Nothing , _igmalPageToken = Nothing , _igmalMaxResults = 500 } --- | The project ID for this request.+-- | Project ID for this request. igmalProject :: Lens' InstanceGroupManagersAggregatedList Text igmalProject = lens _igmalProject (\ s a -> s{_igmalProject = 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+-- 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--- (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, filter=name ne--- example-instance.+-- (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. Compute Engine Beta API Only: When+-- filtering in the Beta API, you can also 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. igmalFilter :: Lens' InstanceGroupManagersAggregatedList (Maybe Text) igmalFilter = lens _igmalFilter (\ s a -> s{_igmalFilter = a}) --- | Specifies a page token to use. Use this parameter if you want to list--- the next page of results. Set pageToken to the nextPageToken returned by--- a previous list request.+-- | Specifies a page token to use. Set pageToken to the nextPageToken+-- returned by a previous list request to get the next page of results. igmalPageToken :: Lens' InstanceGroupManagersAggregatedList (Maybe Text) igmalPageToken = lens _igmalPageToken (\ s a -> s{_igmalPageToken = a}) --- | Maximum count of results to be returned.+-- | 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. igmalMaxResults :: Lens' InstanceGroupManagersAggregatedList Word32 igmalMaxResults = lens _igmalMaxResults@@ -128,7 +140,12 @@ InstanceGroupManagersAggregatedList where type Rs InstanceGroupManagersAggregatedList = InstanceGroupManagerAggregatedList- requestClient InstanceGroupManagersAggregatedList{..}+ type Scopes InstanceGroupManagersAggregatedList =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute",+ "https://www.googleapis.com/auth/compute.readonly"]+ requestClient+ InstanceGroupManagersAggregatedList'{..} = go _igmalProject _igmalFilter _igmalPageToken (Just _igmalMaxResults) (Just AltJSON)
gen/Network/Google/Resource/Compute/InstanceGroupManagers/Delete.hs view
@@ -14,14 +14,15 @@ -- | -- Module : Network.Google.Resource.Compute.InstanceGroupManagers.Delete--- Copyright : (c) 2015 Brendan Hay+-- 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 managed instance group and all of the instances in--- that group.+-- that group. Note that the instance group must not belong to a backend+-- service. Read Deleting an instance group for more information. -- -- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.instanceGroupManagers.delete@. module Network.Google.Resource.Compute.InstanceGroupManagers.Delete@@ -56,10 +57,11 @@ QueryParam "alt" AltJSON :> Delete '[JSON] Operation -- | Deletes the specified managed instance group and all of the instances in--- that group.+-- that group. Note that the instance group must not belong to a backend+-- service. Read Deleting an instance group for more information. -- -- /See:/ 'instanceGroupManagersDelete' smart constructor.-data InstanceGroupManagersDelete = InstanceGroupManagersDelete+data InstanceGroupManagersDelete = InstanceGroupManagersDelete' { _igmdProject :: !Text , _igmdInstanceGroupManager :: !Text , _igmdZone :: !Text@@ -80,13 +82,13 @@ -> Text -- ^ 'igmdZone' -> InstanceGroupManagersDelete instanceGroupManagersDelete pIgmdProject_ pIgmdInstanceGroupManager_ pIgmdZone_ =- InstanceGroupManagersDelete+ InstanceGroupManagersDelete' { _igmdProject = pIgmdProject_ , _igmdInstanceGroupManager = pIgmdInstanceGroupManager_ , _igmdZone = pIgmdZone_ } --- | The project ID for this request.+-- | Project ID for this request. igmdProject :: Lens' InstanceGroupManagersDelete Text igmdProject = lens _igmdProject (\ s a -> s{_igmdProject = a})@@ -104,7 +106,10 @@ instance GoogleRequest InstanceGroupManagersDelete where type Rs InstanceGroupManagersDelete = Operation- requestClient InstanceGroupManagersDelete{..}+ type Scopes InstanceGroupManagersDelete =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient InstanceGroupManagersDelete'{..} = go _igmdProject _igmdZone _igmdInstanceGroupManager (Just AltJSON) computeService
gen/Network/Google/Resource/Compute/InstanceGroupManagers/DeleteInstances.hs view
@@ -14,7 +14,7 @@ -- | -- Module : Network.Google.Resource.Compute.InstanceGroupManagers.DeleteInstances--- Copyright : (c) 2015 Brendan Hay+-- Copyright : (c) 2015-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -74,7 +74,7 @@ -- status of the deleting action with the listmanagedinstances method. -- -- /See:/ 'instanceGroupManagersDeleteInstances' smart constructor.-data InstanceGroupManagersDeleteInstances = InstanceGroupManagersDeleteInstances+data InstanceGroupManagersDeleteInstances = InstanceGroupManagersDeleteInstances' { _igmdiProject :: !Text , _igmdiInstanceGroupManager :: !Text , _igmdiZone :: !Text@@ -99,14 +99,14 @@ -> InstanceGroupManagersDeleteInstancesRequest -- ^ 'igmdiPayload' -> InstanceGroupManagersDeleteInstances instanceGroupManagersDeleteInstances pIgmdiProject_ pIgmdiInstanceGroupManager_ pIgmdiZone_ pIgmdiPayload_ =- InstanceGroupManagersDeleteInstances+ InstanceGroupManagersDeleteInstances' { _igmdiProject = pIgmdiProject_ , _igmdiInstanceGroupManager = pIgmdiInstanceGroupManager_ , _igmdiZone = pIgmdiZone_ , _igmdiPayload = pIgmdiPayload_ } --- | The project ID for this request.+-- | Project ID for this request. igmdiProject :: Lens' InstanceGroupManagersDeleteInstances Text igmdiProject = lens _igmdiProject (\ s a -> s{_igmdiProject = a})@@ -131,8 +131,11 @@ InstanceGroupManagersDeleteInstances where type Rs InstanceGroupManagersDeleteInstances = Operation+ type Scopes InstanceGroupManagersDeleteInstances =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"] requestClient- InstanceGroupManagersDeleteInstances{..}+ InstanceGroupManagersDeleteInstances'{..} = go _igmdiProject _igmdiZone _igmdiInstanceGroupManager (Just AltJSON)
gen/Network/Google/Resource/Compute/InstanceGroupManagers/Get.hs view
@@ -14,13 +14,15 @@ -- | -- Module : Network.Google.Resource.Compute.InstanceGroupManagers.Get--- Copyright : (c) 2015 Brendan Hay+-- 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 all of the details about the specified managed instance group.+-- Get a list of available managed instance groups by making a list()+-- request. -- -- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.instanceGroupManagers.get@. module Network.Google.Resource.Compute.InstanceGroupManagers.Get@@ -56,9 +58,11 @@ Get '[JSON] InstanceGroupManager -- | Returns all of the details about the specified managed instance group.+-- Get a list of available managed instance groups by making a list()+-- request. -- -- /See:/ 'instanceGroupManagersGet' smart constructor.-data InstanceGroupManagersGet = InstanceGroupManagersGet+data InstanceGroupManagersGet = InstanceGroupManagersGet' { _igmgProject :: !Text , _igmgInstanceGroupManager :: !Text , _igmgZone :: !Text@@ -79,13 +83,13 @@ -> Text -- ^ 'igmgZone' -> InstanceGroupManagersGet instanceGroupManagersGet pIgmgProject_ pIgmgInstanceGroupManager_ pIgmgZone_ =- InstanceGroupManagersGet+ InstanceGroupManagersGet' { _igmgProject = pIgmgProject_ , _igmgInstanceGroupManager = pIgmgInstanceGroupManager_ , _igmgZone = pIgmgZone_ } --- | The project ID for this request.+-- | Project ID for this request. igmgProject :: Lens' InstanceGroupManagersGet Text igmgProject = lens _igmgProject (\ s a -> s{_igmgProject = a})@@ -103,7 +107,11 @@ instance GoogleRequest InstanceGroupManagersGet where type Rs InstanceGroupManagersGet = InstanceGroupManager- requestClient InstanceGroupManagersGet{..}+ type Scopes InstanceGroupManagersGet =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute",+ "https://www.googleapis.com/auth/compute.readonly"]+ requestClient InstanceGroupManagersGet'{..} = go _igmgProject _igmgZone _igmgInstanceGroupManager (Just AltJSON) computeService
gen/Network/Google/Resource/Compute/InstanceGroupManagers/Insert.hs view
@@ -14,7 +14,7 @@ -- | -- Module : Network.Google.Resource.Compute.InstanceGroupManagers.Insert--- Copyright : (c) 2015 Brendan Hay+-- Copyright : (c) 2015-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -70,7 +70,7 @@ -- listmanagedinstances method. -- -- /See:/ 'instanceGroupManagersInsert' smart constructor.-data InstanceGroupManagersInsert = InstanceGroupManagersInsert+data InstanceGroupManagersInsert = InstanceGroupManagersInsert' { _igmiProject :: !Text , _igmiZone :: !Text , _igmiPayload :: !InstanceGroupManager@@ -91,13 +91,13 @@ -> InstanceGroupManager -- ^ 'igmiPayload' -> InstanceGroupManagersInsert instanceGroupManagersInsert pIgmiProject_ pIgmiZone_ pIgmiPayload_ =- InstanceGroupManagersInsert+ InstanceGroupManagersInsert' { _igmiProject = pIgmiProject_ , _igmiZone = pIgmiZone_ , _igmiPayload = pIgmiPayload_ } --- | The project ID for this request.+-- | Project ID for this request. igmiProject :: Lens' InstanceGroupManagersInsert Text igmiProject = lens _igmiProject (\ s a -> s{_igmiProject = a})@@ -115,7 +115,10 @@ instance GoogleRequest InstanceGroupManagersInsert where type Rs InstanceGroupManagersInsert = Operation- requestClient InstanceGroupManagersInsert{..}+ type Scopes InstanceGroupManagersInsert =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient InstanceGroupManagersInsert'{..} = go _igmiProject _igmiZone (Just AltJSON) _igmiPayload computeService
gen/Network/Google/Resource/Compute/InstanceGroupManagers/List.hs view
@@ -14,7 +14,7 @@ -- | -- Module : Network.Google.Resource.Compute.InstanceGroupManagers.List--- Copyright : (c) 2015 Brendan Hay+-- Copyright : (c) 2015-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -64,7 +64,7 @@ -- the specified project and zone. -- -- /See:/ 'instanceGroupManagersList' smart constructor.-data InstanceGroupManagersList = InstanceGroupManagersList+data InstanceGroupManagersList = InstanceGroupManagersList' { _igmlProject :: !Text , _igmlZone :: !Text , _igmlFilter :: !(Maybe Text)@@ -90,7 +90,7 @@ -> Text -- ^ 'igmlZone' -> InstanceGroupManagersList instanceGroupManagersList pIgmlProject_ pIgmlZone_ =- InstanceGroupManagersList+ InstanceGroupManagersList' { _igmlProject = pIgmlProject_ , _igmlZone = pIgmlZone_ , _igmlFilter = Nothing@@ -98,7 +98,7 @@ , _igmlMaxResults = 500 } --- | The project ID for this request.+-- | Project ID for this request. igmlProject :: Lens' InstanceGroupManagersList Text igmlProject = lens _igmlProject (\ s a -> s{_igmlProject = a})@@ -108,29 +108,41 @@ igmlZone = lens _igmlZone (\ s a -> s{_igmlZone = 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+-- 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--- (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, filter=name ne--- example-instance.+-- (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. Compute Engine Beta API Only: When+-- filtering in the Beta API, you can also 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. igmlFilter :: Lens' InstanceGroupManagersList (Maybe Text) igmlFilter = lens _igmlFilter (\ s a -> s{_igmlFilter = a}) --- | Specifies a page token to use. Use this parameter if you want to list--- the next page of results. Set pageToken to the nextPageToken returned by--- a previous list request.+-- | Specifies a page token to use. Set pageToken to the nextPageToken+-- returned by a previous list request to get the next page of results. igmlPageToken :: Lens' InstanceGroupManagersList (Maybe Text) igmlPageToken = lens _igmlPageToken (\ s a -> s{_igmlPageToken = a}) --- | Maximum count of results to be returned.+-- | 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. igmlMaxResults :: Lens' InstanceGroupManagersList Word32 igmlMaxResults = lens _igmlMaxResults@@ -141,7 +153,11 @@ where type Rs InstanceGroupManagersList = InstanceGroupManagerList- requestClient InstanceGroupManagersList{..}+ type Scopes InstanceGroupManagersList =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute",+ "https://www.googleapis.com/auth/compute.readonly"]+ requestClient InstanceGroupManagersList'{..} = go _igmlProject _igmlZone _igmlFilter _igmlPageToken (Just _igmlMaxResults)
gen/Network/Google/Resource/Compute/InstanceGroupManagers/ListManagedInstances.hs view
@@ -14,7 +14,7 @@ -- | -- Module : Network.Google.Resource.Compute.InstanceGroupManagers.ListManagedInstances--- Copyright : (c) 2015 Brendan Hay+-- Copyright : (c) 2015-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -71,7 +71,7 @@ -- failed action. -- -- /See:/ 'instanceGroupManagersListManagedInstances' smart constructor.-data InstanceGroupManagersListManagedInstances = InstanceGroupManagersListManagedInstances+data InstanceGroupManagersListManagedInstances = InstanceGroupManagersListManagedInstances' { _igmlmiProject :: !Text , _igmlmiInstanceGroupManager :: !Text , _igmlmiZone :: !Text@@ -92,13 +92,13 @@ -> Text -- ^ 'igmlmiZone' -> InstanceGroupManagersListManagedInstances instanceGroupManagersListManagedInstances pIgmlmiProject_ pIgmlmiInstanceGroupManager_ pIgmlmiZone_ =- InstanceGroupManagersListManagedInstances+ InstanceGroupManagersListManagedInstances' { _igmlmiProject = pIgmlmiProject_ , _igmlmiInstanceGroupManager = pIgmlmiInstanceGroupManager_ , _igmlmiZone = pIgmlmiZone_ } --- | The project ID for this request.+-- | Project ID for this request. igmlmiProject :: Lens' InstanceGroupManagersListManagedInstances Text igmlmiProject = lens _igmlmiProject@@ -119,8 +119,13 @@ InstanceGroupManagersListManagedInstances where type Rs InstanceGroupManagersListManagedInstances = InstanceGroupManagersListManagedInstancesResponse+ type Scopes InstanceGroupManagersListManagedInstances+ =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute",+ "https://www.googleapis.com/auth/compute.readonly"] requestClient- InstanceGroupManagersListManagedInstances{..}+ InstanceGroupManagersListManagedInstances'{..} = go _igmlmiProject _igmlmiZone _igmlmiInstanceGroupManager (Just AltJSON)
gen/Network/Google/Resource/Compute/InstanceGroupManagers/RecreateInstances.hs view
@@ -14,7 +14,7 @@ -- | -- Module : Network.Google.Resource.Compute.InstanceGroupManagers.RecreateInstances--- Copyright : (c) 2015 Brendan Hay+-- Copyright : (c) 2015-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -72,7 +72,7 @@ -- status of the recreating action with the listmanagedinstances method. -- -- /See:/ 'instanceGroupManagersRecreateInstances' smart constructor.-data InstanceGroupManagersRecreateInstances = InstanceGroupManagersRecreateInstances+data InstanceGroupManagersRecreateInstances = InstanceGroupManagersRecreateInstances' { _igmriProject :: !Text , _igmriInstanceGroupManager :: !Text , _igmriZone :: !Text@@ -97,14 +97,14 @@ -> InstanceGroupManagersRecreateInstancesRequest -- ^ 'igmriPayload' -> InstanceGroupManagersRecreateInstances instanceGroupManagersRecreateInstances pIgmriProject_ pIgmriInstanceGroupManager_ pIgmriZone_ pIgmriPayload_ =- InstanceGroupManagersRecreateInstances+ InstanceGroupManagersRecreateInstances' { _igmriProject = pIgmriProject_ , _igmriInstanceGroupManager = pIgmriInstanceGroupManager_ , _igmriZone = pIgmriZone_ , _igmriPayload = pIgmriPayload_ } --- | The project ID for this request.+-- | Project ID for this request. igmriProject :: Lens' InstanceGroupManagersRecreateInstances Text igmriProject = lens _igmriProject (\ s a -> s{_igmriProject = a})@@ -129,8 +129,11 @@ InstanceGroupManagersRecreateInstances where type Rs InstanceGroupManagersRecreateInstances = Operation+ type Scopes InstanceGroupManagersRecreateInstances =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"] requestClient- InstanceGroupManagersRecreateInstances{..}+ InstanceGroupManagersRecreateInstances'{..} = go _igmriProject _igmriZone _igmriInstanceGroupManager (Just AltJSON)
gen/Network/Google/Resource/Compute/InstanceGroupManagers/Resize.hs view
@@ -14,7 +14,7 @@ -- | -- Module : Network.Google.Resource.Compute.InstanceGroupManagers.Resize--- Copyright : (c) 2015 Brendan Hay+-- Copyright : (c) 2015-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -72,7 +72,7 @@ -- method. -- -- /See:/ 'instanceGroupManagersResize' smart constructor.-data InstanceGroupManagersResize = InstanceGroupManagersResize+data InstanceGroupManagersResize = InstanceGroupManagersResize' { _igmrProject :: !Text , _igmrSize :: !(Textual Int32) , _igmrInstanceGroupManager :: !Text@@ -97,14 +97,14 @@ -> Text -- ^ 'igmrZone' -> InstanceGroupManagersResize instanceGroupManagersResize pIgmrProject_ pIgmrSize_ pIgmrInstanceGroupManager_ pIgmrZone_ =- InstanceGroupManagersResize+ InstanceGroupManagersResize' { _igmrProject = pIgmrProject_ , _igmrSize = _Coerce # pIgmrSize_ , _igmrInstanceGroupManager = pIgmrInstanceGroupManager_ , _igmrZone = pIgmrZone_ } --- | The project ID for this request.+-- | Project ID for this request. igmrProject :: Lens' InstanceGroupManagersResize Text igmrProject = lens _igmrProject (\ s a -> s{_igmrProject = a})@@ -131,7 +131,10 @@ instance GoogleRequest InstanceGroupManagersResize where type Rs InstanceGroupManagersResize = Operation- requestClient InstanceGroupManagersResize{..}+ type Scopes InstanceGroupManagersResize =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient InstanceGroupManagersResize'{..} = go _igmrProject _igmrZone _igmrInstanceGroupManager (Just _igmrSize) (Just AltJSON)
gen/Network/Google/Resource/Compute/InstanceGroupManagers/SetInstanceTemplate.hs view
@@ -14,7 +14,7 @@ -- | -- Module : Network.Google.Resource.Compute.InstanceGroupManagers.SetInstanceTemplate--- Copyright : (c) 2015 Brendan Hay+-- Copyright : (c) 2015-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -67,7 +67,7 @@ -- change unless you recreate them. -- -- /See:/ 'instanceGroupManagersSetInstanceTemplate' smart constructor.-data InstanceGroupManagersSetInstanceTemplate = InstanceGroupManagersSetInstanceTemplate+data InstanceGroupManagersSetInstanceTemplate = InstanceGroupManagersSetInstanceTemplate' { _igmsitProject :: !Text , _igmsitInstanceGroupManager :: !Text , _igmsitZone :: !Text@@ -92,14 +92,14 @@ -> InstanceGroupManagersSetInstanceTemplateRequest -- ^ 'igmsitPayload' -> InstanceGroupManagersSetInstanceTemplate instanceGroupManagersSetInstanceTemplate pIgmsitProject_ pIgmsitInstanceGroupManager_ pIgmsitZone_ pIgmsitPayload_ =- InstanceGroupManagersSetInstanceTemplate+ InstanceGroupManagersSetInstanceTemplate' { _igmsitProject = pIgmsitProject_ , _igmsitInstanceGroupManager = pIgmsitInstanceGroupManager_ , _igmsitZone = pIgmsitZone_ , _igmsitPayload = pIgmsitPayload_ } --- | The project ID for this request.+-- | Project ID for this request. igmsitProject :: Lens' InstanceGroupManagersSetInstanceTemplate Text igmsitProject = lens _igmsitProject@@ -126,8 +126,12 @@ InstanceGroupManagersSetInstanceTemplate where type Rs InstanceGroupManagersSetInstanceTemplate = Operation+ type Scopes InstanceGroupManagersSetInstanceTemplate+ =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"] requestClient- InstanceGroupManagersSetInstanceTemplate{..}+ InstanceGroupManagersSetInstanceTemplate'{..} = go _igmsitProject _igmsitZone _igmsitInstanceGroupManager (Just AltJSON)
gen/Network/Google/Resource/Compute/InstanceGroupManagers/SetTargetPools.hs view
@@ -14,7 +14,7 @@ -- | -- Module : Network.Google.Resource.Compute.InstanceGroupManagers.SetTargetPools--- Copyright : (c) 2015 Brendan Hay+-- Copyright : (c) 2015-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -72,7 +72,7 @@ -- all of the instances in the group depending on the size of the group. -- -- /See:/ 'instanceGroupManagersSetTargetPools' smart constructor.-data InstanceGroupManagersSetTargetPools = InstanceGroupManagersSetTargetPools+data InstanceGroupManagersSetTargetPools = InstanceGroupManagersSetTargetPools' { _igmstpProject :: !Text , _igmstpInstanceGroupManager :: !Text , _igmstpZone :: !Text@@ -97,14 +97,14 @@ -> InstanceGroupManagersSetTargetPoolsRequest -- ^ 'igmstpPayload' -> InstanceGroupManagersSetTargetPools instanceGroupManagersSetTargetPools pIgmstpProject_ pIgmstpInstanceGroupManager_ pIgmstpZone_ pIgmstpPayload_ =- InstanceGroupManagersSetTargetPools+ InstanceGroupManagersSetTargetPools' { _igmstpProject = pIgmstpProject_ , _igmstpInstanceGroupManager = pIgmstpInstanceGroupManager_ , _igmstpZone = pIgmstpZone_ , _igmstpPayload = pIgmstpPayload_ } --- | The project ID for this request.+-- | Project ID for this request. igmstpProject :: Lens' InstanceGroupManagersSetTargetPools Text igmstpProject = lens _igmstpProject@@ -131,7 +131,11 @@ InstanceGroupManagersSetTargetPools where type Rs InstanceGroupManagersSetTargetPools = Operation- requestClient InstanceGroupManagersSetTargetPools{..}+ type Scopes InstanceGroupManagersSetTargetPools =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient+ InstanceGroupManagersSetTargetPools'{..} = go _igmstpProject _igmstpZone _igmstpInstanceGroupManager (Just AltJSON)
gen/Network/Google/Resource/Compute/InstanceGroups/AddInstances.hs view
@@ -14,7 +14,7 @@ -- | -- Module : Network.Google.Resource.Compute.InstanceGroups.AddInstances--- Copyright : (c) 2015 Brendan Hay+-- Copyright : (c) 2015-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -22,7 +22,7 @@ -- -- Adds a list of instances to the specified instance group. All of the -- instances in the instance group must be in the same network\/subnetwork.--- TODO: Change to comment to state \"if IG is load balanced.\"+-- Read Adding instances for more information. -- -- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.instanceGroups.addInstances@. module Network.Google.Resource.Compute.InstanceGroups.AddInstances@@ -62,10 +62,10 @@ -- | Adds a list of instances to the specified instance group. All of the -- instances in the instance group must be in the same network\/subnetwork.--- TODO: Change to comment to state \"if IG is load balanced.\"+-- Read Adding instances for more information. -- -- /See:/ 'instanceGroupsAddInstances' smart constructor.-data InstanceGroupsAddInstances = InstanceGroupsAddInstances+data InstanceGroupsAddInstances = InstanceGroupsAddInstances' { _igaiProject :: !Text , _igaiZone :: !Text , _igaiPayload :: !InstanceGroupsAddInstancesRequest@@ -90,14 +90,14 @@ -> Text -- ^ 'igaiInstanceGroup' -> InstanceGroupsAddInstances instanceGroupsAddInstances pIgaiProject_ pIgaiZone_ pIgaiPayload_ pIgaiInstanceGroup_ =- InstanceGroupsAddInstances+ InstanceGroupsAddInstances' { _igaiProject = pIgaiProject_ , _igaiZone = pIgaiZone_ , _igaiPayload = pIgaiPayload_ , _igaiInstanceGroup = pIgaiInstanceGroup_ } --- | The project ID for this request.+-- | Project ID for this request. igaiProject :: Lens' InstanceGroupsAddInstances Text igaiProject = lens _igaiProject (\ s a -> s{_igaiProject = a})@@ -120,7 +120,10 @@ instance GoogleRequest InstanceGroupsAddInstances where type Rs InstanceGroupsAddInstances = Operation- requestClient InstanceGroupsAddInstances{..}+ type Scopes InstanceGroupsAddInstances =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient InstanceGroupsAddInstances'{..} = go _igaiProject _igaiZone _igaiInstanceGroup (Just AltJSON) _igaiPayload
gen/Network/Google/Resource/Compute/InstanceGroups/AggregatedList.hs view
@@ -14,7 +14,7 @@ -- | -- Module : Network.Google.Resource.Compute.InstanceGroups.AggregatedList--- Copyright : (c) 2015 Brendan Hay+-- Copyright : (c) 2015-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -60,7 +60,7 @@ -- | Retrieves the list of instance groups and sorts them by zone. -- -- /See:/ 'instanceGroupsAggregatedList' smart constructor.-data InstanceGroupsAggregatedList = InstanceGroupsAggregatedList+data InstanceGroupsAggregatedList = InstanceGroupsAggregatedList' { _igalProject :: !Text , _igalFilter :: !(Maybe Text) , _igalPageToken :: !(Maybe Text)@@ -82,42 +82,54 @@ :: Text -- ^ 'igalProject' -> InstanceGroupsAggregatedList instanceGroupsAggregatedList pIgalProject_ =- InstanceGroupsAggregatedList+ InstanceGroupsAggregatedList' { _igalProject = pIgalProject_ , _igalFilter = Nothing , _igalPageToken = Nothing , _igalMaxResults = 500 } --- | The project ID for this request.+-- | Project ID for this request. igalProject :: Lens' InstanceGroupsAggregatedList Text igalProject = lens _igalProject (\ s a -> s{_igalProject = 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+-- 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--- (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, filter=name ne--- example-instance.+-- (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. Compute Engine Beta API Only: When+-- filtering in the Beta API, you can also 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. igalFilter :: Lens' InstanceGroupsAggregatedList (Maybe Text) igalFilter = lens _igalFilter (\ s a -> s{_igalFilter = a}) --- | Specifies a page token to use. Use this parameter if you want to list--- the next page of results. Set pageToken to the nextPageToken returned by--- a previous list request.+-- | Specifies a page token to use. Set pageToken to the nextPageToken+-- returned by a previous list request to get the next page of results. igalPageToken :: Lens' InstanceGroupsAggregatedList (Maybe Text) igalPageToken = lens _igalPageToken (\ s a -> s{_igalPageToken = a}) --- | Maximum count of results to be returned.+-- | 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. igalMaxResults :: Lens' InstanceGroupsAggregatedList Word32 igalMaxResults = lens _igalMaxResults@@ -128,7 +140,11 @@ where type Rs InstanceGroupsAggregatedList = InstanceGroupAggregatedList- requestClient InstanceGroupsAggregatedList{..}+ type Scopes InstanceGroupsAggregatedList =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute",+ "https://www.googleapis.com/auth/compute.readonly"]+ requestClient InstanceGroupsAggregatedList'{..} = go _igalProject _igalFilter _igalPageToken (Just _igalMaxResults) (Just AltJSON)
gen/Network/Google/Resource/Compute/InstanceGroups/Delete.hs view
@@ -14,14 +14,15 @@ -- | -- Module : Network.Google.Resource.Compute.InstanceGroups.Delete--- Copyright : (c) 2015 Brendan Hay+-- 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 instance group. The instances in the group are not--- deleted.+-- deleted. Note that instance group must not belong to a backend service.+-- Read Deleting an instance group for more information. -- -- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.instanceGroups.delete@. module Network.Google.Resource.Compute.InstanceGroups.Delete@@ -56,10 +57,11 @@ QueryParam "alt" AltJSON :> Delete '[JSON] Operation -- | Deletes the specified instance group. The instances in the group are not--- deleted.+-- deleted. Note that instance group must not belong to a backend service.+-- Read Deleting an instance group for more information. -- -- /See:/ 'instanceGroupsDelete' smart constructor.-data InstanceGroupsDelete = InstanceGroupsDelete+data InstanceGroupsDelete = InstanceGroupsDelete' { _igdProject :: !Text , _igdZone :: !Text , _igdInstanceGroup :: !Text@@ -80,13 +82,13 @@ -> Text -- ^ 'igdInstanceGroup' -> InstanceGroupsDelete instanceGroupsDelete pIgdProject_ pIgdZone_ pIgdInstanceGroup_ =- InstanceGroupsDelete+ InstanceGroupsDelete' { _igdProject = pIgdProject_ , _igdZone = pIgdZone_ , _igdInstanceGroup = pIgdInstanceGroup_ } --- | The project ID for this request.+-- | Project ID for this request. igdProject :: Lens' InstanceGroupsDelete Text igdProject = lens _igdProject (\ s a -> s{_igdProject = a})@@ -103,7 +105,10 @@ instance GoogleRequest InstanceGroupsDelete where type Rs InstanceGroupsDelete = Operation- requestClient InstanceGroupsDelete{..}+ type Scopes InstanceGroupsDelete =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient InstanceGroupsDelete'{..} = go _igdProject _igdZone _igdInstanceGroup (Just AltJSON) computeService
gen/Network/Google/Resource/Compute/InstanceGroups/Get.hs view
@@ -14,13 +14,14 @@ -- | -- Module : Network.Google.Resource.Compute.InstanceGroups.Get--- Copyright : (c) 2015 Brendan Hay+-- 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 instance group resource.+-- Returns the specified instance group. Get a list of available instance+-- groups by making a list() request. -- -- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.instanceGroups.get@. module Network.Google.Resource.Compute.InstanceGroups.Get@@ -54,10 +55,11 @@ Capture "instanceGroup" Text :> QueryParam "alt" AltJSON :> Get '[JSON] InstanceGroup --- | Returns the specified instance group resource.+-- | Returns the specified instance group. Get a list of available instance+-- groups by making a list() request. -- -- /See:/ 'instanceGroupsGet' smart constructor.-data InstanceGroupsGet = InstanceGroupsGet+data InstanceGroupsGet = InstanceGroupsGet' { _iggProject :: !Text , _iggZone :: !Text , _iggInstanceGroup :: !Text@@ -78,13 +80,13 @@ -> Text -- ^ 'iggInstanceGroup' -> InstanceGroupsGet instanceGroupsGet pIggProject_ pIggZone_ pIggInstanceGroup_ =- InstanceGroupsGet+ InstanceGroupsGet' { _iggProject = pIggProject_ , _iggZone = pIggZone_ , _iggInstanceGroup = pIggInstanceGroup_ } --- | The project ID for this request.+-- | Project ID for this request. iggProject :: Lens' InstanceGroupsGet Text iggProject = lens _iggProject (\ s a -> s{_iggProject = a})@@ -101,7 +103,11 @@ instance GoogleRequest InstanceGroupsGet where type Rs InstanceGroupsGet = InstanceGroup- requestClient InstanceGroupsGet{..}+ type Scopes InstanceGroupsGet =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute",+ "https://www.googleapis.com/auth/compute.readonly"]+ requestClient InstanceGroupsGet'{..} = go _iggProject _iggZone _iggInstanceGroup (Just AltJSON) computeService
gen/Network/Google/Resource/Compute/InstanceGroups/Insert.hs view
@@ -14,7 +14,7 @@ -- | -- Module : Network.Google.Resource.Compute.InstanceGroups.Insert--- Copyright : (c) 2015 Brendan Hay+-- Copyright : (c) 2015-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -60,7 +60,7 @@ -- that are included in the request. -- -- /See:/ 'instanceGroupsInsert' smart constructor.-data InstanceGroupsInsert = InstanceGroupsInsert+data InstanceGroupsInsert = InstanceGroupsInsert' { _igiProject :: !Text , _igiZone :: !Text , _igiPayload :: !InstanceGroup@@ -81,13 +81,13 @@ -> InstanceGroup -- ^ 'igiPayload' -> InstanceGroupsInsert instanceGroupsInsert pIgiProject_ pIgiZone_ pIgiPayload_ =- InstanceGroupsInsert+ InstanceGroupsInsert' { _igiProject = pIgiProject_ , _igiZone = pIgiZone_ , _igiPayload = pIgiPayload_ } --- | The project ID for this request.+-- | Project ID for this request. igiProject :: Lens' InstanceGroupsInsert Text igiProject = lens _igiProject (\ s a -> s{_igiProject = a})@@ -103,7 +103,10 @@ instance GoogleRequest InstanceGroupsInsert where type Rs InstanceGroupsInsert = Operation- requestClient InstanceGroupsInsert{..}+ type Scopes InstanceGroupsInsert =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient InstanceGroupsInsert'{..} = go _igiProject _igiZone (Just AltJSON) _igiPayload computeService where go
gen/Network/Google/Resource/Compute/InstanceGroups/List.hs view
@@ -14,7 +14,7 @@ -- | -- Module : Network.Google.Resource.Compute.InstanceGroups.List--- Copyright : (c) 2015 Brendan Hay+-- Copyright : (c) 2015-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -64,7 +64,7 @@ -- project and zone. -- -- /See:/ 'instanceGroupsList' smart constructor.-data InstanceGroupsList = InstanceGroupsList+data InstanceGroupsList = InstanceGroupsList' { _iglProject :: !Text , _iglZone :: !Text , _iglFilter :: !(Maybe Text)@@ -90,7 +90,7 @@ -> Text -- ^ 'iglZone' -> InstanceGroupsList instanceGroupsList pIglProject_ pIglZone_ =- InstanceGroupsList+ InstanceGroupsList' { _iglProject = pIglProject_ , _iglZone = pIglZone_ , _iglFilter = Nothing@@ -98,7 +98,7 @@ , _iglMaxResults = 500 } --- | The project ID for this request.+-- | Project ID for this request. iglProject :: Lens' InstanceGroupsList Text iglProject = lens _iglProject (\ s a -> s{_iglProject = a})@@ -108,28 +108,40 @@ iglZone = lens _iglZone (\ s a -> s{_iglZone = 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+-- 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--- (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, filter=name ne--- example-instance.+-- (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. Compute Engine Beta API Only: When+-- filtering in the Beta API, you can also 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. iglFilter :: Lens' InstanceGroupsList (Maybe Text) iglFilter = lens _iglFilter (\ s a -> s{_iglFilter = a}) --- | Specifies a page token to use. Use this parameter if you want to list--- the next page of results. Set pageToken to the nextPageToken returned by--- a previous list request.+-- | Specifies a page token to use. Set pageToken to the nextPageToken+-- returned by a previous list request to get the next page of results. iglPageToken :: Lens' InstanceGroupsList (Maybe Text) iglPageToken = lens _iglPageToken (\ s a -> s{_iglPageToken = a}) --- | Maximum count of results to be returned.+-- | 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. iglMaxResults :: Lens' InstanceGroupsList Word32 iglMaxResults = lens _iglMaxResults@@ -138,7 +150,11 @@ instance GoogleRequest InstanceGroupsList where type Rs InstanceGroupsList = InstanceGroupList- requestClient InstanceGroupsList{..}+ type Scopes InstanceGroupsList =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute",+ "https://www.googleapis.com/auth/compute.readonly"]+ requestClient InstanceGroupsList'{..} = go _iglProject _iglZone _iglFilter _iglPageToken (Just _iglMaxResults) (Just AltJSON)
gen/Network/Google/Resource/Compute/InstanceGroups/ListInstances.hs view
@@ -14,7 +14,7 @@ -- | -- Module : Network.Google.Resource.Compute.InstanceGroups.ListInstances--- Copyright : (c) 2015 Brendan Hay+-- Copyright : (c) 2015-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -68,7 +68,7 @@ -- | Lists the instances in the specified instance group. -- -- /See:/ 'instanceGroupsListInstances'' smart constructor.-data InstanceGroupsListInstances' = InstanceGroupsListInstances'+data InstanceGroupsListInstances' = InstanceGroupsListInstances'' { _igliProject :: !Text , _igliZone :: !Text , _igliPayload :: !InstanceGroupsListInstancesRequest@@ -102,7 +102,7 @@ -> Text -- ^ 'igliInstanceGroup' -> InstanceGroupsListInstances' instanceGroupsListInstances' pIgliProject_ pIgliZone_ pIgliPayload_ pIgliInstanceGroup_ =- InstanceGroupsListInstances'+ InstanceGroupsListInstances'' { _igliProject = pIgliProject_ , _igliZone = pIgliZone_ , _igliPayload = pIgliPayload_@@ -112,7 +112,7 @@ , _igliMaxResults = 500 } --- | The project ID for this request.+-- | Project ID for this request. igliProject :: Lens' InstanceGroupsListInstances' Text igliProject = lens _igliProject (\ s a -> s{_igliProject = a})@@ -127,23 +127,32 @@ = lens _igliPayload (\ s a -> s{_igliPayload = 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+-- 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--- (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, filter=name ne--- example-instance.+-- (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. Compute Engine Beta API Only: When+-- filtering in the Beta API, you can also 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. igliFilter :: Lens' InstanceGroupsListInstances' (Maybe Text) igliFilter = lens _igliFilter (\ s a -> s{_igliFilter = a}) --- | Specifies a page token to use. Use this parameter if you want to list--- the next page of results. Set pageToken to the nextPageToken returned by--- a previous list request.+-- | Specifies a page token to use. Set pageToken to the nextPageToken+-- returned by a previous list request to get the next page of results. igliPageToken :: Lens' InstanceGroupsListInstances' (Maybe Text) igliPageToken = lens _igliPageToken@@ -156,7 +165,10 @@ = lens _igliInstanceGroup (\ s a -> s{_igliInstanceGroup = a}) --- | Maximum count of results to be returned.+-- | 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. igliMaxResults :: Lens' InstanceGroupsListInstances' Word32 igliMaxResults = lens _igliMaxResults@@ -167,7 +179,11 @@ where type Rs InstanceGroupsListInstances' = InstanceGroupsListInstances- requestClient InstanceGroupsListInstances'{..}+ type Scopes InstanceGroupsListInstances' =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute",+ "https://www.googleapis.com/auth/compute.readonly"]+ requestClient InstanceGroupsListInstances''{..} = go _igliProject _igliZone _igliInstanceGroup _igliFilter _igliPageToken
gen/Network/Google/Resource/Compute/InstanceGroups/RemoveInstances.hs view
@@ -14,7 +14,7 @@ -- | -- Module : Network.Google.Resource.Compute.InstanceGroups.RemoveInstances--- Copyright : (c) 2015 Brendan Hay+-- Copyright : (c) 2015-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -63,7 +63,7 @@ -- does not delete those instances. -- -- /See:/ 'instanceGroupsRemoveInstances' smart constructor.-data InstanceGroupsRemoveInstances = InstanceGroupsRemoveInstances+data InstanceGroupsRemoveInstances = InstanceGroupsRemoveInstances' { _igriProject :: !Text , _igriZone :: !Text , _igriPayload :: !InstanceGroupsRemoveInstancesRequest@@ -88,14 +88,14 @@ -> Text -- ^ 'igriInstanceGroup' -> InstanceGroupsRemoveInstances instanceGroupsRemoveInstances pIgriProject_ pIgriZone_ pIgriPayload_ pIgriInstanceGroup_ =- InstanceGroupsRemoveInstances+ InstanceGroupsRemoveInstances' { _igriProject = pIgriProject_ , _igriZone = pIgriZone_ , _igriPayload = pIgriPayload_ , _igriInstanceGroup = pIgriInstanceGroup_ } --- | The project ID for this request.+-- | Project ID for this request. igriProject :: Lens' InstanceGroupsRemoveInstances Text igriProject = lens _igriProject (\ s a -> s{_igriProject = a})@@ -119,7 +119,10 @@ instance GoogleRequest InstanceGroupsRemoveInstances where type Rs InstanceGroupsRemoveInstances = Operation- requestClient InstanceGroupsRemoveInstances{..}+ type Scopes InstanceGroupsRemoveInstances =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient InstanceGroupsRemoveInstances'{..} = go _igriProject _igriZone _igriInstanceGroup (Just AltJSON) _igriPayload
gen/Network/Google/Resource/Compute/InstanceGroups/SetNamedPorts.hs view
@@ -14,7 +14,7 @@ -- | -- Module : Network.Google.Resource.Compute.InstanceGroups.SetNamedPorts--- Copyright : (c) 2015 Brendan Hay+-- Copyright : (c) 2015-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -61,7 +61,7 @@ -- | Sets the named ports for the specified instance group. -- -- /See:/ 'instanceGroupsSetNamedPorts' smart constructor.-data InstanceGroupsSetNamedPorts = InstanceGroupsSetNamedPorts+data InstanceGroupsSetNamedPorts = InstanceGroupsSetNamedPorts' { _igsnpProject :: !Text , _igsnpZone :: !Text , _igsnpPayload :: !InstanceGroupsSetNamedPortsRequest@@ -86,14 +86,14 @@ -> Text -- ^ 'igsnpInstanceGroup' -> InstanceGroupsSetNamedPorts instanceGroupsSetNamedPorts pIgsnpProject_ pIgsnpZone_ pIgsnpPayload_ pIgsnpInstanceGroup_ =- InstanceGroupsSetNamedPorts+ InstanceGroupsSetNamedPorts' { _igsnpProject = pIgsnpProject_ , _igsnpZone = pIgsnpZone_ , _igsnpPayload = pIgsnpPayload_ , _igsnpInstanceGroup = pIgsnpInstanceGroup_ } --- | The project ID for this request.+-- | Project ID for this request. igsnpProject :: Lens' InstanceGroupsSetNamedPorts Text igsnpProject = lens _igsnpProject (\ s a -> s{_igsnpProject = a})@@ -117,7 +117,10 @@ instance GoogleRequest InstanceGroupsSetNamedPorts where type Rs InstanceGroupsSetNamedPorts = Operation- requestClient InstanceGroupsSetNamedPorts{..}+ type Scopes InstanceGroupsSetNamedPorts =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient InstanceGroupsSetNamedPorts'{..} = go _igsnpProject _igsnpZone _igsnpInstanceGroup (Just AltJSON) _igsnpPayload
gen/Network/Google/Resource/Compute/InstanceTemplates/Delete.hs view
@@ -14,13 +14,17 @@ -- | -- Module : Network.Google.Resource.Compute.InstanceTemplates.Delete--- Copyright : (c) 2015 Brendan Hay+-- 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 instance template.+-- Deletes the specified instance template. If you delete an instance+-- template that is being referenced from another instance group, the+-- instance group will not be able to create or recreate virtual machine+-- instances. Deleting an instance template is permanent and cannot be+-- undone. -- -- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.instanceTemplates.delete@. module Network.Google.Resource.Compute.InstanceTemplates.Delete@@ -52,10 +56,14 @@ Capture "instanceTemplate" Text :> QueryParam "alt" AltJSON :> Delete '[JSON] Operation --- | Deletes the specified instance template.+-- | Deletes the specified instance template. If you delete an instance+-- template that is being referenced from another instance group, the+-- instance group will not be able to create or recreate virtual machine+-- instances. Deleting an instance template is permanent and cannot be+-- undone. -- -- /See:/ 'instanceTemplatesDelete' smart constructor.-data InstanceTemplatesDelete = InstanceTemplatesDelete+data InstanceTemplatesDelete = InstanceTemplatesDelete' { _itdProject :: !Text , _itdInstanceTemplate :: !Text } deriving (Eq,Show,Data,Typeable,Generic)@@ -72,12 +80,12 @@ -> Text -- ^ 'itdInstanceTemplate' -> InstanceTemplatesDelete instanceTemplatesDelete pItdProject_ pItdInstanceTemplate_ =- InstanceTemplatesDelete+ InstanceTemplatesDelete' { _itdProject = pItdProject_ , _itdInstanceTemplate = pItdInstanceTemplate_ } --- | The project ID for this request.+-- | Project ID for this request. itdProject :: Lens' InstanceTemplatesDelete Text itdProject = lens _itdProject (\ s a -> s{_itdProject = a})@@ -90,7 +98,10 @@ instance GoogleRequest InstanceTemplatesDelete where type Rs InstanceTemplatesDelete = Operation- requestClient InstanceTemplatesDelete{..}+ type Scopes InstanceTemplatesDelete =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient InstanceTemplatesDelete'{..} = go _itdProject _itdInstanceTemplate (Just AltJSON) computeService where go
gen/Network/Google/Resource/Compute/InstanceTemplates/Get.hs view
@@ -14,13 +14,14 @@ -- | -- Module : Network.Google.Resource.Compute.InstanceTemplates.Get--- Copyright : (c) 2015 Brendan Hay+-- 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 instance template resource.+-- Returns the specified instance template. Get a list of available+-- instance templates by making a list() request. -- -- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.instanceTemplates.get@. module Network.Google.Resource.Compute.InstanceTemplates.Get@@ -53,10 +54,11 @@ QueryParam "alt" AltJSON :> Get '[JSON] InstanceTemplate --- | Returns the specified instance template resource.+-- | Returns the specified instance template. Get a list of available+-- instance templates by making a list() request. -- -- /See:/ 'instanceTemplatesGet' smart constructor.-data InstanceTemplatesGet = InstanceTemplatesGet+data InstanceTemplatesGet = InstanceTemplatesGet' { _itgProject :: !Text , _itgInstanceTemplate :: !Text } deriving (Eq,Show,Data,Typeable,Generic)@@ -73,12 +75,12 @@ -> Text -- ^ 'itgInstanceTemplate' -> InstanceTemplatesGet instanceTemplatesGet pItgProject_ pItgInstanceTemplate_ =- InstanceTemplatesGet+ InstanceTemplatesGet' { _itgProject = pItgProject_ , _itgInstanceTemplate = pItgInstanceTemplate_ } --- | The project ID for this request.+-- | Project ID for this request. itgProject :: Lens' InstanceTemplatesGet Text itgProject = lens _itgProject (\ s a -> s{_itgProject = a})@@ -91,7 +93,11 @@ instance GoogleRequest InstanceTemplatesGet where type Rs InstanceTemplatesGet = InstanceTemplate- requestClient InstanceTemplatesGet{..}+ type Scopes InstanceTemplatesGet =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute",+ "https://www.googleapis.com/auth/compute.readonly"]+ requestClient InstanceTemplatesGet'{..} = go _itgProject _itgInstanceTemplate (Just AltJSON) computeService where go
gen/Network/Google/Resource/Compute/InstanceTemplates/Insert.hs view
@@ -14,14 +14,17 @@ -- | -- Module : Network.Google.Resource.Compute.InstanceTemplates.Insert--- Copyright : (c) 2015 Brendan Hay+-- 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 an instance template in the specified project using the data--- that is included in the request.+-- that is included in the request. If you are creating a new template to+-- update an existing instance group, your new instance template must use+-- the same network or, if applicable, the same subnetwork as the original+-- template. -- -- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.instanceTemplates.insert@. module Network.Google.Resource.Compute.InstanceTemplates.Insert@@ -55,10 +58,13 @@ Post '[JSON] Operation -- | Creates an instance template in the specified project using the data--- that is included in the request.+-- that is included in the request. If you are creating a new template to+-- update an existing instance group, your new instance template must use+-- the same network or, if applicable, the same subnetwork as the original+-- template. -- -- /See:/ 'instanceTemplatesInsert' smart constructor.-data InstanceTemplatesInsert = InstanceTemplatesInsert+data InstanceTemplatesInsert = InstanceTemplatesInsert' { _itiProject :: !Text , _itiPayload :: !InstanceTemplate } deriving (Eq,Show,Data,Typeable,Generic)@@ -75,12 +81,12 @@ -> InstanceTemplate -- ^ 'itiPayload' -> InstanceTemplatesInsert instanceTemplatesInsert pItiProject_ pItiPayload_ =- InstanceTemplatesInsert+ InstanceTemplatesInsert' { _itiProject = pItiProject_ , _itiPayload = pItiPayload_ } --- | The project ID for this request.+-- | Project ID for this request. itiProject :: Lens' InstanceTemplatesInsert Text itiProject = lens _itiProject (\ s a -> s{_itiProject = a})@@ -92,7 +98,10 @@ instance GoogleRequest InstanceTemplatesInsert where type Rs InstanceTemplatesInsert = Operation- requestClient InstanceTemplatesInsert{..}+ type Scopes InstanceTemplatesInsert =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient InstanceTemplatesInsert'{..} = go _itiProject (Just AltJSON) _itiPayload computeService where go
gen/Network/Google/Resource/Compute/InstanceTemplates/List.hs view
@@ -14,7 +14,7 @@ -- | -- Module : Network.Google.Resource.Compute.InstanceTemplates.List--- Copyright : (c) 2015 Brendan Hay+-- Copyright : (c) 2015-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -62,7 +62,7 @@ -- specified project and zone. -- -- /See:/ 'instanceTemplatesList' smart constructor.-data InstanceTemplatesList = InstanceTemplatesList+data InstanceTemplatesList = InstanceTemplatesList' { _itlProject :: !Text , _itlFilter :: !(Maybe Text) , _itlPageToken :: !(Maybe Text)@@ -84,41 +84,53 @@ :: Text -- ^ 'itlProject' -> InstanceTemplatesList instanceTemplatesList pItlProject_ =- InstanceTemplatesList+ InstanceTemplatesList' { _itlProject = pItlProject_ , _itlFilter = Nothing , _itlPageToken = Nothing , _itlMaxResults = 500 } --- | The project ID for this request.+-- | Project ID for this request. itlProject :: Lens' InstanceTemplatesList Text itlProject = lens _itlProject (\ s a -> s{_itlProject = 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+-- 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--- (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, filter=name ne--- example-instance.+-- (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. Compute Engine Beta API Only: When+-- filtering in the Beta API, you can also 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. itlFilter :: Lens' InstanceTemplatesList (Maybe Text) itlFilter = lens _itlFilter (\ s a -> s{_itlFilter = a}) --- | Specifies a page token to use. Use this parameter if you want to list--- the next page of results. Set pageToken to the nextPageToken returned by--- a previous list request.+-- | Specifies a page token to use. Set pageToken to the nextPageToken+-- returned by a previous list request to get the next page of results. itlPageToken :: Lens' InstanceTemplatesList (Maybe Text) itlPageToken = lens _itlPageToken (\ s a -> s{_itlPageToken = a}) --- | Maximum count of results to be returned.+-- | 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. itlMaxResults :: Lens' InstanceTemplatesList Word32 itlMaxResults = lens _itlMaxResults@@ -127,7 +139,11 @@ instance GoogleRequest InstanceTemplatesList where type Rs InstanceTemplatesList = InstanceTemplateList- requestClient InstanceTemplatesList{..}+ type Scopes InstanceTemplatesList =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute",+ "https://www.googleapis.com/auth/compute.readonly"]+ requestClient InstanceTemplatesList'{..} = go _itlProject _itlFilter _itlPageToken (Just _itlMaxResults) (Just AltJSON)
gen/Network/Google/Resource/Compute/Instances/AddAccessConfig.hs view
@@ -14,7 +14,7 @@ -- | -- Module : Network.Google.Resource.Compute.Instances.AddAccessConfig--- Copyright : (c) 2015 Brendan Hay+-- Copyright : (c) 2015-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -63,7 +63,7 @@ -- | Adds an access config to an instance\'s network interface. -- -- /See:/ 'instancesAddAccessConfig' smart constructor.-data InstancesAddAccessConfig = InstancesAddAccessConfig+data InstancesAddAccessConfig = InstancesAddAccessConfig' { _iaacProject :: !Text , _iaacNetworkInterface :: !Text , _iaacZone :: !Text@@ -92,7 +92,7 @@ -> Text -- ^ 'iaacInstance' -> InstancesAddAccessConfig instancesAddAccessConfig pIaacProject_ pIaacNetworkInterface_ pIaacZone_ pIaacPayload_ pIaacInstance_ =- InstancesAddAccessConfig+ InstancesAddAccessConfig' { _iaacProject = pIaacProject_ , _iaacNetworkInterface = pIaacNetworkInterface_ , _iaacZone = pIaacZone_@@ -127,7 +127,10 @@ instance GoogleRequest InstancesAddAccessConfig where type Rs InstancesAddAccessConfig = Operation- requestClient InstancesAddAccessConfig{..}+ type Scopes InstancesAddAccessConfig =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient InstancesAddAccessConfig'{..} = go _iaacProject _iaacZone _iaacInstance (Just _iaacNetworkInterface) (Just AltJSON)
gen/Network/Google/Resource/Compute/Instances/AggregatedList.hs view
@@ -14,13 +14,13 @@ -- | -- Module : Network.Google.Resource.Compute.Instances.AggregatedList--- Copyright : (c) 2015 Brendan Hay+-- 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 aggregated list of instance resources.+-- Retrieves aggregated list of instances. -- -- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.instances.aggregatedList@. module Network.Google.Resource.Compute.Instances.AggregatedList@@ -57,10 +57,10 @@ QueryParam "alt" AltJSON :> Get '[JSON] InstanceAggregatedList --- | Retrieves aggregated list of instance resources.+-- | Retrieves aggregated list of instances. -- -- /See:/ 'instancesAggregatedList' smart constructor.-data InstancesAggregatedList = InstancesAggregatedList+data InstancesAggregatedList = InstancesAggregatedList' { _ialProject :: !Text , _ialFilter :: !(Maybe Text) , _ialPageToken :: !(Maybe Text)@@ -82,7 +82,7 @@ :: Text -- ^ 'ialProject' -> InstancesAggregatedList instancesAggregatedList pIalProject_ =- InstancesAggregatedList+ InstancesAggregatedList' { _ialProject = pIalProject_ , _ialFilter = Nothing , _ialPageToken = Nothing@@ -95,28 +95,40 @@ = lens _ialProject (\ s a -> s{_ialProject = 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+-- 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--- (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, filter=name ne--- example-instance.+-- (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. Compute Engine Beta API Only: When+-- filtering in the Beta API, you can also 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. ialFilter :: Lens' InstancesAggregatedList (Maybe Text) ialFilter = lens _ialFilter (\ s a -> s{_ialFilter = a}) --- | Specifies a page token to use. Use this parameter if you want to list--- the next page of results. Set pageToken to the nextPageToken returned by--- a previous list request.+-- | Specifies a page token to use. Set pageToken to the nextPageToken+-- returned by a previous list request to get the next page of results. ialPageToken :: Lens' InstancesAggregatedList (Maybe Text) ialPageToken = lens _ialPageToken (\ s a -> s{_ialPageToken = a}) --- | Maximum count of results to be returned.+-- | 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. ialMaxResults :: Lens' InstancesAggregatedList Word32 ialMaxResults = lens _ialMaxResults@@ -126,7 +138,11 @@ instance GoogleRequest InstancesAggregatedList where type Rs InstancesAggregatedList = InstanceAggregatedList- requestClient InstancesAggregatedList{..}+ type Scopes InstancesAggregatedList =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute",+ "https://www.googleapis.com/auth/compute.readonly"]+ requestClient InstancesAggregatedList'{..} = go _ialProject _ialFilter _ialPageToken (Just _ialMaxResults) (Just AltJSON)
gen/Network/Google/Resource/Compute/Instances/AttachDisk.hs view
@@ -14,7 +14,7 @@ -- | -- Module : Network.Google.Resource.Compute.Instances.AttachDisk--- Copyright : (c) 2015 Brendan Hay+-- Copyright : (c) 2015-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -61,7 +61,7 @@ -- | Attaches a Disk resource to an instance. -- -- /See:/ 'instancesAttachDisk' smart constructor.-data InstancesAttachDisk = InstancesAttachDisk+data InstancesAttachDisk = InstancesAttachDisk' { _iadProject :: !Text , _iadZone :: !Text , _iadPayload :: !AttachedDisk@@ -86,7 +86,7 @@ -> Text -- ^ 'iadInstance' -> InstancesAttachDisk instancesAttachDisk pIadProject_ pIadZone_ pIadPayload_ pIadInstance_ =- InstancesAttachDisk+ InstancesAttachDisk' { _iadProject = pIadProject_ , _iadZone = pIadZone_ , _iadPayload = pIadPayload_@@ -107,14 +107,17 @@ iadPayload = lens _iadPayload (\ s a -> s{_iadPayload = a}) --- | Instance name.+-- | The instance name for this request. iadInstance :: Lens' InstancesAttachDisk Text iadInstance = lens _iadInstance (\ s a -> s{_iadInstance = a}) instance GoogleRequest InstancesAttachDisk where type Rs InstancesAttachDisk = Operation- requestClient InstancesAttachDisk{..}+ type Scopes InstancesAttachDisk =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient InstancesAttachDisk'{..} = go _iadProject _iadZone _iadInstance (Just AltJSON) _iadPayload computeService
gen/Network/Google/Resource/Compute/Instances/Delete.hs view
@@ -14,14 +14,14 @@ -- | -- Module : Network.Google.Resource.Compute.Instances.Delete--- Copyright : (c) 2015 Brendan Hay+-- 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 Instance resource. For more information, see--- Shutting down an instance.+-- Stopping or Deleting an Instance. -- -- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.instances.delete@. module Network.Google.Resource.Compute.Instances.Delete@@ -56,10 +56,10 @@ QueryParam "alt" AltJSON :> Delete '[JSON] Operation -- | Deletes the specified Instance resource. For more information, see--- Shutting down an instance.+-- Stopping or Deleting an Instance. -- -- /See:/ 'instancesDelete' smart constructor.-data InstancesDelete = InstancesDelete+data InstancesDelete = InstancesDelete' { _idProject :: !Text , _idZone :: !Text , _idInstance :: !Text@@ -80,7 +80,7 @@ -> Text -- ^ 'idInstance' -> InstancesDelete instancesDelete pIdProject_ pIdZone_ pIdInstance_ =- InstancesDelete+ InstancesDelete' { _idProject = pIdProject_ , _idZone = pIdZone_ , _idInstance = pIdInstance_@@ -102,7 +102,10 @@ instance GoogleRequest InstancesDelete where type Rs InstancesDelete = Operation- requestClient InstancesDelete{..}+ type Scopes InstancesDelete =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient InstancesDelete'{..} = go _idProject _idZone _idInstance (Just AltJSON) computeService where go
gen/Network/Google/Resource/Compute/Instances/DeleteAccessConfig.hs view
@@ -14,7 +14,7 @@ -- | -- Module : Network.Google.Resource.Compute.Instances.DeleteAccessConfig--- Copyright : (c) 2015 Brendan Hay+-- Copyright : (c) 2015-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -62,7 +62,7 @@ -- | Deletes an access config from an instance\'s network interface. -- -- /See:/ 'instancesDeleteAccessConfig' smart constructor.-data InstancesDeleteAccessConfig = InstancesDeleteAccessConfig+data InstancesDeleteAccessConfig = InstancesDeleteAccessConfig' { _idacProject :: !Text , _idacNetworkInterface :: !Text , _idacZone :: !Text@@ -91,7 +91,7 @@ -> Text -- ^ 'idacInstance' -> InstancesDeleteAccessConfig instancesDeleteAccessConfig pIdacProject_ pIdacNetworkInterface_ pIdacZone_ pIdacAccessConfig_ pIdacInstance_ =- InstancesDeleteAccessConfig+ InstancesDeleteAccessConfig' { _idacProject = pIdacProject_ , _idacNetworkInterface = pIdacNetworkInterface_ , _idacZone = pIdacZone_@@ -128,7 +128,10 @@ instance GoogleRequest InstancesDeleteAccessConfig where type Rs InstancesDeleteAccessConfig = Operation- requestClient InstancesDeleteAccessConfig{..}+ type Scopes InstancesDeleteAccessConfig =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient InstancesDeleteAccessConfig'{..} = go _idacProject _idacZone _idacInstance (Just _idacAccessConfig) (Just _idacNetworkInterface)
gen/Network/Google/Resource/Compute/Instances/DetachDisk.hs view
@@ -14,7 +14,7 @@ -- | -- Module : Network.Google.Resource.Compute.Instances.DetachDisk--- Copyright : (c) 2015 Brendan Hay+-- Copyright : (c) 2015-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -60,7 +60,7 @@ -- | Detaches a disk from an instance. -- -- /See:/ 'instancesDetachDisk' smart constructor.-data InstancesDetachDisk = InstancesDetachDisk+data InstancesDetachDisk = InstancesDetachDisk' { _iddProject :: !Text , _iddZone :: !Text , _iddDeviceName :: !Text@@ -85,7 +85,7 @@ -> Text -- ^ 'iddInstance' -> InstancesDetachDisk instancesDetachDisk pIddProject_ pIddZone_ pIddDeviceName_ pIddInstance_ =- InstancesDetachDisk+ InstancesDetachDisk' { _iddProject = pIddProject_ , _iddZone = pIddZone_ , _iddDeviceName = pIddDeviceName_@@ -114,7 +114,10 @@ instance GoogleRequest InstancesDetachDisk where type Rs InstancesDetachDisk = Operation- requestClient InstancesDetachDisk{..}+ type Scopes InstancesDetachDisk =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient InstancesDetachDisk'{..} = go _iddProject _iddZone _iddInstance (Just _iddDeviceName) (Just AltJSON)
gen/Network/Google/Resource/Compute/Instances/Get.hs view
@@ -14,13 +14,14 @@ -- | -- Module : Network.Google.Resource.Compute.Instances.Get--- Copyright : (c) 2015 Brendan Hay+-- 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 instance resource.+-- Returns the specified Instance resource. Get a list of available+-- instances by making a list() request. -- -- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.instances.get@. module Network.Google.Resource.Compute.Instances.Get@@ -54,10 +55,11 @@ Capture "instance" Text :> QueryParam "alt" AltJSON :> Get '[JSON] Instance --- | Returns the specified instance resource.+-- | Returns the specified Instance resource. Get a list of available+-- instances by making a list() request. -- -- /See:/ 'instancesGet' smart constructor.-data InstancesGet = InstancesGet+data InstancesGet = InstancesGet' { _igProject :: !Text , _igZone :: !Text , _igInstance :: !Text@@ -78,7 +80,7 @@ -> Text -- ^ 'igInstance' -> InstancesGet instancesGet pIgProject_ pIgZone_ pIgInstance_ =- InstancesGet+ InstancesGet' { _igProject = pIgProject_ , _igZone = pIgZone_ , _igInstance = pIgInstance_@@ -100,7 +102,11 @@ instance GoogleRequest InstancesGet where type Rs InstancesGet = Instance- requestClient InstancesGet{..}+ type Scopes InstancesGet =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute",+ "https://www.googleapis.com/auth/compute.readonly"]+ requestClient InstancesGet'{..} = go _igProject _igZone _igInstance (Just AltJSON) computeService where go
gen/Network/Google/Resource/Compute/Instances/GetSerialPortOutput.hs view
@@ -14,7 +14,7 @@ -- | -- Module : Network.Google.Resource.Compute.Instances.GetSerialPortOutput--- Copyright : (c) 2015 Brendan Hay+-- Copyright : (c) 2015-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -61,7 +61,7 @@ -- | Returns the specified instance\'s serial port output. -- -- /See:/ 'instancesGetSerialPortOutput' smart constructor.-data InstancesGetSerialPortOutput = InstancesGetSerialPortOutput+data InstancesGetSerialPortOutput = InstancesGetSerialPortOutput' { _igspoProject :: !Text , _igspoZone :: !Text , _igspoPort :: !(Textual Int32)@@ -85,7 +85,7 @@ -> Text -- ^ 'igspoInstance' -> InstancesGetSerialPortOutput instancesGetSerialPortOutput pIgspoProject_ pIgspoZone_ pIgspoInstance_ =- InstancesGetSerialPortOutput+ InstancesGetSerialPortOutput' { _igspoProject = pIgspoProject_ , _igspoZone = pIgspoZone_ , _igspoPort = 1@@ -118,7 +118,11 @@ where type Rs InstancesGetSerialPortOutput = SerialPortOutput- requestClient InstancesGetSerialPortOutput{..}+ type Scopes InstancesGetSerialPortOutput =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute",+ "https://www.googleapis.com/auth/compute.readonly"]+ requestClient InstancesGetSerialPortOutput'{..} = go _igspoProject _igspoZone _igspoInstance (Just _igspoPort) (Just AltJSON)
gen/Network/Google/Resource/Compute/Instances/Insert.hs view
@@ -14,7 +14,7 @@ -- | -- Module : Network.Google.Resource.Compute.Instances.Insert--- Copyright : (c) 2015 Brendan Hay+-- Copyright : (c) 2015-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -59,7 +59,7 @@ -- included in the request. -- -- /See:/ 'instancesInsert' smart constructor.-data InstancesInsert = InstancesInsert+data InstancesInsert = InstancesInsert' { _iiiProject :: !Text , _iiiZone :: !Text , _iiiPayload :: !Instance@@ -80,7 +80,7 @@ -> Instance -- ^ 'iiiPayload' -> InstancesInsert instancesInsert pIiiProject_ pIiiZone_ pIiiPayload_ =- InstancesInsert+ InstancesInsert' { _iiiProject = pIiiProject_ , _iiiZone = pIiiZone_ , _iiiPayload = pIiiPayload_@@ -102,7 +102,10 @@ instance GoogleRequest InstancesInsert where type Rs InstancesInsert = Operation- requestClient InstancesInsert{..}+ type Scopes InstancesInsert =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient InstancesInsert'{..} = go _iiiProject _iiiZone (Just AltJSON) _iiiPayload computeService where go
gen/Network/Google/Resource/Compute/Instances/List.hs view
@@ -14,14 +14,13 @@ -- | -- Module : Network.Google.Resource.Compute.Instances.List--- Copyright : (c) 2015 Brendan Hay+-- 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 instance resources contained within the specified--- zone.+-- Retrieves the list of instances contained within the specified zone. -- -- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.instances.list@. module Network.Google.Resource.Compute.Instances.List@@ -59,11 +58,10 @@ QueryParam "maxResults" (Textual Word32) :> QueryParam "alt" AltJSON :> Get '[JSON] InstanceList --- | Retrieves the list of instance resources contained within the specified--- zone.+-- | Retrieves the list of instances contained within the specified zone. -- -- /See:/ 'instancesList' smart constructor.-data InstancesList = InstancesList+data InstancesList = InstancesList' { _ilProject :: !Text , _ilZone :: !Text , _ilFilter :: !(Maybe Text)@@ -89,7 +87,7 @@ -> Text -- ^ 'ilZone' -> InstancesList instancesList pIlProject_ pIlZone_ =- InstancesList+ InstancesList' { _ilProject = pIlProject_ , _ilZone = pIlZone_ , _ilFilter = Nothing@@ -107,27 +105,39 @@ ilZone = lens _ilZone (\ s a -> s{_ilZone = 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+-- 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--- (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, filter=name ne--- example-instance.+-- (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. Compute Engine Beta API Only: When+-- filtering in the Beta API, you can also 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. ilFilter :: Lens' InstancesList (Maybe Text) ilFilter = lens _ilFilter (\ s a -> s{_ilFilter = a}) --- | Specifies a page token to use. Use this parameter if you want to list--- the next page of results. Set pageToken to the nextPageToken returned by--- a previous list request.+-- | Specifies a page token to use. Set pageToken to the nextPageToken+-- returned by a previous list request to get the next page of results. ilPageToken :: Lens' InstancesList (Maybe Text) ilPageToken = lens _ilPageToken (\ s a -> s{_ilPageToken = a}) --- | Maximum count of results to be returned.+-- | 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. ilMaxResults :: Lens' InstancesList Word32 ilMaxResults = lens _ilMaxResults (\ s a -> s{_ilMaxResults = a})@@ -135,7 +145,11 @@ instance GoogleRequest InstancesList where type Rs InstancesList = InstanceList- requestClient InstancesList{..}+ type Scopes InstancesList =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute",+ "https://www.googleapis.com/auth/compute.readonly"]+ requestClient InstancesList'{..} = go _ilProject _ilZone _ilFilter _ilPageToken (Just _ilMaxResults) (Just AltJSON)
gen/Network/Google/Resource/Compute/Instances/Reset.hs view
@@ -14,7 +14,7 @@ -- | -- Module : Network.Google.Resource.Compute.Instances.Reset--- Copyright : (c) 2015 Brendan Hay+-- Copyright : (c) 2015-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -58,7 +58,7 @@ -- | Performs a hard reset on the instance. -- -- /See:/ 'instancesReset' smart constructor.-data InstancesReset = InstancesReset+data InstancesReset = InstancesReset' { _irProject :: !Text , _irZone :: !Text , _irInstance :: !Text@@ -79,7 +79,7 @@ -> Text -- ^ 'irInstance' -> InstancesReset instancesReset pIrProject_ pIrZone_ pIrInstance_ =- InstancesReset+ InstancesReset' { _irProject = pIrProject_ , _irZone = pIrZone_ , _irInstance = pIrInstance_@@ -101,7 +101,10 @@ instance GoogleRequest InstancesReset where type Rs InstancesReset = Operation- requestClient InstancesReset{..}+ type Scopes InstancesReset =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient InstancesReset'{..} = go _irProject _irZone _irInstance (Just AltJSON) computeService where go
gen/Network/Google/Resource/Compute/Instances/SetDiskAutoDelete.hs view
@@ -14,7 +14,7 @@ -- | -- Module : Network.Google.Resource.Compute.Instances.SetDiskAutoDelete--- Copyright : (c) 2015 Brendan Hay+-- Copyright : (c) 2015-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -62,7 +62,7 @@ -- | Sets the auto-delete flag for a disk attached to an instance. -- -- /See:/ 'instancesSetDiskAutoDelete' smart constructor.-data InstancesSetDiskAutoDelete = InstancesSetDiskAutoDelete+data InstancesSetDiskAutoDelete = InstancesSetDiskAutoDelete' { _isdadProject :: !Text , _isdadAutoDelete :: !Bool , _isdadZone :: !Text@@ -91,7 +91,7 @@ -> Text -- ^ 'isdadInstance' -> InstancesSetDiskAutoDelete instancesSetDiskAutoDelete pIsdadProject_ pIsdadAutoDelete_ pIsdadZone_ pIsdadDeviceName_ pIsdadInstance_ =- InstancesSetDiskAutoDelete+ InstancesSetDiskAutoDelete' { _isdadProject = pIsdadProject_ , _isdadAutoDelete = pIsdadAutoDelete_ , _isdadZone = pIsdadZone_@@ -130,7 +130,10 @@ instance GoogleRequest InstancesSetDiskAutoDelete where type Rs InstancesSetDiskAutoDelete = Operation- requestClient InstancesSetDiskAutoDelete{..}+ type Scopes InstancesSetDiskAutoDelete =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient InstancesSetDiskAutoDelete'{..} = go _isdadProject _isdadZone _isdadInstance (Just _isdadAutoDelete) (Just _isdadDeviceName)
+ gen/Network/Google/Resource/Compute/Instances/SetMachineType.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.Instances.SetMachineType+-- 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 machine type for a stopped instance to the machine type+-- specified in the request.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.instances.setMachineType@.+module Network.Google.Resource.Compute.Instances.SetMachineType+ (+ -- * REST Resource+ InstancesSetMachineTypeResource++ -- * Creating a Request+ , instancesSetMachineType+ , InstancesSetMachineType++ -- * Request Lenses+ , ismtProject+ , ismtZone+ , ismtPayload+ , ismtInstance+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.instances.setMachineType@ method which the+-- 'InstancesSetMachineType' request conforms to.+type InstancesSetMachineTypeResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "zones" :>+ Capture "zone" Text :>+ "instances" :>+ Capture "instance" Text :>+ "setMachineType" :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] InstancesSetMachineTypeRequest :>+ Post '[JSON] Operation++-- | Changes the machine type for a stopped instance to the machine type+-- specified in the request.+--+-- /See:/ 'instancesSetMachineType' smart constructor.+data InstancesSetMachineType = InstancesSetMachineType'+ { _ismtProject :: !Text+ , _ismtZone :: !Text+ , _ismtPayload :: !InstancesSetMachineTypeRequest+ , _ismtInstance :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstancesSetMachineType' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ismtProject'+--+-- * 'ismtZone'+--+-- * 'ismtPayload'+--+-- * 'ismtInstance'+instancesSetMachineType+ :: Text -- ^ 'ismtProject'+ -> Text -- ^ 'ismtZone'+ -> InstancesSetMachineTypeRequest -- ^ 'ismtPayload'+ -> Text -- ^ 'ismtInstance'+ -> InstancesSetMachineType+instancesSetMachineType pIsmtProject_ pIsmtZone_ pIsmtPayload_ pIsmtInstance_ =+ InstancesSetMachineType'+ { _ismtProject = pIsmtProject_+ , _ismtZone = pIsmtZone_+ , _ismtPayload = pIsmtPayload_+ , _ismtInstance = pIsmtInstance_+ }++-- | Project ID for this request.+ismtProject :: Lens' InstancesSetMachineType Text+ismtProject+ = lens _ismtProject (\ s a -> s{_ismtProject = a})++-- | The name of the zone for this request.+ismtZone :: Lens' InstancesSetMachineType Text+ismtZone = lens _ismtZone (\ s a -> s{_ismtZone = a})++-- | Multipart request metadata.+ismtPayload :: Lens' InstancesSetMachineType InstancesSetMachineTypeRequest+ismtPayload+ = lens _ismtPayload (\ s a -> s{_ismtPayload = a})++-- | Name of the instance scoping this request.+ismtInstance :: Lens' InstancesSetMachineType Text+ismtInstance+ = lens _ismtInstance (\ s a -> s{_ismtInstance = a})++instance GoogleRequest InstancesSetMachineType where+ type Rs InstancesSetMachineType = Operation+ type Scopes InstancesSetMachineType =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient InstancesSetMachineType'{..}+ = go _ismtProject _ismtZone _ismtInstance+ (Just AltJSON)+ _ismtPayload+ computeService+ where go+ = buildClient+ (Proxy :: Proxy InstancesSetMachineTypeResource)+ mempty
gen/Network/Google/Resource/Compute/Instances/SetMetadata.hs view
@@ -14,7 +14,7 @@ -- | -- Module : Network.Google.Resource.Compute.Instances.SetMetadata--- Copyright : (c) 2015 Brendan Hay+-- Copyright : (c) 2015-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -62,7 +62,7 @@ -- request. -- -- /See:/ 'instancesSetMetadata' smart constructor.-data InstancesSetMetadata = InstancesSetMetadata+data InstancesSetMetadata = InstancesSetMetadata' { _ismProject :: !Text , _ismZone :: !Text , _ismPayload :: !Metadata@@ -87,7 +87,7 @@ -> Text -- ^ 'ismInstance' -> InstancesSetMetadata instancesSetMetadata pIsmProject_ pIsmZone_ pIsmPayload_ pIsmInstance_ =- InstancesSetMetadata+ InstancesSetMetadata' { _ismProject = pIsmProject_ , _ismZone = pIsmZone_ , _ismPayload = pIsmPayload_@@ -115,7 +115,10 @@ instance GoogleRequest InstancesSetMetadata where type Rs InstancesSetMetadata = Operation- requestClient InstancesSetMetadata{..}+ type Scopes InstancesSetMetadata =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient InstancesSetMetadata'{..} = go _ismProject _ismZone _ismInstance (Just AltJSON) _ismPayload computeService
gen/Network/Google/Resource/Compute/Instances/SetScheduling.hs view
@@ -14,7 +14,7 @@ -- | -- Module : Network.Google.Resource.Compute.Instances.SetScheduling--- Copyright : (c) 2015 Brendan Hay+-- Copyright : (c) 2015-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -60,7 +60,7 @@ -- | Sets an instance\'s scheduling options. -- -- /See:/ 'instancesSetScheduling' smart constructor.-data InstancesSetScheduling = InstancesSetScheduling+data InstancesSetScheduling = InstancesSetScheduling' { _issProject :: !Text , _issZone :: !Text , _issPayload :: !Scheduling@@ -85,7 +85,7 @@ -> Text -- ^ 'issInstance' -> InstancesSetScheduling instancesSetScheduling pIssProject_ pIssZone_ pIssPayload_ pIssInstance_ =- InstancesSetScheduling+ InstancesSetScheduling' { _issProject = pIssProject_ , _issZone = pIssZone_ , _issPayload = pIssPayload_@@ -113,7 +113,10 @@ instance GoogleRequest InstancesSetScheduling where type Rs InstancesSetScheduling = Operation- requestClient InstancesSetScheduling{..}+ type Scopes InstancesSetScheduling =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient InstancesSetScheduling'{..} = go _issProject _issZone _issInstance (Just AltJSON) _issPayload computeService
gen/Network/Google/Resource/Compute/Instances/SetTags.hs view
@@ -14,7 +14,7 @@ -- | -- Module : Network.Google.Resource.Compute.Instances.SetTags--- Copyright : (c) 2015 Brendan Hay+-- Copyright : (c) 2015-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -62,7 +62,7 @@ -- request. -- -- /See:/ 'instancesSetTags' smart constructor.-data InstancesSetTags = InstancesSetTags+data InstancesSetTags = InstancesSetTags' { _istProject :: !Text , _istZone :: !Text , _istPayload :: !Tags@@ -87,7 +87,7 @@ -> Text -- ^ 'istInstance' -> InstancesSetTags instancesSetTags pIstProject_ pIstZone_ pIstPayload_ pIstInstance_ =- InstancesSetTags+ InstancesSetTags' { _istProject = pIstProject_ , _istZone = pIstZone_ , _istPayload = pIstPayload_@@ -115,7 +115,10 @@ instance GoogleRequest InstancesSetTags where type Rs InstancesSetTags = Operation- requestClient InstancesSetTags{..}+ type Scopes InstancesSetTags =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient InstancesSetTags'{..} = go _istProject _istZone _istInstance (Just AltJSON) _istPayload computeService
gen/Network/Google/Resource/Compute/Instances/Start.hs view
@@ -14,14 +14,14 @@ -- | -- Module : Network.Google.Resource.Compute.Instances.Start--- Copyright : (c) 2015 Brendan Hay+-- 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) ----- This method starts an instance that was stopped using the using the--- instances().stop method. For more information, see Restart an instance.+-- 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.start@. module Network.Google.Resource.Compute.Instances.Start@@ -56,11 +56,11 @@ "start" :> QueryParam "alt" AltJSON :> Post '[JSON] Operation --- | This method starts an instance that was stopped using the using the--- instances().stop method. For more information, see Restart an instance.+-- | Starts an instance that was stopped using the using the instances().stop+-- method. For more information, see Restart an instance. -- -- /See:/ 'instancesStart' smart constructor.-data InstancesStart = InstancesStart+data InstancesStart = InstancesStart' { _insProject :: !Text , _insZone :: !Text , _insInstance :: !Text@@ -81,7 +81,7 @@ -> Text -- ^ 'insInstance' -> InstancesStart instancesStart pInsProject_ pInsZone_ pInsInstance_ =- InstancesStart+ InstancesStart' { _insProject = pInsProject_ , _insZone = pInsZone_ , _insInstance = pInsInstance_@@ -103,7 +103,10 @@ instance GoogleRequest InstancesStart where type Rs InstancesStart = Operation- requestClient InstancesStart{..}+ type Scopes InstancesStart =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient InstancesStart'{..} = go _insProject _insZone _insInstance (Just AltJSON) computeService where go
gen/Network/Google/Resource/Compute/Instances/Stop.hs view
@@ -14,18 +14,18 @@ -- | -- Module : Network.Google.Resource.Compute.Instances.Stop--- Copyright : (c) 2015 Brendan Hay+-- 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) ----- This method stops a running instance, shutting it down cleanly, and--- allows you to restart the instance at a later time. Stopped instances do--- not incur per-minute, virtual machine usage charges while they are--- stopped, but any resources that the virtual machine is using, such as--- persistent disks and static IP addresses,will continue to be charged--- until they are deleted. For more information, see Stopping an instance.+-- Stops a running instance, shutting it down cleanly, and allows you to+-- restart the instance at a later time. Stopped instances do not incur+-- per-minute, virtual machine usage charges while they are stopped, but+-- any resources that the virtual machine is using, such as persistent+-- disks and static IP addresses, will continue to be charged until they+-- are deleted. For more information, see Stopping an instance. -- -- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.instances.stop@. module Network.Google.Resource.Compute.Instances.Stop@@ -60,15 +60,15 @@ "stop" :> QueryParam "alt" AltJSON :> Post '[JSON] Operation --- | This method stops a running instance, shutting it down cleanly, and--- allows you to restart the instance at a later time. Stopped instances do--- not incur per-minute, virtual machine usage charges while they are--- stopped, but any resources that the virtual machine is using, such as--- persistent disks and static IP addresses,will continue to be charged--- until they are deleted. For more information, see Stopping an instance.+-- | Stops a running instance, shutting it down cleanly, and allows you to+-- restart the instance at a later time. Stopped instances do not incur+-- per-minute, virtual machine usage charges while they are stopped, but+-- any resources that the virtual machine is using, such as persistent+-- disks and static IP addresses, will continue to be charged until they+-- are deleted. For more information, see Stopping an instance. -- -- /See:/ 'instancesStop' smart constructor.-data InstancesStop = InstancesStop+data InstancesStop = InstancesStop' { _isProject :: !Text , _isZone :: !Text , _isInstance :: !Text@@ -89,7 +89,7 @@ -> Text -- ^ 'isInstance' -> InstancesStop instancesStop pIsProject_ pIsZone_ pIsInstance_ =- InstancesStop+ InstancesStop' { _isProject = pIsProject_ , _isZone = pIsZone_ , _isInstance = pIsInstance_@@ -111,7 +111,10 @@ instance GoogleRequest InstancesStop where type Rs InstancesStop = Operation- requestClient InstancesStop{..}+ type Scopes InstancesStop =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient InstancesStop'{..} = go _isProject _isZone _isInstance (Just AltJSON) computeService where go
gen/Network/Google/Resource/Compute/Licenses/Get.hs view
@@ -14,13 +14,14 @@ -- | -- Module : Network.Google.Resource.Compute.Licenses.Get--- Copyright : (c) 2015 Brendan Hay+-- 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 license resource.+-- Returns the specified License resource. Get a list of available licenses+-- by making a list() request. -- -- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.licenses.get@. module Network.Google.Resource.Compute.Licenses.Get@@ -52,10 +53,11 @@ Capture "license" Text :> QueryParam "alt" AltJSON :> Get '[JSON] License --- | Returns the specified license resource.+-- | Returns the specified License resource. Get a list of available licenses+-- by making a list() request. -- -- /See:/ 'licensesGet' smart constructor.-data LicensesGet = LicensesGet+data LicensesGet = LicensesGet' { _lgProject :: !Text , _lgLicense :: !Text } deriving (Eq,Show,Data,Typeable,Generic)@@ -72,7 +74,7 @@ -> Text -- ^ 'lgLicense' -> LicensesGet licensesGet pLgProject_ pLgLicense_ =- LicensesGet+ LicensesGet' { _lgProject = pLgProject_ , _lgLicense = pLgLicense_ }@@ -82,14 +84,18 @@ lgProject = lens _lgProject (\ s a -> s{_lgProject = a}) --- | Name of the license resource to return.+-- | Name of the License resource to return. lgLicense :: Lens' LicensesGet Text lgLicense = lens _lgLicense (\ s a -> s{_lgLicense = a}) instance GoogleRequest LicensesGet where type Rs LicensesGet = License- requestClient LicensesGet{..}+ type Scopes LicensesGet =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute",+ "https://www.googleapis.com/auth/compute.readonly"]+ requestClient LicensesGet'{..} = go _lgProject _lgLicense (Just AltJSON) computeService where go
gen/Network/Google/Resource/Compute/MachineTypes/AggregatedList.hs view
@@ -14,13 +14,13 @@ -- | -- Module : Network.Google.Resource.Compute.MachineTypes.AggregatedList--- Copyright : (c) 2015 Brendan Hay+-- 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 machine type resources grouped by scope.+-- Retrieves an aggregated list of machine types. -- -- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.machineTypes.aggregatedList@. module Network.Google.Resource.Compute.MachineTypes.AggregatedList@@ -57,10 +57,10 @@ QueryParam "alt" AltJSON :> Get '[JSON] MachineTypeAggregatedList --- | Retrieves the list of machine type resources grouped by scope.+-- | Retrieves an aggregated list of machine types. -- -- /See:/ 'machineTypesAggregatedList' smart constructor.-data MachineTypesAggregatedList = MachineTypesAggregatedList+data MachineTypesAggregatedList = MachineTypesAggregatedList' { _mtalProject :: !Text , _mtalFilter :: !(Maybe Text) , _mtalPageToken :: !(Maybe Text)@@ -82,7 +82,7 @@ :: Text -- ^ 'mtalProject' -> MachineTypesAggregatedList machineTypesAggregatedList pMtalProject_ =- MachineTypesAggregatedList+ MachineTypesAggregatedList' { _mtalProject = pMtalProject_ , _mtalFilter = Nothing , _mtalPageToken = Nothing@@ -95,29 +95,41 @@ = lens _mtalProject (\ s a -> s{_mtalProject = 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+-- 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--- (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, filter=name ne--- example-instance.+-- (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. Compute Engine Beta API Only: When+-- filtering in the Beta API, you can also 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. mtalFilter :: Lens' MachineTypesAggregatedList (Maybe Text) mtalFilter = lens _mtalFilter (\ s a -> s{_mtalFilter = a}) --- | Specifies a page token to use. Use this parameter if you want to list--- the next page of results. Set pageToken to the nextPageToken returned by--- a previous list request.+-- | Specifies a page token to use. Set pageToken to the nextPageToken+-- returned by a previous list request to get the next page of results. mtalPageToken :: Lens' MachineTypesAggregatedList (Maybe Text) mtalPageToken = lens _mtalPageToken (\ s a -> s{_mtalPageToken = a}) --- | Maximum count of results to be returned.+-- | 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. mtalMaxResults :: Lens' MachineTypesAggregatedList Word32 mtalMaxResults = lens _mtalMaxResults@@ -128,7 +140,11 @@ where type Rs MachineTypesAggregatedList = MachineTypeAggregatedList- requestClient MachineTypesAggregatedList{..}+ type Scopes MachineTypesAggregatedList =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute",+ "https://www.googleapis.com/auth/compute.readonly"]+ requestClient MachineTypesAggregatedList'{..} = go _mtalProject _mtalFilter _mtalPageToken (Just _mtalMaxResults) (Just AltJSON)
gen/Network/Google/Resource/Compute/MachineTypes/Get.hs view
@@ -14,13 +14,14 @@ -- | -- Module : Network.Google.Resource.Compute.MachineTypes.Get--- Copyright : (c) 2015 Brendan Hay+-- 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 machine type resource.+-- Returns the specified machine type. Get a list of available machine+-- types by making a list() request. -- -- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.machineTypes.get@. module Network.Google.Resource.Compute.MachineTypes.Get@@ -54,10 +55,11 @@ Capture "machineType" Text :> QueryParam "alt" AltJSON :> Get '[JSON] MachineType --- | Returns the specified machine type resource.+-- | Returns the specified machine type. Get a list of available machine+-- types by making a list() request. -- -- /See:/ 'machineTypesGet' smart constructor.-data MachineTypesGet = MachineTypesGet+data MachineTypesGet = MachineTypesGet' { _mtgProject :: !Text , _mtgZone :: !Text , _mtgMachineType :: !Text@@ -78,7 +80,7 @@ -> Text -- ^ 'mtgMachineType' -> MachineTypesGet machineTypesGet pMtgProject_ pMtgZone_ pMtgMachineType_ =- MachineTypesGet+ MachineTypesGet' { _mtgProject = pMtgProject_ , _mtgZone = pMtgZone_ , _mtgMachineType = pMtgMachineType_@@ -93,7 +95,7 @@ mtgZone :: Lens' MachineTypesGet Text mtgZone = lens _mtgZone (\ s a -> s{_mtgZone = a}) --- | Name of the machine type resource to return.+-- | Name of the machine type to return. mtgMachineType :: Lens' MachineTypesGet Text mtgMachineType = lens _mtgMachineType@@ -101,7 +103,11 @@ instance GoogleRequest MachineTypesGet where type Rs MachineTypesGet = MachineType- requestClient MachineTypesGet{..}+ type Scopes MachineTypesGet =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute",+ "https://www.googleapis.com/auth/compute.readonly"]+ requestClient MachineTypesGet'{..} = go _mtgProject _mtgZone _mtgMachineType (Just AltJSON) computeService
gen/Network/Google/Resource/Compute/MachineTypes/List.hs view
@@ -14,14 +14,13 @@ -- | -- Module : Network.Google.Resource.Compute.MachineTypes.List--- Copyright : (c) 2015 Brendan Hay+-- 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 machine type resources available to the specified--- project.+-- Retrieves a list of machine types available to the specified project. -- -- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.machineTypes.list@. module Network.Google.Resource.Compute.MachineTypes.List@@ -60,11 +59,10 @@ QueryParam "alt" AltJSON :> Get '[JSON] MachineTypeList --- | Retrieves the list of machine type resources available to the specified--- project.+-- | Retrieves a list of machine types available to the specified project. -- -- /See:/ 'machineTypesList' smart constructor.-data MachineTypesList = MachineTypesList+data MachineTypesList = MachineTypesList' { _mtlProject :: !Text , _mtlZone :: !Text , _mtlFilter :: !(Maybe Text)@@ -90,7 +88,7 @@ -> Text -- ^ 'mtlZone' -> MachineTypesList machineTypesList pMtlProject_ pMtlZone_ =- MachineTypesList+ MachineTypesList' { _mtlProject = pMtlProject_ , _mtlZone = pMtlZone_ , _mtlFilter = Nothing@@ -108,28 +106,40 @@ mtlZone = lens _mtlZone (\ s a -> s{_mtlZone = 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+-- 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--- (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, filter=name ne--- example-instance.+-- (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. Compute Engine Beta API Only: When+-- filtering in the Beta API, you can also 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. mtlFilter :: Lens' MachineTypesList (Maybe Text) mtlFilter = lens _mtlFilter (\ s a -> s{_mtlFilter = a}) --- | Specifies a page token to use. Use this parameter if you want to list--- the next page of results. Set pageToken to the nextPageToken returned by--- a previous list request.+-- | Specifies a page token to use. Set pageToken to the nextPageToken+-- returned by a previous list request to get the next page of results. mtlPageToken :: Lens' MachineTypesList (Maybe Text) mtlPageToken = lens _mtlPageToken (\ s a -> s{_mtlPageToken = a}) --- | Maximum count of results to be returned.+-- | 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. mtlMaxResults :: Lens' MachineTypesList Word32 mtlMaxResults = lens _mtlMaxResults@@ -138,7 +148,11 @@ instance GoogleRequest MachineTypesList where type Rs MachineTypesList = MachineTypeList- requestClient MachineTypesList{..}+ type Scopes MachineTypesList =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute",+ "https://www.googleapis.com/auth/compute.readonly"]+ requestClient MachineTypesList'{..} = go _mtlProject _mtlZone _mtlFilter _mtlPageToken (Just _mtlMaxResults) (Just AltJSON)
gen/Network/Google/Resource/Compute/Networks/Delete.hs view
@@ -14,13 +14,13 @@ -- | -- Module : Network.Google.Resource.Compute.Networks.Delete--- Copyright : (c) 2015 Brendan Hay+-- 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 network resource.+-- Deletes the specified network. -- -- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.networks.delete@. module Network.Google.Resource.Compute.Networks.Delete@@ -52,10 +52,10 @@ Capture "network" Text :> QueryParam "alt" AltJSON :> Delete '[JSON] Operation --- | Deletes the specified network resource.+-- | Deletes the specified network. -- -- /See:/ 'networksDelete' smart constructor.-data NetworksDelete = NetworksDelete+data NetworksDelete = NetworksDelete' { _ndProject :: !Text , _ndNetwork :: !Text } deriving (Eq,Show,Data,Typeable,Generic)@@ -72,7 +72,7 @@ -> Text -- ^ 'ndNetwork' -> NetworksDelete networksDelete pNdProject_ pNdNetwork_ =- NetworksDelete+ NetworksDelete' { _ndProject = pNdProject_ , _ndNetwork = pNdNetwork_ }@@ -82,14 +82,17 @@ ndProject = lens _ndProject (\ s a -> s{_ndProject = a}) --- | Name of the network resource to delete.+-- | Name of the network to delete. ndNetwork :: Lens' NetworksDelete Text ndNetwork = lens _ndNetwork (\ s a -> s{_ndNetwork = a}) instance GoogleRequest NetworksDelete where type Rs NetworksDelete = Operation- requestClient NetworksDelete{..}+ type Scopes NetworksDelete =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient NetworksDelete'{..} = go _ndProject _ndNetwork (Just AltJSON) computeService where go
gen/Network/Google/Resource/Compute/Networks/Get.hs view
@@ -14,13 +14,14 @@ -- | -- Module : Network.Google.Resource.Compute.Networks.Get--- Copyright : (c) 2015 Brendan Hay+-- 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 network resource.+-- Returns the specified network. Get a list of available networks by+-- making a list() request. -- -- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.networks.get@. module Network.Google.Resource.Compute.Networks.Get@@ -52,10 +53,11 @@ Capture "network" Text :> QueryParam "alt" AltJSON :> Get '[JSON] Network --- | Returns the specified network resource.+-- | Returns the specified network. Get a list of available networks by+-- making a list() request. -- -- /See:/ 'networksGet' smart constructor.-data NetworksGet = NetworksGet+data NetworksGet = NetworksGet' { _ngProject :: !Text , _ngNetwork :: !Text } deriving (Eq,Show,Data,Typeable,Generic)@@ -72,7 +74,7 @@ -> Text -- ^ 'ngNetwork' -> NetworksGet networksGet pNgProject_ pNgNetwork_ =- NetworksGet+ NetworksGet' { _ngProject = pNgProject_ , _ngNetwork = pNgNetwork_ }@@ -82,14 +84,18 @@ ngProject = lens _ngProject (\ s a -> s{_ngProject = a}) --- | Name of the network resource to return.+-- | Name of the network to return. ngNetwork :: Lens' NetworksGet Text ngNetwork = lens _ngNetwork (\ s a -> s{_ngNetwork = a}) instance GoogleRequest NetworksGet where type Rs NetworksGet = Network- requestClient NetworksGet{..}+ type Scopes NetworksGet =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute",+ "https://www.googleapis.com/auth/compute.readonly"]+ requestClient NetworksGet'{..} = go _ngProject _ngNetwork (Just AltJSON) computeService where go
gen/Network/Google/Resource/Compute/Networks/Insert.hs view
@@ -14,14 +14,14 @@ -- | -- Module : Network.Google.Resource.Compute.Networks.Insert--- Copyright : (c) 2015 Brendan Hay+-- 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 network resource in the specified project using the data--- included in the request.+-- Creates a network 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.networks.insert@. module Network.Google.Resource.Compute.Networks.Insert@@ -53,11 +53,11 @@ QueryParam "alt" AltJSON :> ReqBody '[JSON] Network :> Post '[JSON] Operation --- | Creates a network resource in the specified project using the data--- included in the request.+-- | Creates a network in the specified project using the data included in+-- the request. -- -- /See:/ 'networksInsert' smart constructor.-data NetworksInsert = NetworksInsert+data NetworksInsert = NetworksInsert' { _niProject :: !Text , _niPayload :: !Network } deriving (Eq,Show,Data,Typeable,Generic)@@ -74,7 +74,7 @@ -> Network -- ^ 'niPayload' -> NetworksInsert networksInsert pNiProject_ pNiPayload_ =- NetworksInsert+ NetworksInsert' { _niProject = pNiProject_ , _niPayload = pNiPayload_ }@@ -91,7 +91,10 @@ instance GoogleRequest NetworksInsert where type Rs NetworksInsert = Operation- requestClient NetworksInsert{..}+ type Scopes NetworksInsert =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient NetworksInsert'{..} = go _niProject (Just AltJSON) _niPayload computeService where go
gen/Network/Google/Resource/Compute/Networks/List.hs view
@@ -14,14 +14,13 @@ -- | -- Module : Network.Google.Resource.Compute.Networks.List--- Copyright : (c) 2015 Brendan Hay+-- 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 network resources available to the specified--- project.+-- Retrieves the list of networks available to the specified project. -- -- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.networks.list@. module Network.Google.Resource.Compute.Networks.List@@ -57,11 +56,10 @@ QueryParam "maxResults" (Textual Word32) :> QueryParam "alt" AltJSON :> Get '[JSON] NetworkList --- | Retrieves the list of network resources available to the specified--- project.+-- | Retrieves the list of networks available to the specified project. -- -- /See:/ 'networksList' smart constructor.-data NetworksList = NetworksList+data NetworksList = NetworksList' { _nlProject :: !Text , _nlFilter :: !(Maybe Text) , _nlPageToken :: !(Maybe Text)@@ -83,7 +81,7 @@ :: Text -- ^ 'nlProject' -> NetworksList networksList pNlProject_ =- NetworksList+ NetworksList' { _nlProject = pNlProject_ , _nlFilter = Nothing , _nlPageToken = Nothing@@ -96,27 +94,39 @@ = lens _nlProject (\ s a -> s{_nlProject = 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+-- 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--- (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, filter=name ne--- example-instance.+-- (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. Compute Engine Beta API Only: When+-- filtering in the Beta API, you can also 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. nlFilter :: Lens' NetworksList (Maybe Text) nlFilter = lens _nlFilter (\ s a -> s{_nlFilter = a}) --- | Specifies a page token to use. Use this parameter if you want to list--- the next page of results. Set pageToken to the nextPageToken returned by--- a previous list request.+-- | Specifies a page token to use. Set pageToken to the nextPageToken+-- returned by a previous list request to get the next page of results. nlPageToken :: Lens' NetworksList (Maybe Text) nlPageToken = lens _nlPageToken (\ s a -> s{_nlPageToken = a}) --- | Maximum count of results to be returned.+-- | 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. nlMaxResults :: Lens' NetworksList Word32 nlMaxResults = lens _nlMaxResults (\ s a -> s{_nlMaxResults = a})@@ -124,7 +134,11 @@ instance GoogleRequest NetworksList where type Rs NetworksList = NetworkList- requestClient NetworksList{..}+ type Scopes NetworksList =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute",+ "https://www.googleapis.com/auth/compute.readonly"]+ requestClient NetworksList'{..} = go _nlProject _nlFilter _nlPageToken (Just _nlMaxResults) (Just AltJSON)
gen/Network/Google/Resource/Compute/Projects/Get.hs view
@@ -14,13 +14,13 @@ -- | -- Module : Network.Google.Resource.Compute.Projects.Get--- Copyright : (c) 2015 Brendan Hay+-- 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 project resource.+-- Returns the specified Project resource. -- -- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.projects.get@. module Network.Google.Resource.Compute.Projects.Get@@ -48,10 +48,10 @@ Capture "project" Text :> QueryParam "alt" AltJSON :> Get '[JSON] Project --- | Returns the specified project resource.+-- | Returns the specified Project resource. -- -- /See:/ 'projectsGet' smart constructor.-newtype ProjectsGet = ProjectsGet+newtype ProjectsGet = ProjectsGet' { _pgProject :: Text } deriving (Eq,Show,Data,Typeable,Generic) @@ -64,7 +64,7 @@ :: Text -- ^ 'pgProject' -> ProjectsGet projectsGet pPgProject_ =- ProjectsGet+ ProjectsGet' { _pgProject = pPgProject_ } @@ -75,7 +75,11 @@ instance GoogleRequest ProjectsGet where type Rs ProjectsGet = Project- requestClient ProjectsGet{..}+ type Scopes ProjectsGet =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute",+ "https://www.googleapis.com/auth/compute.readonly"]+ requestClient ProjectsGet'{..} = go _pgProject (Just AltJSON) computeService where go = buildClient (Proxy :: Proxy ProjectsGetResource)
gen/Network/Google/Resource/Compute/Projects/MoveDisk.hs view
@@ -14,7 +14,7 @@ -- | -- Module : Network.Google.Resource.Compute.Projects.MoveDisk--- Copyright : (c) 2015 Brendan Hay+-- Copyright : (c) 2015-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -55,7 +55,7 @@ -- | Moves a persistent disk from one zone to another. -- -- /See:/ 'projectsMoveDisk' smart constructor.-data ProjectsMoveDisk = ProjectsMoveDisk+data ProjectsMoveDisk = ProjectsMoveDisk' { _pmdProject :: !Text , _pmdPayload :: !DiskMoveRequest } deriving (Eq,Show,Data,Typeable,Generic)@@ -72,7 +72,7 @@ -> DiskMoveRequest -- ^ 'pmdPayload' -> ProjectsMoveDisk projectsMoveDisk pPmdProject_ pPmdPayload_ =- ProjectsMoveDisk+ ProjectsMoveDisk' { _pmdProject = pPmdProject_ , _pmdPayload = pPmdPayload_ }@@ -89,7 +89,10 @@ instance GoogleRequest ProjectsMoveDisk where type Rs ProjectsMoveDisk = Operation- requestClient ProjectsMoveDisk{..}+ type Scopes ProjectsMoveDisk =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient ProjectsMoveDisk'{..} = go _pmdProject (Just AltJSON) _pmdPayload computeService where go
gen/Network/Google/Resource/Compute/Projects/MoveInstance.hs view
@@ -14,7 +14,7 @@ -- | -- Module : Network.Google.Resource.Compute.Projects.MoveInstance--- Copyright : (c) 2015 Brendan Hay+-- Copyright : (c) 2015-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -57,7 +57,7 @@ -- another. -- -- /See:/ 'projectsMoveInstance' smart constructor.-data ProjectsMoveInstance = ProjectsMoveInstance+data ProjectsMoveInstance = ProjectsMoveInstance' { _pmiProject :: !Text , _pmiPayload :: !InstanceMoveRequest } deriving (Eq,Show,Data,Typeable,Generic)@@ -74,7 +74,7 @@ -> InstanceMoveRequest -- ^ 'pmiPayload' -> ProjectsMoveInstance projectsMoveInstance pPmiProject_ pPmiPayload_ =- ProjectsMoveInstance+ ProjectsMoveInstance' { _pmiProject = pPmiProject_ , _pmiPayload = pPmiPayload_ }@@ -91,7 +91,10 @@ instance GoogleRequest ProjectsMoveInstance where type Rs ProjectsMoveInstance = Operation- requestClient ProjectsMoveInstance{..}+ type Scopes ProjectsMoveInstance =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient ProjectsMoveInstance'{..} = go _pmiProject (Just AltJSON) _pmiPayload computeService where go
gen/Network/Google/Resource/Compute/Projects/SetCommonInstanceMetadata.hs view
@@ -14,7 +14,7 @@ -- | -- Module : Network.Google.Resource.Compute.Projects.SetCommonInstanceMetadata--- Copyright : (c) 2015 Brendan Hay+-- Copyright : (c) 2015-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -56,7 +56,7 @@ -- the data included in the request. -- -- /See:/ 'projectsSetCommonInstanceMetadata' smart constructor.-data ProjectsSetCommonInstanceMetadata = ProjectsSetCommonInstanceMetadata+data ProjectsSetCommonInstanceMetadata = ProjectsSetCommonInstanceMetadata' { _pscimProject :: !Text , _pscimPayload :: !Metadata } deriving (Eq,Show,Data,Typeable,Generic)@@ -73,7 +73,7 @@ -> Metadata -- ^ 'pscimPayload' -> ProjectsSetCommonInstanceMetadata projectsSetCommonInstanceMetadata pPscimProject_ pPscimPayload_ =- ProjectsSetCommonInstanceMetadata+ ProjectsSetCommonInstanceMetadata' { _pscimProject = pPscimProject_ , _pscimPayload = pPscimPayload_ }@@ -91,7 +91,10 @@ instance GoogleRequest ProjectsSetCommonInstanceMetadata where type Rs ProjectsSetCommonInstanceMetadata = Operation- requestClient ProjectsSetCommonInstanceMetadata{..}+ type Scopes ProjectsSetCommonInstanceMetadata =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient ProjectsSetCommonInstanceMetadata'{..} = go _pscimProject (Just AltJSON) _pscimPayload computeService where go
gen/Network/Google/Resource/Compute/Projects/SetUsageExportBucket.hs view
@@ -14,7 +14,7 @@ -- | -- Module : Network.Google.Resource.Compute.Projects.SetUsageExportBucket--- Copyright : (c) 2015 Brendan Hay+-- Copyright : (c) 2015-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -59,7 +59,7 @@ -- method, the usage export feature will be disabled. -- -- /See:/ 'projectsSetUsageExportBucket' smart constructor.-data ProjectsSetUsageExportBucket = ProjectsSetUsageExportBucket+data ProjectsSetUsageExportBucket = ProjectsSetUsageExportBucket' { _psuebProject :: !Text , _psuebPayload :: !UsageExportLocation } deriving (Eq,Show,Data,Typeable,Generic)@@ -76,7 +76,7 @@ -> UsageExportLocation -- ^ 'psuebPayload' -> ProjectsSetUsageExportBucket projectsSetUsageExportBucket pPsuebProject_ pPsuebPayload_ =- ProjectsSetUsageExportBucket+ ProjectsSetUsageExportBucket' { _psuebProject = pPsuebProject_ , _psuebPayload = pPsuebPayload_ }@@ -94,7 +94,13 @@ instance GoogleRequest ProjectsSetUsageExportBucket where type Rs ProjectsSetUsageExportBucket = Operation- requestClient ProjectsSetUsageExportBucket{..}+ type Scopes ProjectsSetUsageExportBucket =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute",+ "https://www.googleapis.com/auth/devstorage.full_control",+ "https://www.googleapis.com/auth/devstorage.read_only",+ "https://www.googleapis.com/auth/devstorage.read_write"]+ requestClient ProjectsSetUsageExportBucket'{..} = go _psuebProject (Just AltJSON) _psuebPayload computeService where go
gen/Network/Google/Resource/Compute/RegionOperations/Delete.hs view
@@ -14,7 +14,7 @@ -- | -- Module : Network.Google.Resource.Compute.RegionOperations.Delete--- Copyright : (c) 2015 Brendan Hay+-- Copyright : (c) 2015-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -57,7 +57,7 @@ -- | Deletes the specified region-specific Operations resource. -- -- /See:/ 'regionOperationsDelete' smart constructor.-data RegionOperationsDelete = RegionOperationsDelete+data RegionOperationsDelete = RegionOperationsDelete' { _rodProject :: !Text , _rodOperation :: !Text , _rodRegion :: !Text@@ -78,7 +78,7 @@ -> Text -- ^ 'rodRegion' -> RegionOperationsDelete regionOperationsDelete pRodProject_ pRodOperation_ pRodRegion_ =- RegionOperationsDelete+ RegionOperationsDelete' { _rodProject = pRodProject_ , _rodOperation = pRodOperation_ , _rodRegion = pRodRegion_@@ -94,14 +94,17 @@ rodOperation = lens _rodOperation (\ s a -> s{_rodOperation = a}) --- | Name of the region scoping this request.+-- | Name of the region for this request. rodRegion :: Lens' RegionOperationsDelete Text rodRegion = lens _rodRegion (\ s a -> s{_rodRegion = a}) instance GoogleRequest RegionOperationsDelete where type Rs RegionOperationsDelete = ()- requestClient RegionOperationsDelete{..}+ type Scopes RegionOperationsDelete =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient RegionOperationsDelete'{..} = go _rodProject _rodRegion _rodOperation (Just AltJSON) computeService
gen/Network/Google/Resource/Compute/RegionOperations/Get.hs view
@@ -14,7 +14,7 @@ -- | -- Module : Network.Google.Resource.Compute.RegionOperations.Get--- Copyright : (c) 2015 Brendan Hay+-- Copyright : (c) 2015-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -57,7 +57,7 @@ -- | Retrieves the specified region-specific Operations resource. -- -- /See:/ 'regionOperationsGet' smart constructor.-data RegionOperationsGet = RegionOperationsGet+data RegionOperationsGet = RegionOperationsGet' { _rogProject :: !Text , _rogOperation :: !Text , _rogRegion :: !Text@@ -78,7 +78,7 @@ -> Text -- ^ 'rogRegion' -> RegionOperationsGet regionOperationsGet pRogProject_ pRogOperation_ pRogRegion_ =- RegionOperationsGet+ RegionOperationsGet' { _rogProject = pRogProject_ , _rogOperation = pRogOperation_ , _rogRegion = pRogRegion_@@ -94,14 +94,18 @@ rogOperation = lens _rogOperation (\ s a -> s{_rogOperation = a}) --- | Name of the zone scoping this request.+-- | Name of the region for this request. rogRegion :: Lens' RegionOperationsGet Text rogRegion = lens _rogRegion (\ s a -> s{_rogRegion = a}) instance GoogleRequest RegionOperationsGet where type Rs RegionOperationsGet = Operation- requestClient RegionOperationsGet{..}+ type Scopes RegionOperationsGet =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute",+ "https://www.googleapis.com/auth/compute.readonly"]+ requestClient RegionOperationsGet'{..} = go _rogProject _rogRegion _rogOperation (Just AltJSON) computeService
gen/Network/Google/Resource/Compute/RegionOperations/List.hs view
@@ -14,13 +14,13 @@ -- | -- Module : Network.Google.Resource.Compute.RegionOperations.List--- Copyright : (c) 2015 Brendan Hay+-- 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 Operation resources contained within the specified+-- Retrieves a list of Operation resources contained within the specified -- region. -- -- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.regionOperations.list@.@@ -59,11 +59,11 @@ QueryParam "maxResults" (Textual Word32) :> QueryParam "alt" AltJSON :> Get '[JSON] OperationList --- | Retrieves the list of Operation resources contained within the specified+-- | Retrieves a list of Operation resources contained within the specified -- region. -- -- /See:/ 'regionOperationsList' smart constructor.-data RegionOperationsList = RegionOperationsList+data RegionOperationsList = RegionOperationsList' { _rolProject :: !Text , _rolFilter :: !(Maybe Text) , _rolRegion :: !Text@@ -89,7 +89,7 @@ -> Text -- ^ 'rolRegion' -> RegionOperationsList regionOperationsList pRolProject_ pRolRegion_ =- RegionOperationsList+ RegionOperationsList' { _rolProject = pRolProject_ , _rolFilter = Nothing , _rolRegion = pRolRegion_@@ -103,33 +103,45 @@ = lens _rolProject (\ s a -> s{_rolProject = 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+-- 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--- (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, filter=name ne--- example-instance.+-- (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. Compute Engine Beta API Only: When+-- filtering in the Beta API, you can also 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. rolFilter :: Lens' RegionOperationsList (Maybe Text) rolFilter = lens _rolFilter (\ s a -> s{_rolFilter = a}) --- | Name of the region scoping this request.+-- | Name of the region for this request. rolRegion :: Lens' RegionOperationsList Text rolRegion = lens _rolRegion (\ s a -> s{_rolRegion = a}) --- | Specifies a page token to use. Use this parameter if you want to list--- the next page of results. Set pageToken to the nextPageToken returned by--- a previous list request.+-- | Specifies a page token to use. Set pageToken to the nextPageToken+-- returned by a previous list request to get the next page of results. rolPageToken :: Lens' RegionOperationsList (Maybe Text) rolPageToken = lens _rolPageToken (\ s a -> s{_rolPageToken = a}) --- | Maximum count of results to be returned.+-- | 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. rolMaxResults :: Lens' RegionOperationsList Word32 rolMaxResults = lens _rolMaxResults@@ -138,7 +150,11 @@ instance GoogleRequest RegionOperationsList where type Rs RegionOperationsList = OperationList- requestClient RegionOperationsList{..}+ type Scopes RegionOperationsList =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute",+ "https://www.googleapis.com/auth/compute.readonly"]+ requestClient RegionOperationsList'{..} = go _rolProject _rolRegion _rolFilter _rolPageToken (Just _rolMaxResults) (Just AltJSON)
gen/Network/Google/Resource/Compute/Regions/Get.hs view
@@ -14,13 +14,14 @@ -- | -- Module : Network.Google.Resource.Compute.Regions.Get--- Copyright : (c) 2015 Brendan Hay+-- 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 region resource.+-- Returns the specified Region resource. Get a list of available regions+-- by making a list() request. -- -- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.regions.get@. module Network.Google.Resource.Compute.Regions.Get@@ -51,10 +52,11 @@ Capture "region" Text :> QueryParam "alt" AltJSON :> Get '[JSON] Region --- | Returns the specified region resource.+-- | Returns the specified Region resource. Get a list of available regions+-- by making a list() request. -- -- /See:/ 'regionsGet' smart constructor.-data RegionsGet = RegionsGet+data RegionsGet = RegionsGet' { _rgProject :: !Text , _rgRegion :: !Text } deriving (Eq,Show,Data,Typeable,Generic)@@ -71,7 +73,7 @@ -> Text -- ^ 'rgRegion' -> RegionsGet regionsGet pRgProject_ pRgRegion_ =- RegionsGet+ RegionsGet' { _rgProject = pRgProject_ , _rgRegion = pRgRegion_ }@@ -87,7 +89,11 @@ instance GoogleRequest RegionsGet where type Rs RegionsGet = Region- requestClient RegionsGet{..}+ type Scopes RegionsGet =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute",+ "https://www.googleapis.com/auth/compute.readonly"]+ requestClient RegionsGet'{..} = go _rgProject _rgRegion (Just AltJSON) computeService where go
gen/Network/Google/Resource/Compute/Regions/List.hs view
@@ -14,7 +14,7 @@ -- | -- Module : Network.Google.Resource.Compute.Regions.List--- Copyright : (c) 2015 Brendan Hay+-- Copyright : (c) 2015-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -60,7 +60,7 @@ -- project. -- -- /See:/ 'regionsList' smart constructor.-data RegionsList = RegionsList+data RegionsList = RegionsList' { _rProject :: !Text , _rFilter :: !(Maybe Text) , _rPageToken :: !(Maybe Text)@@ -82,7 +82,7 @@ :: Text -- ^ 'rProject' -> RegionsList regionsList pRProject_ =- RegionsList+ RegionsList' { _rProject = pRProject_ , _rFilter = Nothing , _rPageToken = Nothing@@ -94,27 +94,39 @@ rProject = lens _rProject (\ s a -> s{_rProject = 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+-- 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--- (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, filter=name ne--- example-instance.+-- (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. Compute Engine Beta API Only: When+-- filtering in the Beta API, you can also 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}) --- | Specifies a page token to use. Use this parameter if you want to list--- the next page of results. Set pageToken to the nextPageToken returned by--- a previous list request.+-- | 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}) --- | Maximum count of results to be returned.+-- | 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}) .@@ -122,7 +134,11 @@ instance GoogleRequest RegionsList where type Rs RegionsList = RegionList- requestClient RegionsList{..}+ type Scopes RegionsList =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute",+ "https://www.googleapis.com/auth/compute.readonly"]+ requestClient RegionsList'{..} = go _rProject _rFilter _rPageToken (Just _rMaxResults) (Just AltJSON)
gen/Network/Google/Resource/Compute/Routes/Delete.hs view
@@ -14,13 +14,13 @@ -- | -- Module : Network.Google.Resource.Compute.Routes.Delete--- Copyright : (c) 2015 Brendan Hay+-- 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 route resource.+-- Deletes the specified Route resource. -- -- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.routes.delete@. module Network.Google.Resource.Compute.Routes.Delete@@ -52,10 +52,10 @@ Capture "route" Text :> QueryParam "alt" AltJSON :> Delete '[JSON] Operation --- | Deletes the specified route resource.+-- | Deletes the specified Route resource. -- -- /See:/ 'routesDelete' smart constructor.-data RoutesDelete = RoutesDelete+data RoutesDelete = RoutesDelete' { _rdProject :: !Text , _rdRoute :: !Text } deriving (Eq,Show,Data,Typeable,Generic)@@ -72,23 +72,26 @@ -> Text -- ^ 'rdRoute' -> RoutesDelete routesDelete pRdProject_ pRdRoute_ =- RoutesDelete+ RoutesDelete' { _rdProject = pRdProject_ , _rdRoute = pRdRoute_ } --- | Name of the project scoping this request.+-- | Project ID for this request. rdProject :: Lens' RoutesDelete Text rdProject = lens _rdProject (\ s a -> s{_rdProject = a}) --- | Name of the route resource to delete.+-- | Name of the Route resource to delete. rdRoute :: Lens' RoutesDelete Text rdRoute = lens _rdRoute (\ s a -> s{_rdRoute = a}) instance GoogleRequest RoutesDelete where type Rs RoutesDelete = Operation- requestClient RoutesDelete{..}+ type Scopes RoutesDelete =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient RoutesDelete'{..} = go _rdProject _rdRoute (Just AltJSON) computeService where go
gen/Network/Google/Resource/Compute/Routes/Get.hs view
@@ -14,13 +14,14 @@ -- | -- Module : Network.Google.Resource.Compute.Routes.Get--- Copyright : (c) 2015 Brendan Hay+-- 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 route resource.+-- Returns the specified Route resource. Get a list of available routes by+-- making a list() request. -- -- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.routes.get@. module Network.Google.Resource.Compute.Routes.Get@@ -52,10 +53,11 @@ Capture "route" Text :> QueryParam "alt" AltJSON :> Get '[JSON] Route --- | Returns the specified route resource.+-- | Returns the specified Route resource. Get a list of available routes by+-- making a list() request. -- -- /See:/ 'routesGet' smart constructor.-data RoutesGet = RoutesGet+data RoutesGet = RoutesGet' { _rouProject :: !Text , _rouRoute :: !Text } deriving (Eq,Show,Data,Typeable,Generic)@@ -72,23 +74,27 @@ -> Text -- ^ 'rouRoute' -> RoutesGet routesGet pRouProject_ pRouRoute_ =- RoutesGet+ RoutesGet' { _rouProject = pRouProject_ , _rouRoute = pRouRoute_ } --- | Name of the project scoping this request.+-- | Project ID for this request. rouProject :: Lens' RoutesGet Text rouProject = lens _rouProject (\ s a -> s{_rouProject = a}) --- | Name of the route resource to return.+-- | Name of the Route resource to return. rouRoute :: Lens' RoutesGet Text rouRoute = lens _rouRoute (\ s a -> s{_rouRoute = a}) instance GoogleRequest RoutesGet where type Rs RoutesGet = Route- requestClient RoutesGet{..}+ type Scopes RoutesGet =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute",+ "https://www.googleapis.com/auth/compute.readonly"]+ requestClient RoutesGet'{..} = go _rouProject _rouRoute (Just AltJSON) computeService where go
gen/Network/Google/Resource/Compute/Routes/Insert.hs view
@@ -14,13 +14,13 @@ -- | -- Module : Network.Google.Resource.Compute.Routes.Insert--- Copyright : (c) 2015 Brendan Hay+-- 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 route resource in the specified project using the data+-- Creates a Route 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.routes.insert@.@@ -53,11 +53,11 @@ QueryParam "alt" AltJSON :> ReqBody '[JSON] Route :> Post '[JSON] Operation --- | Creates a route resource in the specified project using the data+-- | Creates a Route resource in the specified project using the data -- included in the request. -- -- /See:/ 'routesInsert' smart constructor.-data RoutesInsert = RoutesInsert+data RoutesInsert = RoutesInsert' { _riProject :: !Text , _riPayload :: !Route } deriving (Eq,Show,Data,Typeable,Generic)@@ -74,12 +74,12 @@ -> Route -- ^ 'riPayload' -> RoutesInsert routesInsert pRiProject_ pRiPayload_ =- RoutesInsert+ RoutesInsert' { _riProject = pRiProject_ , _riPayload = pRiPayload_ } --- | Name of the project scoping this request.+-- | Project ID for this request. riProject :: Lens' RoutesInsert Text riProject = lens _riProject (\ s a -> s{_riProject = a})@@ -91,7 +91,10 @@ instance GoogleRequest RoutesInsert where type Rs RoutesInsert = Operation- requestClient RoutesInsert{..}+ type Scopes RoutesInsert =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient RoutesInsert'{..} = go _riProject (Just AltJSON) _riPayload computeService where go
gen/Network/Google/Resource/Compute/Routes/List.hs view
@@ -14,13 +14,13 @@ -- | -- Module : Network.Google.Resource.Compute.Routes.List--- Copyright : (c) 2015 Brendan Hay+-- 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 route resources available to the specified+-- Retrieves the list of Route resources available to the specified -- project. -- -- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.routes.list@.@@ -57,11 +57,11 @@ QueryParam "maxResults" (Textual Word32) :> QueryParam "alt" AltJSON :> Get '[JSON] RouteList --- | Retrieves the list of route resources available to the specified+-- | Retrieves the list of Route resources available to the specified -- project. -- -- /See:/ 'routesList' smart constructor.-data RoutesList = RoutesList+data RoutesList = RoutesList' { _rlProject :: !Text , _rlFilter :: !(Maybe Text) , _rlPageToken :: !(Maybe Text)@@ -83,40 +83,52 @@ :: Text -- ^ 'rlProject' -> RoutesList routesList pRlProject_ =- RoutesList+ RoutesList' { _rlProject = pRlProject_ , _rlFilter = Nothing , _rlPageToken = Nothing , _rlMaxResults = 500 } --- | Name of the project scoping this request.+-- | Project ID for this request. rlProject :: Lens' RoutesList 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+-- 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--- (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, filter=name ne--- example-instance.+-- (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. Compute Engine Beta API Only: When+-- filtering in the Beta API, you can also 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}) --- | Specifies a page token to use. Use this parameter if you want to list--- the next page of results. Set pageToken to the nextPageToken returned by--- a previous list request.+-- | 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}) --- | Maximum count of results to be returned.+-- | 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})@@ -124,7 +136,11 @@ instance GoogleRequest RoutesList where type Rs RoutesList = RouteList- requestClient RoutesList{..}+ type Scopes RoutesList =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute",+ "https://www.googleapis.com/auth/compute.readonly"]+ requestClient RoutesList'{..} = go _rlProject _rlFilter _rlPageToken (Just _rlMaxResults) (Just AltJSON)
gen/Network/Google/Resource/Compute/SSLCertificates/Delete.hs view
@@ -14,7 +14,7 @@ -- | -- Module : Network.Google.Resource.Compute.SSLCertificates.Delete--- Copyright : (c) 2015 Brendan Hay+-- Copyright : (c) 2015-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -55,7 +55,7 @@ -- | Deletes the specified SslCertificate resource. -- -- /See:/ 'sslCertificatesDelete' smart constructor.-data SSLCertificatesDelete = SSLCertificatesDelete+data SSLCertificatesDelete = SSLCertificatesDelete' { _scdProject :: !Text , _scdSSLCertificate :: !Text } deriving (Eq,Show,Data,Typeable,Generic)@@ -72,12 +72,12 @@ -> Text -- ^ 'scdSSLCertificate' -> SSLCertificatesDelete sslCertificatesDelete pScdProject_ pScdSSLCertificate_ =- SSLCertificatesDelete+ SSLCertificatesDelete' { _scdProject = pScdProject_ , _scdSSLCertificate = pScdSSLCertificate_ } --- | Name of the project scoping this request.+-- | Project ID for this request. scdProject :: Lens' SSLCertificatesDelete Text scdProject = lens _scdProject (\ s a -> s{_scdProject = a})@@ -90,7 +90,10 @@ instance GoogleRequest SSLCertificatesDelete where type Rs SSLCertificatesDelete = Operation- requestClient SSLCertificatesDelete{..}+ type Scopes SSLCertificatesDelete =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient SSLCertificatesDelete'{..} = go _scdProject _scdSSLCertificate (Just AltJSON) computeService where go
gen/Network/Google/Resource/Compute/SSLCertificates/Get.hs view
@@ -14,13 +14,14 @@ -- | -- Module : Network.Google.Resource.Compute.SSLCertificates.Get--- Copyright : (c) 2015 Brendan Hay+-- 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 SslCertificate resource.+-- Returns the specified SslCertificate resource. Get a list of available+-- SSL certificates by making a list() request. -- -- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.sslCertificates.get@. module Network.Google.Resource.Compute.SSLCertificates.Get@@ -53,10 +54,11 @@ QueryParam "alt" AltJSON :> Get '[JSON] SSLCertificate --- | Returns the specified SslCertificate resource.+-- | Returns the specified SslCertificate resource. Get a list of available+-- SSL certificates by making a list() request. -- -- /See:/ 'sslCertificatesGet' smart constructor.-data SSLCertificatesGet = SSLCertificatesGet+data SSLCertificatesGet = SSLCertificatesGet' { _scgProject :: !Text , _scgSSLCertificate :: !Text } deriving (Eq,Show,Data,Typeable,Generic)@@ -73,12 +75,12 @@ -> Text -- ^ 'scgSSLCertificate' -> SSLCertificatesGet sslCertificatesGet pScgProject_ pScgSSLCertificate_ =- SSLCertificatesGet+ SSLCertificatesGet' { _scgProject = pScgProject_ , _scgSSLCertificate = pScgSSLCertificate_ } --- | Name of the project scoping this request.+-- | Project ID for this request. scgProject :: Lens' SSLCertificatesGet Text scgProject = lens _scgProject (\ s a -> s{_scgProject = a})@@ -91,7 +93,11 @@ instance GoogleRequest SSLCertificatesGet where type Rs SSLCertificatesGet = SSLCertificate- requestClient SSLCertificatesGet{..}+ type Scopes SSLCertificatesGet =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute",+ "https://www.googleapis.com/auth/compute.readonly"]+ requestClient SSLCertificatesGet'{..} = go _scgProject _scgSSLCertificate (Just AltJSON) computeService where go
gen/Network/Google/Resource/Compute/SSLCertificates/Insert.hs view
@@ -14,7 +14,7 @@ -- | -- Module : Network.Google.Resource.Compute.SSLCertificates.Insert--- Copyright : (c) 2015 Brendan Hay+-- Copyright : (c) 2015-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -58,7 +58,7 @@ -- data included in the request. -- -- /See:/ 'sslCertificatesInsert' smart constructor.-data SSLCertificatesInsert = SSLCertificatesInsert+data SSLCertificatesInsert = SSLCertificatesInsert' { _sciProject :: !Text , _sciPayload :: !SSLCertificate } deriving (Eq,Show,Data,Typeable,Generic)@@ -75,12 +75,12 @@ -> SSLCertificate -- ^ 'sciPayload' -> SSLCertificatesInsert sslCertificatesInsert pSciProject_ pSciPayload_ =- SSLCertificatesInsert+ SSLCertificatesInsert' { _sciProject = pSciProject_ , _sciPayload = pSciPayload_ } --- | Name of the project scoping this request.+-- | Project ID for this request. sciProject :: Lens' SSLCertificatesInsert Text sciProject = lens _sciProject (\ s a -> s{_sciProject = a})@@ -92,7 +92,10 @@ instance GoogleRequest SSLCertificatesInsert where type Rs SSLCertificatesInsert = Operation- requestClient SSLCertificatesInsert{..}+ type Scopes SSLCertificatesInsert =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient SSLCertificatesInsert'{..} = go _sciProject (Just AltJSON) _sciPayload computeService where go
gen/Network/Google/Resource/Compute/SSLCertificates/List.hs view
@@ -14,7 +14,7 @@ -- | -- Module : Network.Google.Resource.Compute.SSLCertificates.List--- Copyright : (c) 2015 Brendan Hay+-- Copyright : (c) 2015-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -62,7 +62,7 @@ -- specified project. -- -- /See:/ 'sslCertificatesList' smart constructor.-data SSLCertificatesList = SSLCertificatesList+data SSLCertificatesList = SSLCertificatesList' { _sclProject :: !Text , _sclFilter :: !(Maybe Text) , _sclPageToken :: !(Maybe Text)@@ -84,41 +84,53 @@ :: Text -- ^ 'sclProject' -> SSLCertificatesList sslCertificatesList pSclProject_ =- SSLCertificatesList+ SSLCertificatesList' { _sclProject = pSclProject_ , _sclFilter = Nothing , _sclPageToken = Nothing , _sclMaxResults = 500 } --- | Name of the project scoping this request.+-- | Project ID for this request. sclProject :: Lens' SSLCertificatesList Text sclProject = lens _sclProject (\ s a -> s{_sclProject = 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+-- 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--- (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, filter=name ne--- example-instance.+-- (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. Compute Engine Beta API Only: When+-- filtering in the Beta API, you can also 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. sclFilter :: Lens' SSLCertificatesList (Maybe Text) sclFilter = lens _sclFilter (\ s a -> s{_sclFilter = a}) --- | Specifies a page token to use. Use this parameter if you want to list--- the next page of results. Set pageToken to the nextPageToken returned by--- a previous list request.+-- | Specifies a page token to use. Set pageToken to the nextPageToken+-- returned by a previous list request to get the next page of results. sclPageToken :: Lens' SSLCertificatesList (Maybe Text) sclPageToken = lens _sclPageToken (\ s a -> s{_sclPageToken = a}) --- | Maximum count of results to be returned.+-- | 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. sclMaxResults :: Lens' SSLCertificatesList Word32 sclMaxResults = lens _sclMaxResults@@ -127,7 +139,11 @@ instance GoogleRequest SSLCertificatesList where type Rs SSLCertificatesList = SSLCertificateList- requestClient SSLCertificatesList{..}+ type Scopes SSLCertificatesList =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute",+ "https://www.googleapis.com/auth/compute.readonly"]+ requestClient SSLCertificatesList'{..} = go _sclProject _sclFilter _sclPageToken (Just _sclMaxResults) (Just AltJSON)
gen/Network/Google/Resource/Compute/Snapshots/Delete.hs view
@@ -14,7 +14,7 @@ -- | -- Module : Network.Google.Resource.Compute.Snapshots.Delete--- Copyright : (c) 2015 Brendan Hay+-- Copyright : (c) 2015-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -37,8 +37,8 @@ , SnapshotsDelete -- * Request Lenses- , sdSnapshot- , sdProject+ , snaSnapshot+ , snaProject ) where import Network.Google.Compute.Types@@ -63,42 +63,45 @@ -- corresponding snapshot. For more information, see Deleting snaphots. -- -- /See:/ 'snapshotsDelete' smart constructor.-data SnapshotsDelete = SnapshotsDelete- { _sdSnapshot :: !Text- , _sdProject :: !Text+data SnapshotsDelete = SnapshotsDelete'+ { _snaSnapshot :: !Text+ , _snaProject :: !Text } deriving (Eq,Show,Data,Typeable,Generic) -- | Creates a value of 'SnapshotsDelete' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: ----- * 'sdSnapshot'+-- * 'snaSnapshot' ----- * 'sdProject'+-- * 'snaProject' snapshotsDelete- :: Text -- ^ 'sdSnapshot'- -> Text -- ^ 'sdProject'+ :: Text -- ^ 'snaSnapshot'+ -> Text -- ^ 'snaProject' -> SnapshotsDelete-snapshotsDelete pSdSnapshot_ pSdProject_ =- SnapshotsDelete- { _sdSnapshot = pSdSnapshot_- , _sdProject = pSdProject_+snapshotsDelete pSnaSnapshot_ pSnaProject_ =+ SnapshotsDelete'+ { _snaSnapshot = pSnaSnapshot_+ , _snaProject = pSnaProject_ } -- | Name of the Snapshot resource to delete.-sdSnapshot :: Lens' SnapshotsDelete Text-sdSnapshot- = lens _sdSnapshot (\ s a -> s{_sdSnapshot = a})+snaSnapshot :: Lens' SnapshotsDelete Text+snaSnapshot+ = lens _snaSnapshot (\ s a -> s{_snaSnapshot = a}) --- | Name of the project scoping this request.-sdProject :: Lens' SnapshotsDelete Text-sdProject- = lens _sdProject (\ s a -> s{_sdProject = a})+-- | Project ID for this request.+snaProject :: Lens' SnapshotsDelete Text+snaProject+ = lens _snaProject (\ s a -> s{_snaProject = a}) instance GoogleRequest SnapshotsDelete where type Rs SnapshotsDelete = Operation- requestClient SnapshotsDelete{..}- = go _sdProject _sdSnapshot (Just AltJSON)+ type Scopes SnapshotsDelete =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient SnapshotsDelete'{..}+ = go _snaProject _snaSnapshot (Just AltJSON) computeService where go = buildClient
gen/Network/Google/Resource/Compute/Snapshots/Get.hs view
@@ -14,13 +14,14 @@ -- | -- Module : Network.Google.Resource.Compute.Snapshots.Get--- Copyright : (c) 2015 Brendan Hay+-- 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 Snapshot resource.+-- Returns the specified Snapshot resource. Get a list of available+-- snapshots by making a list() request. -- -- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.snapshots.get@. module Network.Google.Resource.Compute.Snapshots.Get@@ -33,8 +34,8 @@ , SnapshotsGet -- * Request Lenses- , sgSnapshot- , sgProject+ , sggSnapshot+ , sggProject ) where import Network.Google.Compute.Types@@ -52,45 +53,50 @@ Capture "snapshot" Text :> QueryParam "alt" AltJSON :> Get '[JSON] Snapshot --- | Returns the specified Snapshot resource.+-- | Returns the specified Snapshot resource. Get a list of available+-- snapshots by making a list() request. -- -- /See:/ 'snapshotsGet' smart constructor.-data SnapshotsGet = SnapshotsGet- { _sgSnapshot :: !Text- , _sgProject :: !Text+data SnapshotsGet = SnapshotsGet'+ { _sggSnapshot :: !Text+ , _sggProject :: !Text } deriving (Eq,Show,Data,Typeable,Generic) -- | Creates a value of 'SnapshotsGet' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: ----- * 'sgSnapshot'+-- * 'sggSnapshot' ----- * 'sgProject'+-- * 'sggProject' snapshotsGet- :: Text -- ^ 'sgSnapshot'- -> Text -- ^ 'sgProject'+ :: Text -- ^ 'sggSnapshot'+ -> Text -- ^ 'sggProject' -> SnapshotsGet-snapshotsGet pSgSnapshot_ pSgProject_ =- SnapshotsGet- { _sgSnapshot = pSgSnapshot_- , _sgProject = pSgProject_+snapshotsGet pSggSnapshot_ pSggProject_ =+ SnapshotsGet'+ { _sggSnapshot = pSggSnapshot_+ , _sggProject = pSggProject_ } -- | Name of the Snapshot resource to return.-sgSnapshot :: Lens' SnapshotsGet Text-sgSnapshot- = lens _sgSnapshot (\ s a -> s{_sgSnapshot = a})+sggSnapshot :: Lens' SnapshotsGet Text+sggSnapshot+ = lens _sggSnapshot (\ s a -> s{_sggSnapshot = a}) --- | Name of the project scoping this request.-sgProject :: Lens' SnapshotsGet Text-sgProject- = lens _sgProject (\ s a -> s{_sgProject = a})+-- | Project ID for this request.+sggProject :: Lens' SnapshotsGet Text+sggProject+ = lens _sggProject (\ s a -> s{_sggProject = a}) instance GoogleRequest SnapshotsGet where type Rs SnapshotsGet = Snapshot- requestClient SnapshotsGet{..}- = go _sgProject _sgSnapshot (Just AltJSON)+ type Scopes SnapshotsGet =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute",+ "https://www.googleapis.com/auth/compute.readonly"]+ requestClient SnapshotsGet'{..}+ = go _sggProject _sggSnapshot (Just AltJSON) computeService where go = buildClient (Proxy :: Proxy SnapshotsGetResource)
gen/Network/Google/Resource/Compute/Snapshots/List.hs view
@@ -14,7 +14,7 @@ -- | -- Module : Network.Google.Resource.Compute.Snapshots.List--- Copyright : (c) 2015 Brendan Hay+-- Copyright : (c) 2015-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -34,10 +34,10 @@ , SnapshotsList -- * Request Lenses- , slProject- , slFilter- , slPageToken- , slMaxResults+ , sProject+ , sFilter+ , sPageToken+ , sMaxResults ) where import Network.Google.Compute.Types@@ -61,72 +61,87 @@ -- project. -- -- /See:/ 'snapshotsList' smart constructor.-data SnapshotsList = SnapshotsList- { _slProject :: !Text- , _slFilter :: !(Maybe Text)- , _slPageToken :: !(Maybe Text)- , _slMaxResults :: !(Textual Word32)+data SnapshotsList = SnapshotsList'+ { _sProject :: !Text+ , _sFilter :: !(Maybe Text)+ , _sPageToken :: !(Maybe Text)+ , _sMaxResults :: !(Textual Word32) } deriving (Eq,Show,Data,Typeable,Generic) -- | Creates a value of 'SnapshotsList' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: ----- * 'slProject'+-- * 'sProject' ----- * 'slFilter'+-- * 'sFilter' ----- * 'slPageToken'+-- * 'sPageToken' ----- * 'slMaxResults'+-- * 'sMaxResults' snapshotsList- :: Text -- ^ 'slProject'+ :: Text -- ^ 'sProject' -> SnapshotsList-snapshotsList pSlProject_ =- SnapshotsList- { _slProject = pSlProject_- , _slFilter = Nothing- , _slPageToken = Nothing- , _slMaxResults = 500+snapshotsList pSProject_ =+ SnapshotsList'+ { _sProject = pSProject_+ , _sFilter = Nothing+ , _sPageToken = Nothing+ , _sMaxResults = 500 } --- | Name of the project scoping this request.-slProject :: Lens' SnapshotsList Text-slProject- = lens _slProject (\ s a -> s{_slProject = a})+-- | Project ID for this request.+sProject :: Lens' SnapshotsList Text+sProject = lens _sProject (\ s a -> s{_sProject = 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+-- 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--- (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, filter=name ne--- example-instance.-slFilter :: Lens' SnapshotsList (Maybe Text)-slFilter = lens _slFilter (\ s a -> s{_slFilter = a})+-- (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. Compute Engine Beta API Only: When+-- filtering in the Beta API, you can also 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.+sFilter :: Lens' SnapshotsList (Maybe Text)+sFilter = lens _sFilter (\ s a -> s{_sFilter = a}) --- | Specifies a page token to use. Use this parameter if you want to list--- the next page of results. Set pageToken to the nextPageToken returned by--- a previous list request.-slPageToken :: Lens' SnapshotsList (Maybe Text)-slPageToken- = lens _slPageToken (\ s a -> s{_slPageToken = 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.+sPageToken :: Lens' SnapshotsList (Maybe Text)+sPageToken+ = lens _sPageToken (\ s a -> s{_sPageToken = a}) --- | Maximum count of results to be returned.-slMaxResults :: Lens' SnapshotsList Word32-slMaxResults- = lens _slMaxResults (\ s a -> s{_slMaxResults = a})- . _Coerce+-- | 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.+sMaxResults :: Lens' SnapshotsList Word32+sMaxResults+ = lens _sMaxResults (\ s a -> s{_sMaxResults = a}) .+ _Coerce instance GoogleRequest SnapshotsList where type Rs SnapshotsList = SnapshotList- requestClient SnapshotsList{..}- = go _slProject _slFilter _slPageToken- (Just _slMaxResults)+ type Scopes SnapshotsList =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute",+ "https://www.googleapis.com/auth/compute.readonly"]+ requestClient SnapshotsList'{..}+ = go _sProject _sFilter _sPageToken+ (Just _sMaxResults) (Just AltJSON) computeService where go
+ gen/Network/Google/Resource/Compute/Subnetworks/AggregatedList.hs view
@@ -0,0 +1,154 @@+{-# 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.Subnetworks.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 subnetworks.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.subnetworks.aggregatedList@.+module Network.Google.Resource.Compute.Subnetworks.AggregatedList+ (+ -- * REST Resource+ SubnetworksAggregatedListResource++ -- * Creating a Request+ , subnetworksAggregatedList+ , SubnetworksAggregatedList++ -- * Request Lenses+ , salProject+ , salFilter+ , salPageToken+ , salMaxResults+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.subnetworks.aggregatedList@ method which the+-- 'SubnetworksAggregatedList' request conforms to.+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++-- | Retrieves an aggregated list of subnetworks.+--+-- /See:/ 'subnetworksAggregatedList' smart constructor.+data SubnetworksAggregatedList = SubnetworksAggregatedList'+ { _salProject :: !Text+ , _salFilter :: !(Maybe Text)+ , _salPageToken :: !(Maybe Text)+ , _salMaxResults :: !(Textual Word32)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SubnetworksAggregatedList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'salProject'+--+-- * 'salFilter'+--+-- * 'salPageToken'+--+-- * 'salMaxResults'+subnetworksAggregatedList+ :: Text -- ^ 'salProject'+ -> SubnetworksAggregatedList+subnetworksAggregatedList pSalProject_ =+ SubnetworksAggregatedList'+ { _salProject = pSalProject_+ , _salFilter = Nothing+ , _salPageToken = Nothing+ , _salMaxResults = 500+ }++-- | Project ID for this request.+salProject :: Lens' SubnetworksAggregatedList Text+salProject+ = lens _salProject (\ s a -> s{_salProject = 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. Compute Engine Beta API Only: When+-- filtering in the Beta API, you can also 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.+salFilter :: Lens' SubnetworksAggregatedList (Maybe Text)+salFilter+ = lens _salFilter (\ s a -> s{_salFilter = 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.+salPageToken :: Lens' SubnetworksAggregatedList (Maybe Text)+salPageToken+ = lens _salPageToken (\ s a -> s{_salPageToken = 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.+salMaxResults :: Lens' SubnetworksAggregatedList Word32+salMaxResults+ = lens _salMaxResults+ (\ s a -> s{_salMaxResults = a})+ . _Coerce++instance GoogleRequest SubnetworksAggregatedList+ where+ type Rs SubnetworksAggregatedList =+ SubnetworkAggregatedList+ type Scopes SubnetworksAggregatedList =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute",+ "https://www.googleapis.com/auth/compute.readonly"]+ requestClient SubnetworksAggregatedList'{..}+ = go _salProject _salFilter _salPageToken+ (Just _salMaxResults)+ (Just AltJSON)+ computeService+ where go+ = buildClient+ (Proxy :: Proxy SubnetworksAggregatedListResource)+ mempty
+ gen/Network/Google/Resource/Compute/Subnetworks/Delete.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.Subnetworks.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 subnetwork.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.subnetworks.delete@.+module Network.Google.Resource.Compute.Subnetworks.Delete+ (+ -- * REST Resource+ SubnetworksDeleteResource++ -- * Creating a Request+ , subnetworksDelete+ , SubnetworksDelete++ -- * Request Lenses+ , sdProject+ , sdSubnetwork+ , sdRegion+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.subnetworks.delete@ method which the+-- 'SubnetworksDelete' request conforms to.+type SubnetworksDeleteResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "regions" :>+ Capture "region" Text :>+ "subnetworks" :>+ Capture "subnetwork" Text :>+ QueryParam "alt" AltJSON :> Delete '[JSON] Operation++-- | Deletes the specified subnetwork.+--+-- /See:/ 'subnetworksDelete' smart constructor.+data SubnetworksDelete = SubnetworksDelete'+ { _sdProject :: !Text+ , _sdSubnetwork :: !Text+ , _sdRegion :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SubnetworksDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sdProject'+--+-- * 'sdSubnetwork'+--+-- * 'sdRegion'+subnetworksDelete+ :: Text -- ^ 'sdProject'+ -> Text -- ^ 'sdSubnetwork'+ -> Text -- ^ 'sdRegion'+ -> SubnetworksDelete+subnetworksDelete pSdProject_ pSdSubnetwork_ pSdRegion_ =+ SubnetworksDelete'+ { _sdProject = pSdProject_+ , _sdSubnetwork = pSdSubnetwork_+ , _sdRegion = pSdRegion_+ }++-- | Project ID for this request.+sdProject :: Lens' SubnetworksDelete Text+sdProject+ = lens _sdProject (\ s a -> s{_sdProject = a})++-- | Name of the Subnetwork resource to delete.+sdSubnetwork :: Lens' SubnetworksDelete Text+sdSubnetwork+ = lens _sdSubnetwork (\ s a -> s{_sdSubnetwork = a})++-- | Name of the region scoping this request.+sdRegion :: Lens' SubnetworksDelete Text+sdRegion = lens _sdRegion (\ s a -> s{_sdRegion = a})++instance GoogleRequest SubnetworksDelete where+ type Rs SubnetworksDelete = Operation+ type Scopes SubnetworksDelete =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient SubnetworksDelete'{..}+ = go _sdProject _sdRegion _sdSubnetwork+ (Just AltJSON)+ computeService+ where go+ = buildClient+ (Proxy :: Proxy SubnetworksDeleteResource)+ mempty
+ gen/Network/Google/Resource/Compute/Subnetworks/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.Subnetworks.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 subnetwork. Get a list of available subnetworks+-- list() request.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.subnetworks.get@.+module Network.Google.Resource.Compute.Subnetworks.Get+ (+ -- * REST Resource+ SubnetworksGetResource++ -- * Creating a Request+ , subnetworksGet+ , SubnetworksGet++ -- * Request Lenses+ , sgProject+ , sgSubnetwork+ , sgRegion+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.subnetworks.get@ method which the+-- 'SubnetworksGet' request conforms to.+type SubnetworksGetResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "regions" :>+ Capture "region" Text :>+ "subnetworks" :>+ Capture "subnetwork" Text :>+ QueryParam "alt" AltJSON :> Get '[JSON] Subnetwork++-- | Returns the specified subnetwork. Get a list of available subnetworks+-- list() request.+--+-- /See:/ 'subnetworksGet' smart constructor.+data SubnetworksGet = SubnetworksGet'+ { _sgProject :: !Text+ , _sgSubnetwork :: !Text+ , _sgRegion :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SubnetworksGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sgProject'+--+-- * 'sgSubnetwork'+--+-- * 'sgRegion'+subnetworksGet+ :: Text -- ^ 'sgProject'+ -> Text -- ^ 'sgSubnetwork'+ -> Text -- ^ 'sgRegion'+ -> SubnetworksGet+subnetworksGet pSgProject_ pSgSubnetwork_ pSgRegion_ =+ SubnetworksGet'+ { _sgProject = pSgProject_+ , _sgSubnetwork = pSgSubnetwork_+ , _sgRegion = pSgRegion_+ }++-- | Project ID for this request.+sgProject :: Lens' SubnetworksGet Text+sgProject+ = lens _sgProject (\ s a -> s{_sgProject = a})++-- | Name of the Subnetwork resource to return.+sgSubnetwork :: Lens' SubnetworksGet Text+sgSubnetwork+ = lens _sgSubnetwork (\ s a -> s{_sgSubnetwork = a})++-- | Name of the region scoping this request.+sgRegion :: Lens' SubnetworksGet Text+sgRegion = lens _sgRegion (\ s a -> s{_sgRegion = a})++instance GoogleRequest SubnetworksGet where+ type Rs SubnetworksGet = Subnetwork+ type Scopes SubnetworksGet =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute",+ "https://www.googleapis.com/auth/compute.readonly"]+ requestClient SubnetworksGet'{..}+ = go _sgProject _sgRegion _sgSubnetwork+ (Just AltJSON)+ computeService+ where go+ = buildClient (Proxy :: Proxy SubnetworksGetResource)+ mempty
+ gen/Network/Google/Resource/Compute/Subnetworks/Insert.hs view
@@ -0,0 +1,114 @@+{-# 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.Subnetworks.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 subnetwork 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.subnetworks.insert@.+module Network.Google.Resource.Compute.Subnetworks.Insert+ (+ -- * REST Resource+ SubnetworksInsertResource++ -- * Creating a Request+ , subnetworksInsert+ , SubnetworksInsert++ -- * Request Lenses+ , siProject+ , siPayload+ , siRegion+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.subnetworks.insert@ method which the+-- 'SubnetworksInsert' request conforms to.+type SubnetworksInsertResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "regions" :>+ Capture "region" Text :>+ "subnetworks" :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] Subnetwork :> Post '[JSON] Operation++-- | Creates a subnetwork in the specified project using the data included in+-- the request.+--+-- /See:/ 'subnetworksInsert' smart constructor.+data SubnetworksInsert = SubnetworksInsert'+ { _siProject :: !Text+ , _siPayload :: !Subnetwork+ , _siRegion :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SubnetworksInsert' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'siProject'+--+-- * 'siPayload'+--+-- * 'siRegion'+subnetworksInsert+ :: Text -- ^ 'siProject'+ -> Subnetwork -- ^ 'siPayload'+ -> Text -- ^ 'siRegion'+ -> SubnetworksInsert+subnetworksInsert pSiProject_ pSiPayload_ pSiRegion_ =+ SubnetworksInsert'+ { _siProject = pSiProject_+ , _siPayload = pSiPayload_+ , _siRegion = pSiRegion_+ }++-- | Project ID for this request.+siProject :: Lens' SubnetworksInsert Text+siProject+ = lens _siProject (\ s a -> s{_siProject = a})++-- | Multipart request metadata.+siPayload :: Lens' SubnetworksInsert Subnetwork+siPayload+ = lens _siPayload (\ s a -> s{_siPayload = a})++-- | Name of the region scoping this request.+siRegion :: Lens' SubnetworksInsert Text+siRegion = lens _siRegion (\ s a -> s{_siRegion = a})++instance GoogleRequest SubnetworksInsert where+ type Rs SubnetworksInsert = Operation+ type Scopes SubnetworksInsert =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient SubnetworksInsert'{..}+ = go _siProject _siRegion (Just AltJSON) _siPayload+ computeService+ where go+ = buildClient+ (Proxy :: Proxy SubnetworksInsertResource)+ mempty
+ gen/Network/Google/Resource/Compute/Subnetworks/List.hs view
@@ -0,0 +1,161 @@+{-# 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.Subnetworks.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 subnetworks available to the specified project.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.subnetworks.list@.+module Network.Google.Resource.Compute.Subnetworks.List+ (+ -- * REST Resource+ SubnetworksListResource++ -- * Creating a Request+ , subnetworksList+ , SubnetworksList++ -- * Request Lenses+ , slProject+ , slFilter+ , slRegion+ , slPageToken+ , slMaxResults+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.subnetworks.list@ method which the+-- 'SubnetworksList' request conforms to.+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++-- | Retrieves a list of subnetworks available to the specified project.+--+-- /See:/ 'subnetworksList' smart constructor.+data SubnetworksList = SubnetworksList'+ { _slProject :: !Text+ , _slFilter :: !(Maybe Text)+ , _slRegion :: !Text+ , _slPageToken :: !(Maybe Text)+ , _slMaxResults :: !(Textual Word32)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SubnetworksList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'slProject'+--+-- * 'slFilter'+--+-- * 'slRegion'+--+-- * 'slPageToken'+--+-- * 'slMaxResults'+subnetworksList+ :: Text -- ^ 'slProject'+ -> Text -- ^ 'slRegion'+ -> SubnetworksList+subnetworksList pSlProject_ pSlRegion_ =+ SubnetworksList'+ { _slProject = pSlProject_+ , _slFilter = Nothing+ , _slRegion = pSlRegion_+ , _slPageToken = Nothing+ , _slMaxResults = 500+ }++-- | Project ID for this request.+slProject :: Lens' SubnetworksList Text+slProject+ = lens _slProject (\ s a -> s{_slProject = 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. Compute Engine Beta API Only: When+-- filtering in the Beta API, you can also 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.+slFilter :: Lens' SubnetworksList (Maybe Text)+slFilter = lens _slFilter (\ s a -> s{_slFilter = a})++-- | Name of the region scoping this request.+slRegion :: Lens' SubnetworksList Text+slRegion = lens _slRegion (\ s a -> s{_slRegion = 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.+slPageToken :: Lens' SubnetworksList (Maybe Text)+slPageToken+ = lens _slPageToken (\ s a -> s{_slPageToken = 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.+slMaxResults :: Lens' SubnetworksList Word32+slMaxResults+ = lens _slMaxResults (\ s a -> s{_slMaxResults = a})+ . _Coerce++instance GoogleRequest SubnetworksList where+ type Rs SubnetworksList = SubnetworkList+ type Scopes SubnetworksList =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute",+ "https://www.googleapis.com/auth/compute.readonly"]+ requestClient SubnetworksList'{..}+ = go _slProject _slRegion _slFilter _slPageToken+ (Just _slMaxResults)+ (Just AltJSON)+ computeService+ where go+ = buildClient+ (Proxy :: Proxy SubnetworksListResource)+ mempty
gen/Network/Google/Resource/Compute/TargetHTTPProxies/Delete.hs view
@@ -14,7 +14,7 @@ -- | -- Module : Network.Google.Resource.Compute.TargetHTTPProxies.Delete--- Copyright : (c) 2015 Brendan Hay+-- Copyright : (c) 2015-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -55,7 +55,7 @@ -- | Deletes the specified TargetHttpProxy resource. -- -- /See:/ 'targetHTTPProxiesDelete' smart constructor.-data TargetHTTPProxiesDelete = TargetHTTPProxiesDelete+data TargetHTTPProxiesDelete = TargetHTTPProxiesDelete' { _thttppdProject :: !Text , _thttppdTargetHTTPProxy :: !Text } deriving (Eq,Show,Data,Typeable,Generic)@@ -72,12 +72,12 @@ -> Text -- ^ 'thttppdTargetHTTPProxy' -> TargetHTTPProxiesDelete targetHTTPProxiesDelete pThttppdProject_ pThttppdTargetHTTPProxy_ =- TargetHTTPProxiesDelete+ TargetHTTPProxiesDelete' { _thttppdProject = pThttppdProject_ , _thttppdTargetHTTPProxy = pThttppdTargetHTTPProxy_ } --- | Name of the project scoping this request.+-- | Project ID for this request. thttppdProject :: Lens' TargetHTTPProxiesDelete Text thttppdProject = lens _thttppdProject@@ -91,7 +91,10 @@ instance GoogleRequest TargetHTTPProxiesDelete where type Rs TargetHTTPProxiesDelete = Operation- requestClient TargetHTTPProxiesDelete{..}+ type Scopes TargetHTTPProxiesDelete =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient TargetHTTPProxiesDelete'{..} = go _thttppdProject _thttppdTargetHTTPProxy (Just AltJSON) computeService
gen/Network/Google/Resource/Compute/TargetHTTPProxies/Get.hs view
@@ -14,13 +14,14 @@ -- | -- Module : Network.Google.Resource.Compute.TargetHTTPProxies.Get--- Copyright : (c) 2015 Brendan Hay+-- 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 TargetHttpProxy resource.+-- Returns the specified TargetHttpProxy resource. Get a list of available+-- target HTTP proxies by making a list() request. -- -- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.targetHttpProxies.get@. module Network.Google.Resource.Compute.TargetHTTPProxies.Get@@ -53,10 +54,11 @@ QueryParam "alt" AltJSON :> Get '[JSON] TargetHTTPProxy --- | Returns the specified TargetHttpProxy resource.+-- | Returns the specified TargetHttpProxy resource. Get a list of available+-- target HTTP proxies by making a list() request. -- -- /See:/ 'targetHTTPProxiesGet' smart constructor.-data TargetHTTPProxiesGet = TargetHTTPProxiesGet+data TargetHTTPProxiesGet = TargetHTTPProxiesGet' { _thttppgProject :: !Text , _thttppgTargetHTTPProxy :: !Text } deriving (Eq,Show,Data,Typeable,Generic)@@ -73,12 +75,12 @@ -> Text -- ^ 'thttppgTargetHTTPProxy' -> TargetHTTPProxiesGet targetHTTPProxiesGet pThttppgProject_ pThttppgTargetHTTPProxy_ =- TargetHTTPProxiesGet+ TargetHTTPProxiesGet' { _thttppgProject = pThttppgProject_ , _thttppgTargetHTTPProxy = pThttppgTargetHTTPProxy_ } --- | Name of the project scoping this request.+-- | Project ID for this request. thttppgProject :: Lens' TargetHTTPProxiesGet Text thttppgProject = lens _thttppgProject@@ -92,7 +94,11 @@ instance GoogleRequest TargetHTTPProxiesGet where type Rs TargetHTTPProxiesGet = TargetHTTPProxy- requestClient TargetHTTPProxiesGet{..}+ type Scopes TargetHTTPProxiesGet =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute",+ "https://www.googleapis.com/auth/compute.readonly"]+ requestClient TargetHTTPProxiesGet'{..} = go _thttppgProject _thttppgTargetHTTPProxy (Just AltJSON) computeService
gen/Network/Google/Resource/Compute/TargetHTTPProxies/Insert.hs view
@@ -14,7 +14,7 @@ -- | -- Module : Network.Google.Resource.Compute.TargetHTTPProxies.Insert--- Copyright : (c) 2015 Brendan Hay+-- Copyright : (c) 2015-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -58,7 +58,7 @@ -- data included in the request. -- -- /See:/ 'targetHTTPProxiesInsert' smart constructor.-data TargetHTTPProxiesInsert = TargetHTTPProxiesInsert+data TargetHTTPProxiesInsert = TargetHTTPProxiesInsert' { _thttppiProject :: !Text , _thttppiPayload :: !TargetHTTPProxy } deriving (Eq,Show,Data,Typeable,Generic)@@ -75,12 +75,12 @@ -> TargetHTTPProxy -- ^ 'thttppiPayload' -> TargetHTTPProxiesInsert targetHTTPProxiesInsert pThttppiProject_ pThttppiPayload_ =- TargetHTTPProxiesInsert+ TargetHTTPProxiesInsert' { _thttppiProject = pThttppiProject_ , _thttppiPayload = pThttppiPayload_ } --- | Name of the project scoping this request.+-- | Project ID for this request. thttppiProject :: Lens' TargetHTTPProxiesInsert Text thttppiProject = lens _thttppiProject@@ -94,7 +94,10 @@ instance GoogleRequest TargetHTTPProxiesInsert where type Rs TargetHTTPProxiesInsert = Operation- requestClient TargetHTTPProxiesInsert{..}+ type Scopes TargetHTTPProxiesInsert =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient TargetHTTPProxiesInsert'{..} = go _thttppiProject (Just AltJSON) _thttppiPayload computeService where go
gen/Network/Google/Resource/Compute/TargetHTTPProxies/List.hs view
@@ -14,7 +14,7 @@ -- | -- Module : Network.Google.Resource.Compute.TargetHTTPProxies.List--- Copyright : (c) 2015 Brendan Hay+-- Copyright : (c) 2015-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -62,7 +62,7 @@ -- specified project. -- -- /See:/ 'targetHTTPProxiesList' smart constructor.-data TargetHTTPProxiesList = TargetHTTPProxiesList+data TargetHTTPProxiesList = TargetHTTPProxiesList' { _thttpplProject :: !Text , _thttpplFilter :: !(Maybe Text) , _thttpplPageToken :: !(Maybe Text)@@ -84,44 +84,56 @@ :: Text -- ^ 'thttpplProject' -> TargetHTTPProxiesList targetHTTPProxiesList pThttpplProject_ =- TargetHTTPProxiesList+ TargetHTTPProxiesList' { _thttpplProject = pThttpplProject_ , _thttpplFilter = Nothing , _thttpplPageToken = Nothing , _thttpplMaxResults = 500 } --- | Name of the project scoping this request.+-- | Project ID for this request. thttpplProject :: Lens' TargetHTTPProxiesList Text thttpplProject = lens _thttpplProject (\ s a -> s{_thttpplProject = 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+-- 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--- (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, filter=name ne--- example-instance.+-- (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. Compute Engine Beta API Only: When+-- filtering in the Beta API, you can also 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. thttpplFilter :: Lens' TargetHTTPProxiesList (Maybe Text) thttpplFilter = lens _thttpplFilter (\ s a -> s{_thttpplFilter = a}) --- | Specifies a page token to use. Use this parameter if you want to list--- the next page of results. Set pageToken to the nextPageToken returned by--- a previous list request.+-- | Specifies a page token to use. Set pageToken to the nextPageToken+-- returned by a previous list request to get the next page of results. thttpplPageToken :: Lens' TargetHTTPProxiesList (Maybe Text) thttpplPageToken = lens _thttpplPageToken (\ s a -> s{_thttpplPageToken = a}) --- | Maximum count of results to be returned.+-- | 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. thttpplMaxResults :: Lens' TargetHTTPProxiesList Word32 thttpplMaxResults = lens _thttpplMaxResults@@ -130,7 +142,11 @@ instance GoogleRequest TargetHTTPProxiesList where type Rs TargetHTTPProxiesList = TargetHTTPProxyList- requestClient TargetHTTPProxiesList{..}+ type Scopes TargetHTTPProxiesList =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute",+ "https://www.googleapis.com/auth/compute.readonly"]+ requestClient TargetHTTPProxiesList'{..} = go _thttpplProject _thttpplFilter _thttpplPageToken (Just _thttpplMaxResults) (Just AltJSON)
gen/Network/Google/Resource/Compute/TargetHTTPProxies/SetURLMap.hs view
@@ -14,7 +14,7 @@ -- | -- Module : Network.Google.Resource.Compute.TargetHTTPProxies.SetURLMap--- Copyright : (c) 2015 Brendan Hay+-- Copyright : (c) 2015-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -58,7 +58,7 @@ -- | Changes the URL map for TargetHttpProxy. -- -- /See:/ 'targetHTTPProxiesSetURLMap' smart constructor.-data TargetHTTPProxiesSetURLMap = TargetHTTPProxiesSetURLMap+data TargetHTTPProxiesSetURLMap = TargetHTTPProxiesSetURLMap' { _thttppsumProject :: !Text , _thttppsumPayload :: !URLMapReference , _thttppsumTargetHTTPProxy :: !Text@@ -79,13 +79,13 @@ -> Text -- ^ 'thttppsumTargetHTTPProxy' -> TargetHTTPProxiesSetURLMap targetHTTPProxiesSetURLMap pThttppsumProject_ pThttppsumPayload_ pThttppsumTargetHTTPProxy_ =- TargetHTTPProxiesSetURLMap+ TargetHTTPProxiesSetURLMap' { _thttppsumProject = pThttppsumProject_ , _thttppsumPayload = pThttppsumPayload_ , _thttppsumTargetHTTPProxy = pThttppsumTargetHTTPProxy_ } --- | Name of the project scoping this request.+-- | Project ID for this request. thttppsumProject :: Lens' TargetHTTPProxiesSetURLMap Text thttppsumProject = lens _thttppsumProject@@ -97,7 +97,7 @@ = lens _thttppsumPayload (\ s a -> s{_thttppsumPayload = a}) --- | Name of the TargetHttpProxy resource whose URL map is to be set.+-- | Name of the TargetHttpProxy to set a URL map for. thttppsumTargetHTTPProxy :: Lens' TargetHTTPProxiesSetURLMap Text thttppsumTargetHTTPProxy = lens _thttppsumTargetHTTPProxy@@ -106,7 +106,10 @@ instance GoogleRequest TargetHTTPProxiesSetURLMap where type Rs TargetHTTPProxiesSetURLMap = Operation- requestClient TargetHTTPProxiesSetURLMap{..}+ type Scopes TargetHTTPProxiesSetURLMap =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient TargetHTTPProxiesSetURLMap'{..} = go _thttppsumProject _thttppsumTargetHTTPProxy (Just AltJSON) _thttppsumPayload
gen/Network/Google/Resource/Compute/TargetHTTPSProxies/Delete.hs view
@@ -14,7 +14,7 @@ -- | -- Module : Network.Google.Resource.Compute.TargetHTTPSProxies.Delete--- Copyright : (c) 2015 Brendan Hay+-- Copyright : (c) 2015-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -55,7 +55,7 @@ -- | Deletes the specified TargetHttpsProxy resource. -- -- /See:/ 'targetHTTPSProxiesDelete' smart constructor.-data TargetHTTPSProxiesDelete = TargetHTTPSProxiesDelete+data TargetHTTPSProxiesDelete = TargetHTTPSProxiesDelete' { _thpdProject :: !Text , _thpdTargetHTTPSProxy :: !Text } deriving (Eq,Show,Data,Typeable,Generic)@@ -72,12 +72,12 @@ -> Text -- ^ 'thpdTargetHTTPSProxy' -> TargetHTTPSProxiesDelete targetHTTPSProxiesDelete pThpdProject_ pThpdTargetHTTPSProxy_ =- TargetHTTPSProxiesDelete+ TargetHTTPSProxiesDelete' { _thpdProject = pThpdProject_ , _thpdTargetHTTPSProxy = pThpdTargetHTTPSProxy_ } --- | Name of the project scoping this request.+-- | Project ID for this request. thpdProject :: Lens' TargetHTTPSProxiesDelete Text thpdProject = lens _thpdProject (\ s a -> s{_thpdProject = a})@@ -90,7 +90,10 @@ instance GoogleRequest TargetHTTPSProxiesDelete where type Rs TargetHTTPSProxiesDelete = Operation- requestClient TargetHTTPSProxiesDelete{..}+ type Scopes TargetHTTPSProxiesDelete =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient TargetHTTPSProxiesDelete'{..} = go _thpdProject _thpdTargetHTTPSProxy (Just AltJSON) computeService
gen/Network/Google/Resource/Compute/TargetHTTPSProxies/Get.hs view
@@ -14,13 +14,14 @@ -- | -- Module : Network.Google.Resource.Compute.TargetHTTPSProxies.Get--- Copyright : (c) 2015 Brendan Hay+-- 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 TargetHttpsProxy resource.+-- Returns the specified TargetHttpsProxy resource. Get a list of available+-- target HTTPS proxies by making a list() request. -- -- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.targetHttpsProxies.get@. module Network.Google.Resource.Compute.TargetHTTPSProxies.Get@@ -53,10 +54,11 @@ QueryParam "alt" AltJSON :> Get '[JSON] TargetHTTPSProxy --- | Returns the specified TargetHttpsProxy resource.+-- | Returns the specified TargetHttpsProxy resource. Get a list of available+-- target HTTPS proxies by making a list() request. -- -- /See:/ 'targetHTTPSProxiesGet' smart constructor.-data TargetHTTPSProxiesGet = TargetHTTPSProxiesGet+data TargetHTTPSProxiesGet = TargetHTTPSProxiesGet' { _thpgProject :: !Text , _thpgTargetHTTPSProxy :: !Text } deriving (Eq,Show,Data,Typeable,Generic)@@ -73,12 +75,12 @@ -> Text -- ^ 'thpgTargetHTTPSProxy' -> TargetHTTPSProxiesGet targetHTTPSProxiesGet pThpgProject_ pThpgTargetHTTPSProxy_ =- TargetHTTPSProxiesGet+ TargetHTTPSProxiesGet' { _thpgProject = pThpgProject_ , _thpgTargetHTTPSProxy = pThpgTargetHTTPSProxy_ } --- | Name of the project scoping this request.+-- | Project ID for this request. thpgProject :: Lens' TargetHTTPSProxiesGet Text thpgProject = lens _thpgProject (\ s a -> s{_thpgProject = a})@@ -91,7 +93,11 @@ instance GoogleRequest TargetHTTPSProxiesGet where type Rs TargetHTTPSProxiesGet = TargetHTTPSProxy- requestClient TargetHTTPSProxiesGet{..}+ type Scopes TargetHTTPSProxiesGet =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute",+ "https://www.googleapis.com/auth/compute.readonly"]+ requestClient TargetHTTPSProxiesGet'{..} = go _thpgProject _thpgTargetHTTPSProxy (Just AltJSON) computeService
gen/Network/Google/Resource/Compute/TargetHTTPSProxies/Insert.hs view
@@ -14,7 +14,7 @@ -- | -- Module : Network.Google.Resource.Compute.TargetHTTPSProxies.Insert--- Copyright : (c) 2015 Brendan Hay+-- Copyright : (c) 2015-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -58,7 +58,7 @@ -- data included in the request. -- -- /See:/ 'targetHTTPSProxiesInsert' smart constructor.-data TargetHTTPSProxiesInsert = TargetHTTPSProxiesInsert+data TargetHTTPSProxiesInsert = TargetHTTPSProxiesInsert' { _thpiProject :: !Text , _thpiPayload :: !TargetHTTPSProxy } deriving (Eq,Show,Data,Typeable,Generic)@@ -75,12 +75,12 @@ -> TargetHTTPSProxy -- ^ 'thpiPayload' -> TargetHTTPSProxiesInsert targetHTTPSProxiesInsert pThpiProject_ pThpiPayload_ =- TargetHTTPSProxiesInsert+ TargetHTTPSProxiesInsert' { _thpiProject = pThpiProject_ , _thpiPayload = pThpiPayload_ } --- | Name of the project scoping this request.+-- | Project ID for this request. thpiProject :: Lens' TargetHTTPSProxiesInsert Text thpiProject = lens _thpiProject (\ s a -> s{_thpiProject = a})@@ -92,7 +92,10 @@ instance GoogleRequest TargetHTTPSProxiesInsert where type Rs TargetHTTPSProxiesInsert = Operation- requestClient TargetHTTPSProxiesInsert{..}+ type Scopes TargetHTTPSProxiesInsert =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient TargetHTTPSProxiesInsert'{..} = go _thpiProject (Just AltJSON) _thpiPayload computeService where go
gen/Network/Google/Resource/Compute/TargetHTTPSProxies/List.hs view
@@ -14,7 +14,7 @@ -- | -- Module : Network.Google.Resource.Compute.TargetHTTPSProxies.List--- Copyright : (c) 2015 Brendan Hay+-- Copyright : (c) 2015-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -62,7 +62,7 @@ -- specified project. -- -- /See:/ 'targetHTTPSProxiesList' smart constructor.-data TargetHTTPSProxiesList = TargetHTTPSProxiesList+data TargetHTTPSProxiesList = TargetHTTPSProxiesList' { _thplProject :: !Text , _thplFilter :: !(Maybe Text) , _thplPageToken :: !(Maybe Text)@@ -84,42 +84,54 @@ :: Text -- ^ 'thplProject' -> TargetHTTPSProxiesList targetHTTPSProxiesList pThplProject_ =- TargetHTTPSProxiesList+ TargetHTTPSProxiesList' { _thplProject = pThplProject_ , _thplFilter = Nothing , _thplPageToken = Nothing , _thplMaxResults = 500 } --- | Name of the project scoping this request.+-- | Project ID for this request. thplProject :: Lens' TargetHTTPSProxiesList Text thplProject = lens _thplProject (\ s a -> s{_thplProject = 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+-- 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--- (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, filter=name ne--- example-instance.+-- (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. Compute Engine Beta API Only: When+-- filtering in the Beta API, you can also 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. thplFilter :: Lens' TargetHTTPSProxiesList (Maybe Text) thplFilter = lens _thplFilter (\ s a -> s{_thplFilter = a}) --- | Specifies a page token to use. Use this parameter if you want to list--- the next page of results. Set pageToken to the nextPageToken returned by--- a previous list request.+-- | Specifies a page token to use. Set pageToken to the nextPageToken+-- returned by a previous list request to get the next page of results. thplPageToken :: Lens' TargetHTTPSProxiesList (Maybe Text) thplPageToken = lens _thplPageToken (\ s a -> s{_thplPageToken = a}) --- | Maximum count of results to be returned.+-- | 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. thplMaxResults :: Lens' TargetHTTPSProxiesList Word32 thplMaxResults = lens _thplMaxResults@@ -128,7 +140,11 @@ instance GoogleRequest TargetHTTPSProxiesList where type Rs TargetHTTPSProxiesList = TargetHTTPSProxyList- requestClient TargetHTTPSProxiesList{..}+ type Scopes TargetHTTPSProxiesList =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute",+ "https://www.googleapis.com/auth/compute.readonly"]+ requestClient TargetHTTPSProxiesList'{..} = go _thplProject _thplFilter _thplPageToken (Just _thplMaxResults) (Just AltJSON)
gen/Network/Google/Resource/Compute/TargetHTTPSProxies/SetSSLCertificates.hs view
@@ -14,7 +14,7 @@ -- | -- Module : Network.Google.Resource.Compute.TargetHTTPSProxies.SetSSLCertificates--- Copyright : (c) 2015 Brendan Hay+-- Copyright : (c) 2015-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -59,7 +59,7 @@ -- | Replaces SslCertificates for TargetHttpsProxy. -- -- /See:/ 'targetHTTPSProxiesSetSSLCertificates' smart constructor.-data TargetHTTPSProxiesSetSSLCertificates = TargetHTTPSProxiesSetSSLCertificates+data TargetHTTPSProxiesSetSSLCertificates = TargetHTTPSProxiesSetSSLCertificates' { _thpsscProject :: !Text , _thpsscPayload :: !TargetHTTPSProxiesSetSSLCertificatesRequest , _thpsscTargetHTTPSProxy :: !Text@@ -80,13 +80,13 @@ -> Text -- ^ 'thpsscTargetHTTPSProxy' -> TargetHTTPSProxiesSetSSLCertificates targetHTTPSProxiesSetSSLCertificates pThpsscProject_ pThpsscPayload_ pThpsscTargetHTTPSProxy_ =- TargetHTTPSProxiesSetSSLCertificates+ TargetHTTPSProxiesSetSSLCertificates' { _thpsscProject = pThpsscProject_ , _thpsscPayload = pThpsscPayload_ , _thpsscTargetHTTPSProxy = pThpsscTargetHTTPSProxy_ } --- | Name of the project scoping this request.+-- | Project ID for this request. thpsscProject :: Lens' TargetHTTPSProxiesSetSSLCertificates Text thpsscProject = lens _thpsscProject@@ -98,7 +98,8 @@ = lens _thpsscPayload (\ s a -> s{_thpsscPayload = a}) --- | Name of the TargetHttpsProxy resource whose URL map is to be set.+-- | Name of the TargetHttpsProxy resource to set an SslCertificates resource+-- for. thpsscTargetHTTPSProxy :: Lens' TargetHTTPSProxiesSetSSLCertificates Text thpsscTargetHTTPSProxy = lens _thpsscTargetHTTPSProxy@@ -108,8 +109,11 @@ TargetHTTPSProxiesSetSSLCertificates where type Rs TargetHTTPSProxiesSetSSLCertificates = Operation+ type Scopes TargetHTTPSProxiesSetSSLCertificates =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"] requestClient- TargetHTTPSProxiesSetSSLCertificates{..}+ TargetHTTPSProxiesSetSSLCertificates'{..} = go _thpsscProject _thpsscTargetHTTPSProxy (Just AltJSON) _thpsscPayload
gen/Network/Google/Resource/Compute/TargetHTTPSProxies/SetURLMap.hs view
@@ -14,7 +14,7 @@ -- | -- Module : Network.Google.Resource.Compute.TargetHTTPSProxies.SetURLMap--- Copyright : (c) 2015 Brendan Hay+-- Copyright : (c) 2015-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -58,7 +58,7 @@ -- | Changes the URL map for TargetHttpsProxy. -- -- /See:/ 'targetHTTPSProxiesSetURLMap' smart constructor.-data TargetHTTPSProxiesSetURLMap = TargetHTTPSProxiesSetURLMap+data TargetHTTPSProxiesSetURLMap = TargetHTTPSProxiesSetURLMap' { _thpsumProject :: !Text , _thpsumPayload :: !URLMapReference , _thpsumTargetHTTPSProxy :: !Text@@ -79,13 +79,13 @@ -> Text -- ^ 'thpsumTargetHTTPSProxy' -> TargetHTTPSProxiesSetURLMap targetHTTPSProxiesSetURLMap pThpsumProject_ pThpsumPayload_ pThpsumTargetHTTPSProxy_ =- TargetHTTPSProxiesSetURLMap+ TargetHTTPSProxiesSetURLMap' { _thpsumProject = pThpsumProject_ , _thpsumPayload = pThpsumPayload_ , _thpsumTargetHTTPSProxy = pThpsumTargetHTTPSProxy_ } --- | Name of the project scoping this request.+-- | Project ID for this request. thpsumProject :: Lens' TargetHTTPSProxiesSetURLMap Text thpsumProject = lens _thpsumProject@@ -106,7 +106,10 @@ instance GoogleRequest TargetHTTPSProxiesSetURLMap where type Rs TargetHTTPSProxiesSetURLMap = Operation- requestClient TargetHTTPSProxiesSetURLMap{..}+ type Scopes TargetHTTPSProxiesSetURLMap =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient TargetHTTPSProxiesSetURLMap'{..} = go _thpsumProject _thpsumTargetHTTPSProxy (Just AltJSON) _thpsumPayload
gen/Network/Google/Resource/Compute/TargetInstances/AggregatedList.hs view
@@ -14,13 +14,13 @@ -- | -- Module : Network.Google.Resource.Compute.TargetInstances.AggregatedList--- Copyright : (c) 2015 Brendan Hay+-- 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 target instances grouped by scope.+-- Retrieves an aggregated list of target instances. -- -- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.targetInstances.aggregatedList@. module Network.Google.Resource.Compute.TargetInstances.AggregatedList@@ -57,10 +57,10 @@ QueryParam "alt" AltJSON :> Get '[JSON] TargetInstanceAggregatedList --- | Retrieves the list of target instances grouped by scope.+-- | Retrieves an aggregated list of target instances. -- -- /See:/ 'targetInstancesAggregatedList' smart constructor.-data TargetInstancesAggregatedList = TargetInstancesAggregatedList+data TargetInstancesAggregatedList = TargetInstancesAggregatedList' { _tialProject :: !Text , _tialFilter :: !(Maybe Text) , _tialPageToken :: !(Maybe Text)@@ -82,42 +82,54 @@ :: Text -- ^ 'tialProject' -> TargetInstancesAggregatedList targetInstancesAggregatedList pTialProject_ =- TargetInstancesAggregatedList+ TargetInstancesAggregatedList' { _tialProject = pTialProject_ , _tialFilter = Nothing , _tialPageToken = Nothing , _tialMaxResults = 500 } --- | Name of the project scoping this request.+-- | Project ID for this request. tialProject :: Lens' TargetInstancesAggregatedList Text tialProject = lens _tialProject (\ s a -> s{_tialProject = 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+-- 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--- (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, filter=name ne--- example-instance.+-- (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. Compute Engine Beta API Only: When+-- filtering in the Beta API, you can also 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. tialFilter :: Lens' TargetInstancesAggregatedList (Maybe Text) tialFilter = lens _tialFilter (\ s a -> s{_tialFilter = a}) --- | Specifies a page token to use. Use this parameter if you want to list--- the next page of results. Set pageToken to the nextPageToken returned by--- a previous list request.+-- | Specifies a page token to use. Set pageToken to the nextPageToken+-- returned by a previous list request to get the next page of results. tialPageToken :: Lens' TargetInstancesAggregatedList (Maybe Text) tialPageToken = lens _tialPageToken (\ s a -> s{_tialPageToken = a}) --- | Maximum count of results to be returned.+-- | 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. tialMaxResults :: Lens' TargetInstancesAggregatedList Word32 tialMaxResults = lens _tialMaxResults@@ -128,7 +140,11 @@ where type Rs TargetInstancesAggregatedList = TargetInstanceAggregatedList- requestClient TargetInstancesAggregatedList{..}+ type Scopes TargetInstancesAggregatedList =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute",+ "https://www.googleapis.com/auth/compute.readonly"]+ requestClient TargetInstancesAggregatedList'{..} = go _tialProject _tialFilter _tialPageToken (Just _tialMaxResults) (Just AltJSON)
gen/Network/Google/Resource/Compute/TargetInstances/Delete.hs view
@@ -14,7 +14,7 @@ -- | -- Module : Network.Google.Resource.Compute.TargetInstances.Delete--- Copyright : (c) 2015 Brendan Hay+-- Copyright : (c) 2015-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -57,7 +57,7 @@ -- | Deletes the specified TargetInstance resource. -- -- /See:/ 'targetInstancesDelete' smart constructor.-data TargetInstancesDelete = TargetInstancesDelete+data TargetInstancesDelete = TargetInstancesDelete' { _tidProject :: !Text , _tidTargetInstance :: !Text , _tidZone :: !Text@@ -78,13 +78,13 @@ -> Text -- ^ 'tidZone' -> TargetInstancesDelete targetInstancesDelete pTidProject_ pTidTargetInstance_ pTidZone_ =- TargetInstancesDelete+ TargetInstancesDelete' { _tidProject = pTidProject_ , _tidTargetInstance = pTidTargetInstance_ , _tidZone = pTidZone_ } --- | Name of the project scoping this request.+-- | Project ID for this request. tidProject :: Lens' TargetInstancesDelete Text tidProject = lens _tidProject (\ s a -> s{_tidProject = a})@@ -101,7 +101,10 @@ instance GoogleRequest TargetInstancesDelete where type Rs TargetInstancesDelete = Operation- requestClient TargetInstancesDelete{..}+ type Scopes TargetInstancesDelete =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient TargetInstancesDelete'{..} = go _tidProject _tidZone _tidTargetInstance (Just AltJSON) computeService
gen/Network/Google/Resource/Compute/TargetInstances/Get.hs view
@@ -14,13 +14,14 @@ -- | -- Module : Network.Google.Resource.Compute.TargetInstances.Get--- Copyright : (c) 2015 Brendan Hay+-- 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 TargetInstance resource.+-- Returns the specified TargetInstance resource. Get a list of available+-- target instances by making a list() request. -- -- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.targetInstances.get@. module Network.Google.Resource.Compute.TargetInstances.Get@@ -55,10 +56,11 @@ QueryParam "alt" AltJSON :> Get '[JSON] TargetInstance --- | Returns the specified TargetInstance resource.+-- | Returns the specified TargetInstance resource. Get a list of available+-- target instances by making a list() request. -- -- /See:/ 'targetInstancesGet' smart constructor.-data TargetInstancesGet = TargetInstancesGet+data TargetInstancesGet = TargetInstancesGet' { _tigProject :: !Text , _tigTargetInstance :: !Text , _tigZone :: !Text@@ -79,13 +81,13 @@ -> Text -- ^ 'tigZone' -> TargetInstancesGet targetInstancesGet pTigProject_ pTigTargetInstance_ pTigZone_ =- TargetInstancesGet+ TargetInstancesGet' { _tigProject = pTigProject_ , _tigTargetInstance = pTigTargetInstance_ , _tigZone = pTigZone_ } --- | Name of the project scoping this request.+-- | Project ID for this request. tigProject :: Lens' TargetInstancesGet Text tigProject = lens _tigProject (\ s a -> s{_tigProject = a})@@ -102,7 +104,11 @@ instance GoogleRequest TargetInstancesGet where type Rs TargetInstancesGet = TargetInstance- requestClient TargetInstancesGet{..}+ type Scopes TargetInstancesGet =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute",+ "https://www.googleapis.com/auth/compute.readonly"]+ requestClient TargetInstancesGet'{..} = go _tigProject _tigZone _tigTargetInstance (Just AltJSON) computeService
gen/Network/Google/Resource/Compute/TargetInstances/Insert.hs view
@@ -14,7 +14,7 @@ -- | -- Module : Network.Google.Resource.Compute.TargetInstances.Insert--- Copyright : (c) 2015 Brendan Hay+-- Copyright : (c) 2015-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -60,7 +60,7 @@ -- using the data included in the request. -- -- /See:/ 'targetInstancesInsert' smart constructor.-data TargetInstancesInsert = TargetInstancesInsert+data TargetInstancesInsert = TargetInstancesInsert' { _tiiProject :: !Text , _tiiZone :: !Text , _tiiPayload :: !TargetInstance@@ -81,13 +81,13 @@ -> TargetInstance -- ^ 'tiiPayload' -> TargetInstancesInsert targetInstancesInsert pTiiProject_ pTiiZone_ pTiiPayload_ =- TargetInstancesInsert+ TargetInstancesInsert' { _tiiProject = pTiiProject_ , _tiiZone = pTiiZone_ , _tiiPayload = pTiiPayload_ } --- | Name of the project scoping this request.+-- | Project ID for this request. tiiProject :: Lens' TargetInstancesInsert Text tiiProject = lens _tiiProject (\ s a -> s{_tiiProject = a})@@ -103,7 +103,10 @@ instance GoogleRequest TargetInstancesInsert where type Rs TargetInstancesInsert = Operation- requestClient TargetInstancesInsert{..}+ type Scopes TargetInstancesInsert =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient TargetInstancesInsert'{..} = go _tiiProject _tiiZone (Just AltJSON) _tiiPayload computeService where go
gen/Network/Google/Resource/Compute/TargetInstances/List.hs view
@@ -14,14 +14,14 @@ -- | -- Module : Network.Google.Resource.Compute.TargetInstances.List--- Copyright : (c) 2015 Brendan Hay+-- 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 TargetInstance resources available to the--- specified project and zone.+-- Retrieves a list of TargetInstance resources available to the specified+-- project and zone. -- -- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.targetInstances.list@. module Network.Google.Resource.Compute.TargetInstances.List@@ -60,11 +60,11 @@ QueryParam "alt" AltJSON :> Get '[JSON] TargetInstanceList --- | Retrieves the list of TargetInstance resources available to the--- specified project and zone.+-- | Retrieves a list of TargetInstance resources available to the specified+-- project and zone. -- -- /See:/ 'targetInstancesList' smart constructor.-data TargetInstancesList = TargetInstancesList+data TargetInstancesList = TargetInstancesList' { _tilProject :: !Text , _tilZone :: !Text , _tilFilter :: !(Maybe Text)@@ -90,7 +90,7 @@ -> Text -- ^ 'tilZone' -> TargetInstancesList targetInstancesList pTilProject_ pTilZone_ =- TargetInstancesList+ TargetInstancesList' { _tilProject = pTilProject_ , _tilZone = pTilZone_ , _tilFilter = Nothing@@ -98,7 +98,7 @@ , _tilMaxResults = 500 } --- | Name of the project scoping this request.+-- | Project ID for this request. tilProject :: Lens' TargetInstancesList Text tilProject = lens _tilProject (\ s a -> s{_tilProject = a})@@ -108,28 +108,40 @@ tilZone = lens _tilZone (\ s a -> s{_tilZone = 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+-- 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--- (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, filter=name ne--- example-instance.+-- (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. Compute Engine Beta API Only: When+-- filtering in the Beta API, you can also 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. tilFilter :: Lens' TargetInstancesList (Maybe Text) tilFilter = lens _tilFilter (\ s a -> s{_tilFilter = a}) --- | Specifies a page token to use. Use this parameter if you want to list--- the next page of results. Set pageToken to the nextPageToken returned by--- a previous list request.+-- | Specifies a page token to use. Set pageToken to the nextPageToken+-- returned by a previous list request to get the next page of results. tilPageToken :: Lens' TargetInstancesList (Maybe Text) tilPageToken = lens _tilPageToken (\ s a -> s{_tilPageToken = a}) --- | Maximum count of results to be returned.+-- | 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. tilMaxResults :: Lens' TargetInstancesList Word32 tilMaxResults = lens _tilMaxResults@@ -138,7 +150,11 @@ instance GoogleRequest TargetInstancesList where type Rs TargetInstancesList = TargetInstanceList- requestClient TargetInstancesList{..}+ type Scopes TargetInstancesList =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute",+ "https://www.googleapis.com/auth/compute.readonly"]+ requestClient TargetInstancesList'{..} = go _tilProject _tilZone _tilFilter _tilPageToken (Just _tilMaxResults) (Just AltJSON)
gen/Network/Google/Resource/Compute/TargetPools/AddHealthCheck.hs view
@@ -14,13 +14,13 @@ -- | -- Module : Network.Google.Resource.Compute.TargetPools.AddHealthCheck--- Copyright : (c) 2015 Brendan Hay+-- 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) ----- Adds health check URL to targetPool.+-- Adds health check URLs to a target pool. -- -- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.targetPools.addHealthCheck@. module Network.Google.Resource.Compute.TargetPools.AddHealthCheck@@ -58,10 +58,10 @@ ReqBody '[JSON] TargetPoolsAddHealthCheckRequest :> Post '[JSON] Operation --- | Adds health check URL to targetPool.+-- | Adds health check URLs to a target pool. -- -- /See:/ 'targetPoolsAddHealthCheck' smart constructor.-data TargetPoolsAddHealthCheck = TargetPoolsAddHealthCheck+data TargetPoolsAddHealthCheck = TargetPoolsAddHealthCheck' { _tpahcProject :: !Text , _tpahcTargetPool :: !Text , _tpahcPayload :: !TargetPoolsAddHealthCheckRequest@@ -86,19 +86,19 @@ -> Text -- ^ 'tpahcRegion' -> TargetPoolsAddHealthCheck targetPoolsAddHealthCheck pTpahcProject_ pTpahcTargetPool_ pTpahcPayload_ pTpahcRegion_ =- TargetPoolsAddHealthCheck+ TargetPoolsAddHealthCheck' { _tpahcProject = pTpahcProject_ , _tpahcTargetPool = pTpahcTargetPool_ , _tpahcPayload = pTpahcPayload_ , _tpahcRegion = pTpahcRegion_ } +-- | Project ID for this request. tpahcProject :: Lens' TargetPoolsAddHealthCheck Text tpahcProject = lens _tpahcProject (\ s a -> s{_tpahcProject = a}) --- | Name of the TargetPool resource to which health_check_url is to be--- added.+-- | Name of the target pool to add a health check to. tpahcTargetPool :: Lens' TargetPoolsAddHealthCheck Text tpahcTargetPool = lens _tpahcTargetPool@@ -117,7 +117,10 @@ instance GoogleRequest TargetPoolsAddHealthCheck where type Rs TargetPoolsAddHealthCheck = Operation- requestClient TargetPoolsAddHealthCheck{..}+ type Scopes TargetPoolsAddHealthCheck =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient TargetPoolsAddHealthCheck'{..} = go _tpahcProject _tpahcRegion _tpahcTargetPool (Just AltJSON) _tpahcPayload
gen/Network/Google/Resource/Compute/TargetPools/AddInstance.hs view
@@ -14,13 +14,13 @@ -- | -- Module : Network.Google.Resource.Compute.TargetPools.AddInstance--- Copyright : (c) 2015 Brendan Hay+-- 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) ----- Adds instance url to targetPool.+-- Adds an instance to a target pool. -- -- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.targetPools.addInstance@. module Network.Google.Resource.Compute.TargetPools.AddInstance@@ -58,10 +58,10 @@ ReqBody '[JSON] TargetPoolsAddInstanceRequest :> Post '[JSON] Operation --- | Adds instance url to targetPool.+-- | Adds an instance to a target pool. -- -- /See:/ 'targetPoolsAddInstance' smart constructor.-data TargetPoolsAddInstance = TargetPoolsAddInstance+data TargetPoolsAddInstance = TargetPoolsAddInstance' { _tpaiProject :: !Text , _tpaiTargetPool :: !Text , _tpaiPayload :: !TargetPoolsAddInstanceRequest@@ -86,18 +86,19 @@ -> Text -- ^ 'tpaiRegion' -> TargetPoolsAddInstance targetPoolsAddInstance pTpaiProject_ pTpaiTargetPool_ pTpaiPayload_ pTpaiRegion_ =- TargetPoolsAddInstance+ TargetPoolsAddInstance' { _tpaiProject = pTpaiProject_ , _tpaiTargetPool = pTpaiTargetPool_ , _tpaiPayload = pTpaiPayload_ , _tpaiRegion = pTpaiRegion_ } +-- | Project ID for this request. tpaiProject :: Lens' TargetPoolsAddInstance Text tpaiProject = lens _tpaiProject (\ s a -> s{_tpaiProject = a}) --- | Name of the TargetPool resource to which instance_url is to be added.+-- | Name of the TargetPool resource to add instances to. tpaiTargetPool :: Lens' TargetPoolsAddInstance Text tpaiTargetPool = lens _tpaiTargetPool@@ -115,7 +116,10 @@ instance GoogleRequest TargetPoolsAddInstance where type Rs TargetPoolsAddInstance = Operation- requestClient TargetPoolsAddInstance{..}+ type Scopes TargetPoolsAddInstance =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient TargetPoolsAddInstance'{..} = go _tpaiProject _tpaiRegion _tpaiTargetPool (Just AltJSON) _tpaiPayload
gen/Network/Google/Resource/Compute/TargetPools/AggregatedList.hs view
@@ -14,13 +14,13 @@ -- | -- Module : Network.Google.Resource.Compute.TargetPools.AggregatedList--- Copyright : (c) 2015 Brendan Hay+-- 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 target pools grouped by scope.+-- Retrieves an aggregated list of target pools. -- -- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.targetPools.aggregatedList@. module Network.Google.Resource.Compute.TargetPools.AggregatedList@@ -57,10 +57,10 @@ QueryParam "alt" AltJSON :> Get '[JSON] TargetPoolAggregatedList --- | Retrieves the list of target pools grouped by scope.+-- | Retrieves an aggregated list of target pools. -- -- /See:/ 'targetPoolsAggregatedList' smart constructor.-data TargetPoolsAggregatedList = TargetPoolsAggregatedList+data TargetPoolsAggregatedList = TargetPoolsAggregatedList' { _tpalProject :: !Text , _tpalFilter :: !(Maybe Text) , _tpalPageToken :: !(Maybe Text)@@ -82,42 +82,54 @@ :: Text -- ^ 'tpalProject' -> TargetPoolsAggregatedList targetPoolsAggregatedList pTpalProject_ =- TargetPoolsAggregatedList+ TargetPoolsAggregatedList' { _tpalProject = pTpalProject_ , _tpalFilter = Nothing , _tpalPageToken = Nothing , _tpalMaxResults = 500 } --- | Name of the project scoping this request.+-- | Project ID for this request. tpalProject :: Lens' TargetPoolsAggregatedList Text tpalProject = lens _tpalProject (\ s a -> s{_tpalProject = 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+-- 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--- (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, filter=name ne--- example-instance.+-- (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. Compute Engine Beta API Only: When+-- filtering in the Beta API, you can also 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. tpalFilter :: Lens' TargetPoolsAggregatedList (Maybe Text) tpalFilter = lens _tpalFilter (\ s a -> s{_tpalFilter = a}) --- | Specifies a page token to use. Use this parameter if you want to list--- the next page of results. Set pageToken to the nextPageToken returned by--- a previous list request.+-- | Specifies a page token to use. Set pageToken to the nextPageToken+-- returned by a previous list request to get the next page of results. tpalPageToken :: Lens' TargetPoolsAggregatedList (Maybe Text) tpalPageToken = lens _tpalPageToken (\ s a -> s{_tpalPageToken = a}) --- | Maximum count of results to be returned.+-- | 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. tpalMaxResults :: Lens' TargetPoolsAggregatedList Word32 tpalMaxResults = lens _tpalMaxResults@@ -128,7 +140,11 @@ where type Rs TargetPoolsAggregatedList = TargetPoolAggregatedList- requestClient TargetPoolsAggregatedList{..}+ type Scopes TargetPoolsAggregatedList =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute",+ "https://www.googleapis.com/auth/compute.readonly"]+ requestClient TargetPoolsAggregatedList'{..} = go _tpalProject _tpalFilter _tpalPageToken (Just _tpalMaxResults) (Just AltJSON)
gen/Network/Google/Resource/Compute/TargetPools/Delete.hs view
@@ -14,13 +14,13 @@ -- | -- Module : Network.Google.Resource.Compute.TargetPools.Delete--- Copyright : (c) 2015 Brendan Hay+-- 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 TargetPool resource.+-- Deletes the specified target pool. -- -- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.targetPools.delete@. module Network.Google.Resource.Compute.TargetPools.Delete@@ -54,10 +54,10 @@ Capture "targetPool" Text :> QueryParam "alt" AltJSON :> Delete '[JSON] Operation --- | Deletes the specified TargetPool resource.+-- | Deletes the specified target pool. -- -- /See:/ 'targetPoolsDelete' smart constructor.-data TargetPoolsDelete = TargetPoolsDelete+data TargetPoolsDelete = TargetPoolsDelete' { _tpdProject :: !Text , _tpdTargetPool :: !Text , _tpdRegion :: !Text@@ -78,13 +78,13 @@ -> Text -- ^ 'tpdRegion' -> TargetPoolsDelete targetPoolsDelete pTpdProject_ pTpdTargetPool_ pTpdRegion_ =- TargetPoolsDelete+ TargetPoolsDelete' { _tpdProject = pTpdProject_ , _tpdTargetPool = pTpdTargetPool_ , _tpdRegion = pTpdRegion_ } --- | Name of the project scoping this request.+-- | Project ID for this request. tpdProject :: Lens' TargetPoolsDelete Text tpdProject = lens _tpdProject (\ s a -> s{_tpdProject = a})@@ -102,7 +102,10 @@ instance GoogleRequest TargetPoolsDelete where type Rs TargetPoolsDelete = Operation- requestClient TargetPoolsDelete{..}+ type Scopes TargetPoolsDelete =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient TargetPoolsDelete'{..} = go _tpdProject _tpdRegion _tpdTargetPool (Just AltJSON) computeService
gen/Network/Google/Resource/Compute/TargetPools/Get.hs view
@@ -14,13 +14,14 @@ -- | -- Module : Network.Google.Resource.Compute.TargetPools.Get--- Copyright : (c) 2015 Brendan Hay+-- 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 TargetPool resource.+-- Returns the specified target pool. Get a list of available target pools+-- by making a list() request. -- -- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.targetPools.get@. module Network.Google.Resource.Compute.TargetPools.Get@@ -54,10 +55,11 @@ Capture "targetPool" Text :> QueryParam "alt" AltJSON :> Get '[JSON] TargetPool --- | Returns the specified TargetPool resource.+-- | Returns the specified target pool. Get a list of available target pools+-- by making a list() request. -- -- /See:/ 'targetPoolsGet' smart constructor.-data TargetPoolsGet = TargetPoolsGet+data TargetPoolsGet = TargetPoolsGet' { _tpgProject :: !Text , _tpgTargetPool :: !Text , _tpgRegion :: !Text@@ -78,13 +80,13 @@ -> Text -- ^ 'tpgRegion' -> TargetPoolsGet targetPoolsGet pTpgProject_ pTpgTargetPool_ pTpgRegion_ =- TargetPoolsGet+ TargetPoolsGet' { _tpgProject = pTpgProject_ , _tpgTargetPool = pTpgTargetPool_ , _tpgRegion = pTpgRegion_ } --- | Name of the project scoping this request.+-- | Project ID for this request. tpgProject :: Lens' TargetPoolsGet Text tpgProject = lens _tpgProject (\ s a -> s{_tpgProject = a})@@ -102,7 +104,11 @@ instance GoogleRequest TargetPoolsGet where type Rs TargetPoolsGet = TargetPool- requestClient TargetPoolsGet{..}+ type Scopes TargetPoolsGet =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute",+ "https://www.googleapis.com/auth/compute.readonly"]+ requestClient TargetPoolsGet'{..} = go _tpgProject _tpgRegion _tpgTargetPool (Just AltJSON) computeService
gen/Network/Google/Resource/Compute/TargetPools/GetHealth.hs view
@@ -14,14 +14,14 @@ -- | -- Module : Network.Google.Resource.Compute.TargetPools.GetHealth--- Copyright : (c) 2015 Brendan Hay+-- Copyright : (c) 2015-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated -- Portability : non-portable (GHC extensions) ----- Gets the most recent health check results for each IP for the given--- instance that is referenced by given TargetPool.+-- Gets the most recent health check results for each IP for the instance+-- that is referenced by the given target pool. -- -- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.targetPools.getHealth@. module Network.Google.Resource.Compute.TargetPools.GetHealth@@ -59,11 +59,11 @@ ReqBody '[JSON] InstanceReference :> Post '[JSON] TargetPoolInstanceHealth --- | Gets the most recent health check results for each IP for the given--- instance that is referenced by given TargetPool.+-- | Gets the most recent health check results for each IP for the instance+-- that is referenced by the given target pool. -- -- /See:/ 'targetPoolsGetHealth' smart constructor.-data TargetPoolsGetHealth = TargetPoolsGetHealth+data TargetPoolsGetHealth = TargetPoolsGetHealth' { _tpghProject :: !Text , _tpghTargetPool :: !Text , _tpghPayload :: !InstanceReference@@ -88,13 +88,14 @@ -> Text -- ^ 'tpghRegion' -> TargetPoolsGetHealth targetPoolsGetHealth pTpghProject_ pTpghTargetPool_ pTpghPayload_ pTpghRegion_ =- TargetPoolsGetHealth+ TargetPoolsGetHealth' { _tpghProject = pTpghProject_ , _tpghTargetPool = pTpghTargetPool_ , _tpghPayload = pTpghPayload_ , _tpghRegion = pTpghRegion_ } +-- | Project ID for this request. tpghProject :: Lens' TargetPoolsGetHealth Text tpghProject = lens _tpghProject (\ s a -> s{_tpghProject = a})@@ -118,7 +119,11 @@ instance GoogleRequest TargetPoolsGetHealth where type Rs TargetPoolsGetHealth = TargetPoolInstanceHealth- requestClient TargetPoolsGetHealth{..}+ type Scopes TargetPoolsGetHealth =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute",+ "https://www.googleapis.com/auth/compute.readonly"]+ requestClient TargetPoolsGetHealth'{..} = go _tpghProject _tpghRegion _tpghTargetPool (Just AltJSON) _tpghPayload
gen/Network/Google/Resource/Compute/TargetPools/Insert.hs view
@@ -14,14 +14,14 @@ -- | -- Module : Network.Google.Resource.Compute.TargetPools.Insert--- Copyright : (c) 2015 Brendan Hay+-- 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 TargetPool resource in the specified project and region using--- the data included in the request.+-- Creates a target pool 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.targetPools.insert@. module Network.Google.Resource.Compute.TargetPools.Insert@@ -55,11 +55,11 @@ QueryParam "alt" AltJSON :> ReqBody '[JSON] TargetPool :> Post '[JSON] Operation --- | Creates a TargetPool resource in the specified project and region using--- the data included in the request.+-- | Creates a target pool in the specified project and region using the data+-- included in the request. -- -- /See:/ 'targetPoolsInsert' smart constructor.-data TargetPoolsInsert = TargetPoolsInsert+data TargetPoolsInsert = TargetPoolsInsert' { _tpiProject :: !Text , _tpiPayload :: !TargetPool , _tpiRegion :: !Text@@ -80,13 +80,13 @@ -> Text -- ^ 'tpiRegion' -> TargetPoolsInsert targetPoolsInsert pTpiProject_ pTpiPayload_ pTpiRegion_ =- TargetPoolsInsert+ TargetPoolsInsert' { _tpiProject = pTpiProject_ , _tpiPayload = pTpiPayload_ , _tpiRegion = pTpiRegion_ } --- | Name of the project scoping this request.+-- | Project ID for this request. tpiProject :: Lens' TargetPoolsInsert Text tpiProject = lens _tpiProject (\ s a -> s{_tpiProject = a})@@ -103,7 +103,10 @@ instance GoogleRequest TargetPoolsInsert where type Rs TargetPoolsInsert = Operation- requestClient TargetPoolsInsert{..}+ type Scopes TargetPoolsInsert =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient TargetPoolsInsert'{..} = go _tpiProject _tpiRegion (Just AltJSON) _tpiPayload computeService
gen/Network/Google/Resource/Compute/TargetPools/List.hs view
@@ -14,14 +14,14 @@ -- | -- Module : Network.Google.Resource.Compute.TargetPools.List--- Copyright : (c) 2015 Brendan Hay+-- 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 TargetPool resources available to the specified--- project and region.+-- Retrieves a list of target pools available to the specified project and+-- region. -- -- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.targetPools.list@. module Network.Google.Resource.Compute.TargetPools.List@@ -60,11 +60,11 @@ QueryParam "alt" AltJSON :> Get '[JSON] TargetPoolList --- | Retrieves the list of TargetPool resources available to the specified--- project and region.+-- | Retrieves a list of target pools available to the specified project and+-- region. -- -- /See:/ 'targetPoolsList' smart constructor.-data TargetPoolsList = TargetPoolsList+data TargetPoolsList = TargetPoolsList' { _tplProject :: !Text , _tplFilter :: !(Maybe Text) , _tplRegion :: !Text@@ -90,7 +90,7 @@ -> Text -- ^ 'tplRegion' -> TargetPoolsList targetPoolsList pTplProject_ pTplRegion_ =- TargetPoolsList+ TargetPoolsList' { _tplProject = pTplProject_ , _tplFilter = Nothing , _tplRegion = pTplRegion_@@ -98,22 +98,32 @@ , _tplMaxResults = 500 } --- | Name of the project scoping this request.+-- | Project ID for this request. tplProject :: Lens' TargetPoolsList Text tplProject = lens _tplProject (\ s a -> s{_tplProject = 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+-- 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--- (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, filter=name ne--- example-instance.+-- (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. Compute Engine Beta API Only: When+-- filtering in the Beta API, you can also 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. tplFilter :: Lens' TargetPoolsList (Maybe Text) tplFilter = lens _tplFilter (\ s a -> s{_tplFilter = a})@@ -123,14 +133,16 @@ tplRegion = lens _tplRegion (\ s a -> s{_tplRegion = a}) --- | Specifies a page token to use. Use this parameter if you want to list--- the next page of results. Set pageToken to the nextPageToken returned by--- a previous list request.+-- | Specifies a page token to use. Set pageToken to the nextPageToken+-- returned by a previous list request to get the next page of results. tplPageToken :: Lens' TargetPoolsList (Maybe Text) tplPageToken = lens _tplPageToken (\ s a -> s{_tplPageToken = a}) --- | Maximum count of results to be returned.+-- | 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. tplMaxResults :: Lens' TargetPoolsList Word32 tplMaxResults = lens _tplMaxResults@@ -139,7 +151,11 @@ instance GoogleRequest TargetPoolsList where type Rs TargetPoolsList = TargetPoolList- requestClient TargetPoolsList{..}+ type Scopes TargetPoolsList =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute",+ "https://www.googleapis.com/auth/compute.readonly"]+ requestClient TargetPoolsList'{..} = go _tplProject _tplRegion _tplFilter _tplPageToken (Just _tplMaxResults) (Just AltJSON)
gen/Network/Google/Resource/Compute/TargetPools/RemoveHealthCheck.hs view
@@ -14,13 +14,13 @@ -- | -- Module : Network.Google.Resource.Compute.TargetPools.RemoveHealthCheck--- Copyright : (c) 2015 Brendan Hay+-- 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) ----- Removes health check URL from targetPool.+-- Removes health check URL from a target pool. -- -- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.targetPools.removeHealthCheck@. module Network.Google.Resource.Compute.TargetPools.RemoveHealthCheck@@ -58,10 +58,10 @@ ReqBody '[JSON] TargetPoolsRemoveHealthCheckRequest :> Post '[JSON] Operation --- | Removes health check URL from targetPool.+-- | Removes health check URL from a target pool. -- -- /See:/ 'targetPoolsRemoveHealthCheck' smart constructor.-data TargetPoolsRemoveHealthCheck = TargetPoolsRemoveHealthCheck+data TargetPoolsRemoveHealthCheck = TargetPoolsRemoveHealthCheck' { _tprhcProject :: !Text , _tprhcTargetPool :: !Text , _tprhcPayload :: !TargetPoolsRemoveHealthCheckRequest@@ -86,19 +86,19 @@ -> Text -- ^ 'tprhcRegion' -> TargetPoolsRemoveHealthCheck targetPoolsRemoveHealthCheck pTprhcProject_ pTprhcTargetPool_ pTprhcPayload_ pTprhcRegion_ =- TargetPoolsRemoveHealthCheck+ TargetPoolsRemoveHealthCheck' { _tprhcProject = pTprhcProject_ , _tprhcTargetPool = pTprhcTargetPool_ , _tprhcPayload = pTprhcPayload_ , _tprhcRegion = pTprhcRegion_ } +-- | Project ID for this request. tprhcProject :: Lens' TargetPoolsRemoveHealthCheck Text tprhcProject = lens _tprhcProject (\ s a -> s{_tprhcProject = a}) --- | Name of the TargetPool resource to which health_check_url is to be--- removed.+-- | Name of the target pool to remove health checks from. tprhcTargetPool :: Lens' TargetPoolsRemoveHealthCheck Text tprhcTargetPool = lens _tprhcTargetPool@@ -109,7 +109,7 @@ tprhcPayload = lens _tprhcPayload (\ s a -> s{_tprhcPayload = a}) --- | Name of the region scoping this request.+-- | Name of the region for this request. tprhcRegion :: Lens' TargetPoolsRemoveHealthCheck Text tprhcRegion = lens _tprhcRegion (\ s a -> s{_tprhcRegion = a})@@ -117,7 +117,10 @@ instance GoogleRequest TargetPoolsRemoveHealthCheck where type Rs TargetPoolsRemoveHealthCheck = Operation- requestClient TargetPoolsRemoveHealthCheck{..}+ type Scopes TargetPoolsRemoveHealthCheck =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient TargetPoolsRemoveHealthCheck'{..} = go _tprhcProject _tprhcRegion _tprhcTargetPool (Just AltJSON) _tprhcPayload
gen/Network/Google/Resource/Compute/TargetPools/RemoveInstance.hs view
@@ -14,13 +14,13 @@ -- | -- Module : Network.Google.Resource.Compute.TargetPools.RemoveInstance--- Copyright : (c) 2015 Brendan Hay+-- 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) ----- Removes instance URL from targetPool.+-- Removes instance URL from a target pool. -- -- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.targetPools.removeInstance@. module Network.Google.Resource.Compute.TargetPools.RemoveInstance@@ -58,10 +58,10 @@ ReqBody '[JSON] TargetPoolsRemoveInstanceRequest :> Post '[JSON] Operation --- | Removes instance URL from targetPool.+-- | Removes instance URL from a target pool. -- -- /See:/ 'targetPoolsRemoveInstance' smart constructor.-data TargetPoolsRemoveInstance = TargetPoolsRemoveInstance+data TargetPoolsRemoveInstance = TargetPoolsRemoveInstance' { _tpriProject :: !Text , _tpriTargetPool :: !Text , _tpriPayload :: !TargetPoolsRemoveInstanceRequest@@ -86,18 +86,19 @@ -> Text -- ^ 'tpriRegion' -> TargetPoolsRemoveInstance targetPoolsRemoveInstance pTpriProject_ pTpriTargetPool_ pTpriPayload_ pTpriRegion_ =- TargetPoolsRemoveInstance+ TargetPoolsRemoveInstance' { _tpriProject = pTpriProject_ , _tpriTargetPool = pTpriTargetPool_ , _tpriPayload = pTpriPayload_ , _tpriRegion = pTpriRegion_ } +-- | Project ID for this request. tpriProject :: Lens' TargetPoolsRemoveInstance Text tpriProject = lens _tpriProject (\ s a -> s{_tpriProject = a}) --- | Name of the TargetPool resource to which instance_url is to be removed.+-- | Name of the TargetPool resource to remove instances from. tpriTargetPool :: Lens' TargetPoolsRemoveInstance Text tpriTargetPool = lens _tpriTargetPool@@ -116,7 +117,10 @@ instance GoogleRequest TargetPoolsRemoveInstance where type Rs TargetPoolsRemoveInstance = Operation- requestClient TargetPoolsRemoveInstance{..}+ type Scopes TargetPoolsRemoveInstance =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient TargetPoolsRemoveInstance'{..} = go _tpriProject _tpriRegion _tpriTargetPool (Just AltJSON) _tpriPayload
gen/Network/Google/Resource/Compute/TargetPools/SetBackup.hs view
@@ -14,13 +14,13 @@ -- | -- Module : Network.Google.Resource.Compute.TargetPools.SetBackup--- Copyright : (c) 2015 Brendan Hay+-- 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 backup pool configurations.+-- Changes a backup target pool\'s configurations. -- -- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.targetPools.setBackup@. module Network.Google.Resource.Compute.TargetPools.SetBackup@@ -60,10 +60,10 @@ ReqBody '[JSON] TargetReference :> Post '[JSON] Operation --- | Changes backup pool configurations.+-- | Changes a backup target pool\'s configurations. -- -- /See:/ 'targetPoolsSetBackup' smart constructor.-data TargetPoolsSetBackup = TargetPoolsSetBackup+data TargetPoolsSetBackup = TargetPoolsSetBackup' { _tpsbProject :: !Text , _tpsbTargetPool :: !Text , _tpsbPayload :: !TargetReference@@ -91,7 +91,7 @@ -> Text -- ^ 'tpsbRegion' -> TargetPoolsSetBackup targetPoolsSetBackup pTpsbProject_ pTpsbTargetPool_ pTpsbPayload_ pTpsbRegion_ =- TargetPoolsSetBackup+ TargetPoolsSetBackup' { _tpsbProject = pTpsbProject_ , _tpsbTargetPool = pTpsbTargetPool_ , _tpsbPayload = pTpsbPayload_@@ -99,12 +99,12 @@ , _tpsbRegion = pTpsbRegion_ } --- | Name of the project scoping this request.+-- | Project ID for this request. tpsbProject :: Lens' TargetPoolsSetBackup Text tpsbProject = lens _tpsbProject (\ s a -> s{_tpsbProject = a}) --- | Name of the TargetPool resource for which the backup is to be set.+-- | Name of the TargetPool resource to set a backup pool for. tpsbTargetPool :: Lens' TargetPoolsSetBackup Text tpsbTargetPool = lens _tpsbTargetPool@@ -115,7 +115,7 @@ tpsbPayload = lens _tpsbPayload (\ s a -> s{_tpsbPayload = a}) --- | New failoverRatio value for the containing target pool.+-- | New failoverRatio value for the target pool. tpsbFailoverRatio :: Lens' TargetPoolsSetBackup (Maybe Double) tpsbFailoverRatio = lens _tpsbFailoverRatio@@ -129,7 +129,10 @@ instance GoogleRequest TargetPoolsSetBackup where type Rs TargetPoolsSetBackup = Operation- requestClient TargetPoolsSetBackup{..}+ type Scopes TargetPoolsSetBackup =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient TargetPoolsSetBackup'{..} = go _tpsbProject _tpsbRegion _tpsbTargetPool _tpsbFailoverRatio (Just AltJSON)
gen/Network/Google/Resource/Compute/TargetVPNGateways/AggregatedList.hs view
@@ -14,13 +14,13 @@ -- | -- Module : Network.Google.Resource.Compute.TargetVPNGateways.AggregatedList--- Copyright : (c) 2015 Brendan Hay+-- 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 target VPN gateways grouped by scope.+-- Retrieves an aggregated list of target VPN gateways. -- -- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.targetVpnGateways.aggregatedList@. module Network.Google.Resource.Compute.TargetVPNGateways.AggregatedList@@ -57,10 +57,10 @@ QueryParam "alt" AltJSON :> Get '[JSON] TargetVPNGatewayAggregatedList --- | Retrieves the list of target VPN gateways grouped by scope.+-- | Retrieves an aggregated list of target VPN gateways. -- -- /See:/ 'targetVPNGatewaysAggregatedList' smart constructor.-data TargetVPNGatewaysAggregatedList = TargetVPNGatewaysAggregatedList+data TargetVPNGatewaysAggregatedList = TargetVPNGatewaysAggregatedList' { _tvgalProject :: !Text , _tvgalFilter :: !(Maybe Text) , _tvgalPageToken :: !(Maybe Text)@@ -82,7 +82,7 @@ :: Text -- ^ 'tvgalProject' -> TargetVPNGatewaysAggregatedList targetVPNGatewaysAggregatedList pTvgalProject_ =- TargetVPNGatewaysAggregatedList+ TargetVPNGatewaysAggregatedList' { _tvgalProject = pTvgalProject_ , _tvgalFilter = Nothing , _tvgalPageToken = Nothing@@ -95,29 +95,41 @@ = lens _tvgalProject (\ s a -> s{_tvgalProject = 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+-- 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--- (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, filter=name ne--- example-instance.+-- (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. Compute Engine Beta API Only: When+-- filtering in the Beta API, you can also 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. tvgalFilter :: Lens' TargetVPNGatewaysAggregatedList (Maybe Text) tvgalFilter = lens _tvgalFilter (\ s a -> s{_tvgalFilter = a}) --- | Specifies a page token to use. Use this parameter if you want to list--- the next page of results. Set pageToken to the nextPageToken returned by--- a previous list request.+-- | Specifies a page token to use. Set pageToken to the nextPageToken+-- returned by a previous list request to get the next page of results. tvgalPageToken :: Lens' TargetVPNGatewaysAggregatedList (Maybe Text) tvgalPageToken = lens _tvgalPageToken (\ s a -> s{_tvgalPageToken = a}) --- | Maximum count of results to be returned.+-- | 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. tvgalMaxResults :: Lens' TargetVPNGatewaysAggregatedList Word32 tvgalMaxResults = lens _tvgalMaxResults@@ -128,7 +140,11 @@ TargetVPNGatewaysAggregatedList where type Rs TargetVPNGatewaysAggregatedList = TargetVPNGatewayAggregatedList- requestClient TargetVPNGatewaysAggregatedList{..}+ type Scopes TargetVPNGatewaysAggregatedList =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute",+ "https://www.googleapis.com/auth/compute.readonly"]+ requestClient TargetVPNGatewaysAggregatedList'{..} = go _tvgalProject _tvgalFilter _tvgalPageToken (Just _tvgalMaxResults) (Just AltJSON)
gen/Network/Google/Resource/Compute/TargetVPNGateways/Delete.hs view
@@ -14,13 +14,13 @@ -- | -- Module : Network.Google.Resource.Compute.TargetVPNGateways.Delete--- Copyright : (c) 2015 Brendan Hay+-- 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 TargetVpnGateway resource.+-- Deletes the specified target VPN gateway. -- -- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.targetVpnGateways.delete@. module Network.Google.Resource.Compute.TargetVPNGateways.Delete@@ -54,10 +54,10 @@ Capture "targetVpnGateway" Text :> QueryParam "alt" AltJSON :> Delete '[JSON] Operation --- | Deletes the specified TargetVpnGateway resource.+-- | Deletes the specified target VPN gateway. -- -- /See:/ 'targetVPNGatewaysDelete' smart constructor.-data TargetVPNGatewaysDelete = TargetVPNGatewaysDelete+data TargetVPNGatewaysDelete = TargetVPNGatewaysDelete' { _tvgdProject :: !Text , _tvgdTargetVPNGateway :: !Text , _tvgdRegion :: !Text@@ -78,7 +78,7 @@ -> Text -- ^ 'tvgdRegion' -> TargetVPNGatewaysDelete targetVPNGatewaysDelete pTvgdProject_ pTvgdTargetVPNGateway_ pTvgdRegion_ =- TargetVPNGatewaysDelete+ TargetVPNGatewaysDelete' { _tvgdProject = pTvgdProject_ , _tvgdTargetVPNGateway = pTvgdTargetVPNGateway_ , _tvgdRegion = pTvgdRegion_@@ -89,20 +89,23 @@ tvgdProject = lens _tvgdProject (\ s a -> s{_tvgdProject = a}) --- | Name of the TargetVpnGateway resource to delete.+-- | Name of the target VPN gateway to delete. tvgdTargetVPNGateway :: Lens' TargetVPNGatewaysDelete Text tvgdTargetVPNGateway = lens _tvgdTargetVPNGateway (\ s a -> s{_tvgdTargetVPNGateway = a}) --- | The name of the region for this request.+-- | Name of the region for this request. tvgdRegion :: Lens' TargetVPNGatewaysDelete Text tvgdRegion = lens _tvgdRegion (\ s a -> s{_tvgdRegion = a}) instance GoogleRequest TargetVPNGatewaysDelete where type Rs TargetVPNGatewaysDelete = Operation- requestClient TargetVPNGatewaysDelete{..}+ type Scopes TargetVPNGatewaysDelete =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient TargetVPNGatewaysDelete'{..} = go _tvgdProject _tvgdRegion _tvgdTargetVPNGateway (Just AltJSON) computeService
gen/Network/Google/Resource/Compute/TargetVPNGateways/Get.hs view
@@ -14,13 +14,14 @@ -- | -- Module : Network.Google.Resource.Compute.TargetVPNGateways.Get--- Copyright : (c) 2015 Brendan Hay+-- 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 TargetVpnGateway resource.+-- Returns the specified target VPN gateway. Get a list of available target+-- VPN gateways by making a list() request. -- -- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.targetVpnGateways.get@. module Network.Google.Resource.Compute.TargetVPNGateways.Get@@ -55,10 +56,11 @@ QueryParam "alt" AltJSON :> Get '[JSON] TargetVPNGateway --- | Returns the specified TargetVpnGateway resource.+-- | Returns the specified target VPN gateway. Get a list of available target+-- VPN gateways by making a list() request. -- -- /See:/ 'targetVPNGatewaysGet' smart constructor.-data TargetVPNGatewaysGet = TargetVPNGatewaysGet+data TargetVPNGatewaysGet = TargetVPNGatewaysGet' { _tvggProject :: !Text , _tvggTargetVPNGateway :: !Text , _tvggRegion :: !Text@@ -79,7 +81,7 @@ -> Text -- ^ 'tvggRegion' -> TargetVPNGatewaysGet targetVPNGatewaysGet pTvggProject_ pTvggTargetVPNGateway_ pTvggRegion_ =- TargetVPNGatewaysGet+ TargetVPNGatewaysGet' { _tvggProject = pTvggProject_ , _tvggTargetVPNGateway = pTvggTargetVPNGateway_ , _tvggRegion = pTvggRegion_@@ -90,20 +92,24 @@ tvggProject = lens _tvggProject (\ s a -> s{_tvggProject = a}) --- | Name of the TargetVpnGateway resource to return.+-- | Name of the target VPN gateway to return. tvggTargetVPNGateway :: Lens' TargetVPNGatewaysGet Text tvggTargetVPNGateway = lens _tvggTargetVPNGateway (\ s a -> s{_tvggTargetVPNGateway = a}) --- | The name of the region for this request.+-- | Name of the region for this request. tvggRegion :: Lens' TargetVPNGatewaysGet Text tvggRegion = lens _tvggRegion (\ s a -> s{_tvggRegion = a}) instance GoogleRequest TargetVPNGatewaysGet where type Rs TargetVPNGatewaysGet = TargetVPNGateway- requestClient TargetVPNGatewaysGet{..}+ type Scopes TargetVPNGatewaysGet =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute",+ "https://www.googleapis.com/auth/compute.readonly"]+ requestClient TargetVPNGatewaysGet'{..} = go _tvggProject _tvggRegion _tvggTargetVPNGateway (Just AltJSON) computeService
gen/Network/Google/Resource/Compute/TargetVPNGateways/Insert.hs view
@@ -14,14 +14,14 @@ -- | -- Module : Network.Google.Resource.Compute.TargetVPNGateways.Insert--- Copyright : (c) 2015 Brendan Hay+-- 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 TargetVpnGateway resource in the specified project and region--- using the data included in the request.+-- Creates a target VPN gateway 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.targetVpnGateways.insert@. module Network.Google.Resource.Compute.TargetVPNGateways.Insert@@ -56,11 +56,11 @@ ReqBody '[JSON] TargetVPNGateway :> Post '[JSON] Operation --- | Creates a TargetVpnGateway resource in the specified project and region--- using the data included in the request.+-- | Creates a target VPN gateway in the specified project and region using+-- the data included in the request. -- -- /See:/ 'targetVPNGatewaysInsert' smart constructor.-data TargetVPNGatewaysInsert = TargetVPNGatewaysInsert+data TargetVPNGatewaysInsert = TargetVPNGatewaysInsert' { _tvgiProject :: !Text , _tvgiPayload :: !TargetVPNGateway , _tvgiRegion :: !Text@@ -81,7 +81,7 @@ -> Text -- ^ 'tvgiRegion' -> TargetVPNGatewaysInsert targetVPNGatewaysInsert pTvgiProject_ pTvgiPayload_ pTvgiRegion_ =- TargetVPNGatewaysInsert+ TargetVPNGatewaysInsert' { _tvgiProject = pTvgiProject_ , _tvgiPayload = pTvgiPayload_ , _tvgiRegion = pTvgiRegion_@@ -97,14 +97,17 @@ tvgiPayload = lens _tvgiPayload (\ s a -> s{_tvgiPayload = a}) --- | The name of the region for this request.+-- | Name of the region for this request. tvgiRegion :: Lens' TargetVPNGatewaysInsert Text tvgiRegion = lens _tvgiRegion (\ s a -> s{_tvgiRegion = a}) instance GoogleRequest TargetVPNGatewaysInsert where type Rs TargetVPNGatewaysInsert = Operation- requestClient TargetVPNGatewaysInsert{..}+ type Scopes TargetVPNGatewaysInsert =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient TargetVPNGatewaysInsert'{..} = go _tvgiProject _tvgiRegion (Just AltJSON) _tvgiPayload computeService
gen/Network/Google/Resource/Compute/TargetVPNGateways/List.hs view
@@ -14,14 +14,14 @@ -- | -- Module : Network.Google.Resource.Compute.TargetVPNGateways.List--- Copyright : (c) 2015 Brendan Hay+-- 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 TargetVpnGateway resources available to the--- specified project and region.+-- Retrieves a list of target VPN gateways available to the specified+-- project and region. -- -- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.targetVpnGateways.list@. module Network.Google.Resource.Compute.TargetVPNGateways.List@@ -60,11 +60,11 @@ QueryParam "alt" AltJSON :> Get '[JSON] TargetVPNGatewayList --- | Retrieves the list of TargetVpnGateway resources available to the--- specified project and region.+-- | Retrieves a list of target VPN gateways available to the specified+-- project and region. -- -- /See:/ 'targetVPNGatewaysList' smart constructor.-data TargetVPNGatewaysList = TargetVPNGatewaysList+data TargetVPNGatewaysList = TargetVPNGatewaysList' { _tvglProject :: !Text , _tvglFilter :: !(Maybe Text) , _tvglRegion :: !Text@@ -90,7 +90,7 @@ -> Text -- ^ 'tvglRegion' -> TargetVPNGatewaysList targetVPNGatewaysList pTvglProject_ pTvglRegion_ =- TargetVPNGatewaysList+ TargetVPNGatewaysList' { _tvglProject = pTvglProject_ , _tvglFilter = Nothing , _tvglRegion = pTvglRegion_@@ -104,34 +104,46 @@ = lens _tvglProject (\ s a -> s{_tvglProject = 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+-- 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--- (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, filter=name ne--- example-instance.+-- (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. Compute Engine Beta API Only: When+-- filtering in the Beta API, you can also 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. tvglFilter :: Lens' TargetVPNGatewaysList (Maybe Text) tvglFilter = lens _tvglFilter (\ s a -> s{_tvglFilter = a}) --- | The name of the region for this request.+-- | Name of the region for this request. tvglRegion :: Lens' TargetVPNGatewaysList Text tvglRegion = lens _tvglRegion (\ s a -> s{_tvglRegion = a}) --- | Specifies a page token to use. Use this parameter if you want to list--- the next page of results. Set pageToken to the nextPageToken returned by--- a previous list request.+-- | Specifies a page token to use. Set pageToken to the nextPageToken+-- returned by a previous list request to get the next page of results. tvglPageToken :: Lens' TargetVPNGatewaysList (Maybe Text) tvglPageToken = lens _tvglPageToken (\ s a -> s{_tvglPageToken = a}) --- | Maximum count of results to be returned.+-- | 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. tvglMaxResults :: Lens' TargetVPNGatewaysList Word32 tvglMaxResults = lens _tvglMaxResults@@ -140,7 +152,11 @@ instance GoogleRequest TargetVPNGatewaysList where type Rs TargetVPNGatewaysList = TargetVPNGatewayList- requestClient TargetVPNGatewaysList{..}+ type Scopes TargetVPNGatewaysList =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute",+ "https://www.googleapis.com/auth/compute.readonly"]+ requestClient TargetVPNGatewaysList'{..} = go _tvglProject _tvglRegion _tvglFilter _tvglPageToken (Just _tvglMaxResults)
gen/Network/Google/Resource/Compute/URLMaps/Delete.hs view
@@ -14,7 +14,7 @@ -- | -- Module : Network.Google.Resource.Compute.URLMaps.Delete--- Copyright : (c) 2015 Brendan Hay+-- Copyright : (c) 2015-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -55,7 +55,7 @@ -- | Deletes the specified UrlMap resource. -- -- /See:/ 'urlMapsDelete' smart constructor.-data URLMapsDelete = URLMapsDelete+data URLMapsDelete = URLMapsDelete' { _umdURLMap :: !Text , _umdProject :: !Text } deriving (Eq,Show,Data,Typeable,Generic)@@ -72,7 +72,7 @@ -> Text -- ^ 'umdProject' -> URLMapsDelete urlMapsDelete pUmdURLMap_ pUmdProject_ =- URLMapsDelete+ URLMapsDelete' { _umdURLMap = pUmdURLMap_ , _umdProject = pUmdProject_ }@@ -82,14 +82,17 @@ umdURLMap = lens _umdURLMap (\ s a -> s{_umdURLMap = a}) --- | Name of the project scoping this request.+-- | Project ID for this request. umdProject :: Lens' URLMapsDelete Text umdProject = lens _umdProject (\ s a -> s{_umdProject = a}) instance GoogleRequest URLMapsDelete where type Rs URLMapsDelete = Operation- requestClient URLMapsDelete{..}+ type Scopes URLMapsDelete =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient URLMapsDelete'{..} = go _umdProject _umdURLMap (Just AltJSON) computeService where go
gen/Network/Google/Resource/Compute/URLMaps/Get.hs view
@@ -14,13 +14,14 @@ -- | -- Module : Network.Google.Resource.Compute.URLMaps.Get--- Copyright : (c) 2015 Brendan Hay+-- 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 UrlMap resource.+-- Returns the specified UrlMap resource. Get a list of available URL maps+-- by making a list() request. -- -- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.urlMaps.get@. module Network.Google.Resource.Compute.URLMaps.Get@@ -52,10 +53,11 @@ Capture "urlMap" Text :> QueryParam "alt" AltJSON :> Get '[JSON] URLMap --- | Returns the specified UrlMap resource.+-- | Returns the specified UrlMap resource. Get a list of available URL maps+-- by making a list() request. -- -- /See:/ 'urlMapsGet' smart constructor.-data URLMapsGet = URLMapsGet+data URLMapsGet = URLMapsGet' { _umgURLMap :: !Text , _umgProject :: !Text } deriving (Eq,Show,Data,Typeable,Generic)@@ -72,7 +74,7 @@ -> Text -- ^ 'umgProject' -> URLMapsGet urlMapsGet pUmgURLMap_ pUmgProject_ =- URLMapsGet+ URLMapsGet' { _umgURLMap = pUmgURLMap_ , _umgProject = pUmgProject_ }@@ -82,14 +84,18 @@ umgURLMap = lens _umgURLMap (\ s a -> s{_umgURLMap = a}) --- | Name of the project scoping this request.+-- | Project ID for this request. umgProject :: Lens' URLMapsGet Text umgProject = lens _umgProject (\ s a -> s{_umgProject = a}) instance GoogleRequest URLMapsGet where type Rs URLMapsGet = URLMap- requestClient URLMapsGet{..}+ type Scopes URLMapsGet =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute",+ "https://www.googleapis.com/auth/compute.readonly"]+ requestClient URLMapsGet'{..} = go _umgProject _umgURLMap (Just AltJSON) computeService where go
gen/Network/Google/Resource/Compute/URLMaps/Insert.hs view
@@ -14,7 +14,7 @@ -- | -- Module : Network.Google.Resource.Compute.URLMaps.Insert--- Copyright : (c) 2015 Brendan Hay+-- Copyright : (c) 2015-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -57,7 +57,7 @@ -- included in the request. -- -- /See:/ 'urlMapsInsert' smart constructor.-data URLMapsInsert = URLMapsInsert+data URLMapsInsert = URLMapsInsert' { _umiProject :: !Text , _umiPayload :: !URLMap } deriving (Eq,Show,Data,Typeable,Generic)@@ -74,12 +74,12 @@ -> URLMap -- ^ 'umiPayload' -> URLMapsInsert urlMapsInsert pUmiProject_ pUmiPayload_ =- URLMapsInsert+ URLMapsInsert' { _umiProject = pUmiProject_ , _umiPayload = pUmiPayload_ } --- | Name of the project scoping this request.+-- | Project ID for this request. umiProject :: Lens' URLMapsInsert Text umiProject = lens _umiProject (\ s a -> s{_umiProject = a})@@ -91,7 +91,10 @@ instance GoogleRequest URLMapsInsert where type Rs URLMapsInsert = Operation- requestClient URLMapsInsert{..}+ type Scopes URLMapsInsert =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient URLMapsInsert'{..} = go _umiProject (Just AltJSON) _umiPayload computeService where go
gen/Network/Google/Resource/Compute/URLMaps/List.hs view
@@ -14,7 +14,7 @@ -- | -- Module : Network.Google.Resource.Compute.URLMaps.List--- Copyright : (c) 2015 Brendan Hay+-- Copyright : (c) 2015-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -61,7 +61,7 @@ -- project. -- -- /See:/ 'urlMapsList' smart constructor.-data URLMapsList = URLMapsList+data URLMapsList = URLMapsList' { _umlProject :: !Text , _umlFilter :: !(Maybe Text) , _umlPageToken :: !(Maybe Text)@@ -83,41 +83,53 @@ :: Text -- ^ 'umlProject' -> URLMapsList urlMapsList pUmlProject_ =- URLMapsList+ URLMapsList' { _umlProject = pUmlProject_ , _umlFilter = Nothing , _umlPageToken = Nothing , _umlMaxResults = 500 } --- | Name of the project scoping this request.+-- | Project ID for this request. umlProject :: Lens' URLMapsList Text umlProject = lens _umlProject (\ s a -> s{_umlProject = 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+-- 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--- (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, filter=name ne--- example-instance.+-- (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. Compute Engine Beta API Only: When+-- filtering in the Beta API, you can also 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. umlFilter :: Lens' URLMapsList (Maybe Text) umlFilter = lens _umlFilter (\ s a -> s{_umlFilter = a}) --- | Specifies a page token to use. Use this parameter if you want to list--- the next page of results. Set pageToken to the nextPageToken returned by--- a previous list request.+-- | Specifies a page token to use. Set pageToken to the nextPageToken+-- returned by a previous list request to get the next page of results. umlPageToken :: Lens' URLMapsList (Maybe Text) umlPageToken = lens _umlPageToken (\ s a -> s{_umlPageToken = a}) --- | Maximum count of results to be returned.+-- | 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. umlMaxResults :: Lens' URLMapsList Word32 umlMaxResults = lens _umlMaxResults@@ -126,7 +138,11 @@ instance GoogleRequest URLMapsList where type Rs URLMapsList = URLMapList- requestClient URLMapsList{..}+ type Scopes URLMapsList =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute",+ "https://www.googleapis.com/auth/compute.readonly"]+ requestClient URLMapsList'{..} = go _umlProject _umlFilter _umlPageToken (Just _umlMaxResults) (Just AltJSON)
gen/Network/Google/Resource/Compute/URLMaps/Patch.hs view
@@ -14,13 +14,13 @@ -- | -- Module : Network.Google.Resource.Compute.URLMaps.Patch--- Copyright : (c) 2015 Brendan Hay+-- 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) ----- Update the entire content of the UrlMap resource. This method supports+-- Updates the entire content of the UrlMap resource. This method supports -- patch semantics. -- -- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.urlMaps.patch@.@@ -55,11 +55,11 @@ QueryParam "alt" AltJSON :> ReqBody '[JSON] URLMap :> Patch '[JSON] Operation --- | Update the entire content of the UrlMap resource. This method supports+-- | Updates the entire content of the UrlMap resource. This method supports -- patch semantics. -- -- /See:/ 'urlMapsPatch' smart constructor.-data URLMapsPatch = URLMapsPatch+data URLMapsPatch = URLMapsPatch' { _umpURLMap :: !Text , _umpProject :: !Text , _umpPayload :: !URLMap@@ -80,7 +80,7 @@ -> URLMap -- ^ 'umpPayload' -> URLMapsPatch urlMapsPatch pUmpURLMap_ pUmpProject_ pUmpPayload_ =- URLMapsPatch+ URLMapsPatch' { _umpURLMap = pUmpURLMap_ , _umpProject = pUmpProject_ , _umpPayload = pUmpPayload_@@ -91,7 +91,7 @@ umpURLMap = lens _umpURLMap (\ s a -> s{_umpURLMap = a}) --- | Name of the project scoping this request.+-- | Project ID for this request. umpProject :: Lens' URLMapsPatch Text umpProject = lens _umpProject (\ s a -> s{_umpProject = a})@@ -103,7 +103,10 @@ instance GoogleRequest URLMapsPatch where type Rs URLMapsPatch = Operation- requestClient URLMapsPatch{..}+ type Scopes URLMapsPatch =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient URLMapsPatch'{..} = go _umpProject _umpURLMap (Just AltJSON) _umpPayload computeService
gen/Network/Google/Resource/Compute/URLMaps/Update.hs view
@@ -14,13 +14,13 @@ -- | -- Module : Network.Google.Resource.Compute.URLMaps.Update--- Copyright : (c) 2015 Brendan Hay+-- 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) ----- Update the entire content of the UrlMap resource.+-- Updates the entire content of the UrlMap resource. -- -- /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,10 +54,10 @@ QueryParam "alt" AltJSON :> ReqBody '[JSON] URLMap :> Put '[JSON] Operation --- | Update the entire content of the UrlMap resource.+-- | Updates the entire content of the UrlMap resource. -- -- /See:/ 'urlMapsUpdate' smart constructor.-data URLMapsUpdate = URLMapsUpdate+data URLMapsUpdate = URLMapsUpdate' { _umuURLMap :: !Text , _umuProject :: !Text , _umuPayload :: !URLMap@@ -78,7 +78,7 @@ -> URLMap -- ^ 'umuPayload' -> URLMapsUpdate urlMapsUpdate pUmuURLMap_ pUmuProject_ pUmuPayload_ =- URLMapsUpdate+ URLMapsUpdate' { _umuURLMap = pUmuURLMap_ , _umuProject = pUmuProject_ , _umuPayload = pUmuPayload_@@ -89,7 +89,7 @@ umuURLMap = lens _umuURLMap (\ s a -> s{_umuURLMap = a}) --- | Name of the project scoping this request.+-- | Project ID for this request. umuProject :: Lens' URLMapsUpdate Text umuProject = lens _umuProject (\ s a -> s{_umuProject = a})@@ -101,7 +101,10 @@ instance GoogleRequest URLMapsUpdate where type Rs URLMapsUpdate = Operation- requestClient URLMapsUpdate{..}+ type Scopes URLMapsUpdate =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient URLMapsUpdate'{..} = go _umuProject _umuURLMap (Just AltJSON) _umuPayload computeService
gen/Network/Google/Resource/Compute/URLMaps/Validate.hs view
@@ -14,13 +14,13 @@ -- | -- Module : Network.Google.Resource.Compute.URLMaps.Validate--- Copyright : (c) 2015 Brendan Hay+-- 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) ----- Run static validation for the UrlMap. In particular, the tests of the+-- Runs static validation for the UrlMap. In particular, the tests of the -- provided UrlMap will be run. Calling this method does NOT create the -- UrlMap. --@@ -58,12 +58,12 @@ ReqBody '[JSON] URLMapsValidateRequest :> Post '[JSON] URLMapsValidateResponse --- | Run static validation for the UrlMap. In particular, the tests of the+-- | Runs static validation for the UrlMap. In particular, the tests of the -- provided UrlMap will be run. Calling this method does NOT create the -- UrlMap. -- -- /See:/ 'urlMapsValidate' smart constructor.-data URLMapsValidate = URLMapsValidate+data URLMapsValidate = URLMapsValidate' { _umvURLMap :: !Text , _umvProject :: !Text , _umvPayload :: !URLMapsValidateRequest@@ -84,7 +84,7 @@ -> URLMapsValidateRequest -- ^ 'umvPayload' -> URLMapsValidate urlMapsValidate pUmvURLMap_ pUmvProject_ pUmvPayload_ =- URLMapsValidate+ URLMapsValidate' { _umvURLMap = pUmvURLMap_ , _umvProject = pUmvProject_ , _umvPayload = pUmvPayload_@@ -95,7 +95,7 @@ umvURLMap = lens _umvURLMap (\ s a -> s{_umvURLMap = a}) --- | Name of the project scoping this request.+-- | Project ID for this request. umvProject :: Lens' URLMapsValidate Text umvProject = lens _umvProject (\ s a -> s{_umvProject = a})@@ -107,7 +107,10 @@ instance GoogleRequest URLMapsValidate where type Rs URLMapsValidate = URLMapsValidateResponse- requestClient URLMapsValidate{..}+ type Scopes URLMapsValidate =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient URLMapsValidate'{..} = go _umvProject _umvURLMap (Just AltJSON) _umvPayload computeService
gen/Network/Google/Resource/Compute/VPNTunnels/AggregatedList.hs view
@@ -14,13 +14,13 @@ -- | -- Module : Network.Google.Resource.Compute.VPNTunnels.AggregatedList--- Copyright : (c) 2015 Brendan Hay+-- 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 VPN tunnels grouped by scope.+-- Retrieves an aggregated list of VPN tunnels. -- -- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.vpnTunnels.aggregatedList@. module Network.Google.Resource.Compute.VPNTunnels.AggregatedList@@ -57,10 +57,10 @@ QueryParam "alt" AltJSON :> Get '[JSON] VPNTunnelAggregatedList --- | Retrieves the list of VPN tunnels grouped by scope.+-- | Retrieves an aggregated list of VPN tunnels. -- -- /See:/ 'vpnTunnelsAggregatedList' smart constructor.-data VPNTunnelsAggregatedList = VPNTunnelsAggregatedList+data VPNTunnelsAggregatedList = VPNTunnelsAggregatedList' { _vtalProject :: !Text , _vtalFilter :: !(Maybe Text) , _vtalPageToken :: !(Maybe Text)@@ -82,7 +82,7 @@ :: Text -- ^ 'vtalProject' -> VPNTunnelsAggregatedList vpnTunnelsAggregatedList pVtalProject_ =- VPNTunnelsAggregatedList+ VPNTunnelsAggregatedList' { _vtalProject = pVtalProject_ , _vtalFilter = Nothing , _vtalPageToken = Nothing@@ -95,29 +95,41 @@ = lens _vtalProject (\ s a -> s{_vtalProject = 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+-- 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--- (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, filter=name ne--- example-instance.+-- (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. Compute Engine Beta API Only: When+-- filtering in the Beta API, you can also 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. vtalFilter :: Lens' VPNTunnelsAggregatedList (Maybe Text) vtalFilter = lens _vtalFilter (\ s a -> s{_vtalFilter = a}) --- | Specifies a page token to use. Use this parameter if you want to list--- the next page of results. Set pageToken to the nextPageToken returned by--- a previous list request.+-- | Specifies a page token to use. Set pageToken to the nextPageToken+-- returned by a previous list request to get the next page of results. vtalPageToken :: Lens' VPNTunnelsAggregatedList (Maybe Text) vtalPageToken = lens _vtalPageToken (\ s a -> s{_vtalPageToken = a}) --- | Maximum count of results to be returned.+-- | 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. vtalMaxResults :: Lens' VPNTunnelsAggregatedList Word32 vtalMaxResults = lens _vtalMaxResults@@ -127,7 +139,11 @@ instance GoogleRequest VPNTunnelsAggregatedList where type Rs VPNTunnelsAggregatedList = VPNTunnelAggregatedList- requestClient VPNTunnelsAggregatedList{..}+ type Scopes VPNTunnelsAggregatedList =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute",+ "https://www.googleapis.com/auth/compute.readonly"]+ requestClient VPNTunnelsAggregatedList'{..} = go _vtalProject _vtalFilter _vtalPageToken (Just _vtalMaxResults) (Just AltJSON)
gen/Network/Google/Resource/Compute/VPNTunnels/Delete.hs view
@@ -14,7 +14,7 @@ -- | -- Module : Network.Google.Resource.Compute.VPNTunnels.Delete--- Copyright : (c) 2015 Brendan Hay+-- Copyright : (c) 2015-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -57,7 +57,7 @@ -- | Deletes the specified VpnTunnel resource. -- -- /See:/ 'vpnTunnelsDelete' smart constructor.-data VPNTunnelsDelete = VPNTunnelsDelete+data VPNTunnelsDelete = VPNTunnelsDelete' { _vtdProject :: !Text , _vtdVPNTunnel :: !Text , _vtdRegion :: !Text@@ -78,7 +78,7 @@ -> Text -- ^ 'vtdRegion' -> VPNTunnelsDelete vpnTunnelsDelete pVtdProject_ pVtdVPNTunnel_ pVtdRegion_ =- VPNTunnelsDelete+ VPNTunnelsDelete' { _vtdProject = pVtdProject_ , _vtdVPNTunnel = pVtdVPNTunnel_ , _vtdRegion = pVtdRegion_@@ -94,14 +94,17 @@ vtdVPNTunnel = lens _vtdVPNTunnel (\ s a -> s{_vtdVPNTunnel = a}) --- | The name of the region for this request.+-- | Name of the region for this request. vtdRegion :: Lens' VPNTunnelsDelete Text vtdRegion = lens _vtdRegion (\ s a -> s{_vtdRegion = a}) instance GoogleRequest VPNTunnelsDelete where type Rs VPNTunnelsDelete = Operation- requestClient VPNTunnelsDelete{..}+ type Scopes VPNTunnelsDelete =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient VPNTunnelsDelete'{..} = go _vtdProject _vtdRegion _vtdVPNTunnel (Just AltJSON) computeService
gen/Network/Google/Resource/Compute/VPNTunnels/Get.hs view
@@ -14,13 +14,14 @@ -- | -- Module : Network.Google.Resource.Compute.VPNTunnels.Get--- Copyright : (c) 2015 Brendan Hay+-- 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 VpnTunnel resource.+-- Returns the specified VpnTunnel resource. Get a list of available VPN+-- tunnels by making a list() request. -- -- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.vpnTunnels.get@. module Network.Google.Resource.Compute.VPNTunnels.Get@@ -54,10 +55,11 @@ Capture "vpnTunnel" Text :> QueryParam "alt" AltJSON :> Get '[JSON] VPNTunnel --- | Returns the specified VpnTunnel resource.+-- | Returns the specified VpnTunnel resource. Get a list of available VPN+-- tunnels by making a list() request. -- -- /See:/ 'vpnTunnelsGet' smart constructor.-data VPNTunnelsGet = VPNTunnelsGet+data VPNTunnelsGet = VPNTunnelsGet' { _vtgProject :: !Text , _vtgVPNTunnel :: !Text , _vtgRegion :: !Text@@ -78,7 +80,7 @@ -> Text -- ^ 'vtgRegion' -> VPNTunnelsGet vpnTunnelsGet pVtgProject_ pVtgVPNTunnel_ pVtgRegion_ =- VPNTunnelsGet+ VPNTunnelsGet' { _vtgProject = pVtgProject_ , _vtgVPNTunnel = pVtgVPNTunnel_ , _vtgRegion = pVtgRegion_@@ -94,14 +96,18 @@ vtgVPNTunnel = lens _vtgVPNTunnel (\ s a -> s{_vtgVPNTunnel = a}) --- | The name of the region for this request.+-- | Name of the region for this request. vtgRegion :: Lens' VPNTunnelsGet Text vtgRegion = lens _vtgRegion (\ s a -> s{_vtgRegion = a}) instance GoogleRequest VPNTunnelsGet where type Rs VPNTunnelsGet = VPNTunnel- requestClient VPNTunnelsGet{..}+ type Scopes VPNTunnelsGet =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute",+ "https://www.googleapis.com/auth/compute.readonly"]+ requestClient VPNTunnelsGet'{..} = go _vtgProject _vtgRegion _vtgVPNTunnel (Just AltJSON) computeService
gen/Network/Google/Resource/Compute/VPNTunnels/Insert.hs view
@@ -14,7 +14,7 @@ -- | -- Module : Network.Google.Resource.Compute.VPNTunnels.Insert--- Copyright : (c) 2015 Brendan Hay+-- Copyright : (c) 2015-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -59,7 +59,7 @@ -- the data included in the request. -- -- /See:/ 'vpnTunnelsInsert' smart constructor.-data VPNTunnelsInsert = VPNTunnelsInsert+data VPNTunnelsInsert = VPNTunnelsInsert' { _vtiProject :: !Text , _vtiPayload :: !VPNTunnel , _vtiRegion :: !Text@@ -80,7 +80,7 @@ -> Text -- ^ 'vtiRegion' -> VPNTunnelsInsert vpnTunnelsInsert pVtiProject_ pVtiPayload_ pVtiRegion_ =- VPNTunnelsInsert+ VPNTunnelsInsert' { _vtiProject = pVtiProject_ , _vtiPayload = pVtiPayload_ , _vtiRegion = pVtiRegion_@@ -96,14 +96,17 @@ vtiPayload = lens _vtiPayload (\ s a -> s{_vtiPayload = a}) --- | The name of the region for this request.+-- | Name of the region for this request. vtiRegion :: Lens' VPNTunnelsInsert Text vtiRegion = lens _vtiRegion (\ s a -> s{_vtiRegion = a}) instance GoogleRequest VPNTunnelsInsert where type Rs VPNTunnelsInsert = Operation- requestClient VPNTunnelsInsert{..}+ type Scopes VPNTunnelsInsert =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient VPNTunnelsInsert'{..} = go _vtiProject _vtiRegion (Just AltJSON) _vtiPayload computeService
gen/Network/Google/Resource/Compute/VPNTunnels/List.hs view
@@ -14,13 +14,13 @@ -- | -- Module : Network.Google.Resource.Compute.VPNTunnels.List--- Copyright : (c) 2015 Brendan Hay+-- 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 VpnTunnel resources contained in the specified+-- Retrieves a list of VpnTunnel resources contained in the specified -- project and region. -- -- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.vpnTunnels.list@.@@ -59,11 +59,11 @@ QueryParam "maxResults" (Textual Word32) :> QueryParam "alt" AltJSON :> Get '[JSON] VPNTunnelList --- | Retrieves the list of VpnTunnel resources contained in the specified+-- | Retrieves a list of VpnTunnel resources contained in the specified -- project and region. -- -- /See:/ 'vpnTunnelsList' smart constructor.-data VPNTunnelsList = VPNTunnelsList+data VPNTunnelsList = VPNTunnelsList' { _vtlProject :: !Text , _vtlFilter :: !(Maybe Text) , _vtlRegion :: !Text@@ -89,7 +89,7 @@ -> Text -- ^ 'vtlRegion' -> VPNTunnelsList vpnTunnelsList pVtlProject_ pVtlRegion_ =- VPNTunnelsList+ VPNTunnelsList' { _vtlProject = pVtlProject_ , _vtlFilter = Nothing , _vtlRegion = pVtlRegion_@@ -103,33 +103,45 @@ = lens _vtlProject (\ s a -> s{_vtlProject = 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+-- 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--- (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, filter=name ne--- example-instance.+-- (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. Compute Engine Beta API Only: When+-- filtering in the Beta API, you can also 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. vtlFilter :: Lens' VPNTunnelsList (Maybe Text) vtlFilter = lens _vtlFilter (\ s a -> s{_vtlFilter = a}) --- | The name of the region for this request.+-- | Name of the region for this request. vtlRegion :: Lens' VPNTunnelsList Text vtlRegion = lens _vtlRegion (\ s a -> s{_vtlRegion = a}) --- | Specifies a page token to use. Use this parameter if you want to list--- the next page of results. Set pageToken to the nextPageToken returned by--- a previous list request.+-- | Specifies a page token to use. Set pageToken to the nextPageToken+-- returned by a previous list request to get the next page of results. vtlPageToken :: Lens' VPNTunnelsList (Maybe Text) vtlPageToken = lens _vtlPageToken (\ s a -> s{_vtlPageToken = a}) --- | Maximum count of results to be returned.+-- | 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. vtlMaxResults :: Lens' VPNTunnelsList Word32 vtlMaxResults = lens _vtlMaxResults@@ -138,7 +150,11 @@ instance GoogleRequest VPNTunnelsList where type Rs VPNTunnelsList = VPNTunnelList- requestClient VPNTunnelsList{..}+ type Scopes VPNTunnelsList =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute",+ "https://www.googleapis.com/auth/compute.readonly"]+ requestClient VPNTunnelsList'{..} = go _vtlProject _vtlRegion _vtlFilter _vtlPageToken (Just _vtlMaxResults) (Just AltJSON)
gen/Network/Google/Resource/Compute/ZoneOperations/Delete.hs view
@@ -14,7 +14,7 @@ -- | -- Module : Network.Google.Resource.Compute.ZoneOperations.Delete--- Copyright : (c) 2015 Brendan Hay+-- Copyright : (c) 2015-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -57,7 +57,7 @@ -- | Deletes the specified zone-specific Operations resource. -- -- /See:/ 'zoneOperationsDelete' smart constructor.-data ZoneOperationsDelete = ZoneOperationsDelete+data ZoneOperationsDelete = ZoneOperationsDelete' { _zodProject :: !Text , _zodOperation :: !Text , _zodZone :: !Text@@ -78,7 +78,7 @@ -> Text -- ^ 'zodZone' -> ZoneOperationsDelete zoneOperationsDelete pZodProject_ pZodOperation_ pZodZone_ =- ZoneOperationsDelete+ ZoneOperationsDelete' { _zodProject = pZodProject_ , _zodOperation = pZodOperation_ , _zodZone = pZodZone_@@ -94,13 +94,16 @@ zodOperation = lens _zodOperation (\ s a -> s{_zodOperation = a}) --- | Name of the zone scoping this request.+-- | Name of the zone for this request. zodZone :: Lens' ZoneOperationsDelete Text zodZone = lens _zodZone (\ s a -> s{_zodZone = a}) instance GoogleRequest ZoneOperationsDelete where type Rs ZoneOperationsDelete = ()- requestClient ZoneOperationsDelete{..}+ type Scopes ZoneOperationsDelete =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute"]+ requestClient ZoneOperationsDelete'{..} = go _zodProject _zodZone _zodOperation (Just AltJSON) computeService
gen/Network/Google/Resource/Compute/ZoneOperations/Get.hs view
@@ -14,7 +14,7 @@ -- | -- Module : Network.Google.Resource.Compute.ZoneOperations.Get--- Copyright : (c) 2015 Brendan Hay+-- Copyright : (c) 2015-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : auto-generated@@ -57,7 +57,7 @@ -- | Retrieves the specified zone-specific Operations resource. -- -- /See:/ 'zoneOperationsGet' smart constructor.-data ZoneOperationsGet = ZoneOperationsGet+data ZoneOperationsGet = ZoneOperationsGet' { _zogProject :: !Text , _zogOperation :: !Text , _zogZone :: !Text@@ -78,7 +78,7 @@ -> Text -- ^ 'zogZone' -> ZoneOperationsGet zoneOperationsGet pZogProject_ pZogOperation_ pZogZone_ =- ZoneOperationsGet+ ZoneOperationsGet' { _zogProject = pZogProject_ , _zogOperation = pZogOperation_ , _zogZone = pZogZone_@@ -94,13 +94,17 @@ zogOperation = lens _zogOperation (\ s a -> s{_zogOperation = a}) --- | Name of the zone scoping this request.+-- | Name of the zone for this request. zogZone :: Lens' ZoneOperationsGet Text zogZone = lens _zogZone (\ s a -> s{_zogZone = a}) instance GoogleRequest ZoneOperationsGet where type Rs ZoneOperationsGet = Operation- requestClient ZoneOperationsGet{..}+ type Scopes ZoneOperationsGet =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute",+ "https://www.googleapis.com/auth/compute.readonly"]+ requestClient ZoneOperationsGet'{..} = go _zogProject _zogZone _zogOperation (Just AltJSON) computeService
gen/Network/Google/Resource/Compute/ZoneOperations/List.hs view
@@ -14,13 +14,13 @@ -- | -- Module : Network.Google.Resource.Compute.ZoneOperations.List--- Copyright : (c) 2015 Brendan Hay+-- 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 Operation resources contained within the specified+-- Retrieves a list of Operation resources contained within the specified -- zone. -- -- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.zoneOperations.list@.@@ -59,11 +59,11 @@ QueryParam "maxResults" (Textual Word32) :> QueryParam "alt" AltJSON :> Get '[JSON] OperationList --- | Retrieves the list of Operation resources contained within the specified+-- | Retrieves a list of Operation resources contained within the specified -- zone. -- -- /See:/ 'zoneOperationsList' smart constructor.-data ZoneOperationsList = ZoneOperationsList+data ZoneOperationsList = ZoneOperationsList' { _zolProject :: !Text , _zolZone :: !Text , _zolFilter :: !(Maybe Text)@@ -89,7 +89,7 @@ -> Text -- ^ 'zolZone' -> ZoneOperationsList zoneOperationsList pZolProject_ pZolZone_ =- ZoneOperationsList+ ZoneOperationsList' { _zolProject = pZolProject_ , _zolZone = pZolZone_ , _zolFilter = Nothing@@ -102,33 +102,45 @@ zolProject = lens _zolProject (\ s a -> s{_zolProject = a}) --- | Name of the zone scoping this request.+-- | Name of the zone for request. zolZone :: Lens' ZoneOperationsList Text zolZone = lens _zolZone (\ s a -> s{_zolZone = 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+-- 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--- (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, filter=name ne--- example-instance.+-- (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. Compute Engine Beta API Only: When+-- filtering in the Beta API, you can also 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. zolFilter :: Lens' ZoneOperationsList (Maybe Text) zolFilter = lens _zolFilter (\ s a -> s{_zolFilter = a}) --- | Specifies a page token to use. Use this parameter if you want to list--- the next page of results. Set pageToken to the nextPageToken returned by--- a previous list request.+-- | Specifies a page token to use. Set pageToken to the nextPageToken+-- returned by a previous list request to get the next page of results. zolPageToken :: Lens' ZoneOperationsList (Maybe Text) zolPageToken = lens _zolPageToken (\ s a -> s{_zolPageToken = a}) --- | Maximum count of results to be returned.+-- | 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. zolMaxResults :: Lens' ZoneOperationsList Word32 zolMaxResults = lens _zolMaxResults@@ -137,7 +149,11 @@ instance GoogleRequest ZoneOperationsList where type Rs ZoneOperationsList = OperationList- requestClient ZoneOperationsList{..}+ type Scopes ZoneOperationsList =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute",+ "https://www.googleapis.com/auth/compute.readonly"]+ requestClient ZoneOperationsList'{..} = go _zolProject _zolZone _zolFilter _zolPageToken (Just _zolMaxResults) (Just AltJSON)
gen/Network/Google/Resource/Compute/Zones/Get.hs view
@@ -14,13 +14,14 @@ -- | -- Module : Network.Google.Resource.Compute.Zones.Get--- Copyright : (c) 2015 Brendan Hay+-- 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 zone resource.+-- Returns the specified Zone resource. Get a list of available zones by+-- making a list() request. -- -- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.zones.get@. module Network.Google.Resource.Compute.Zones.Get@@ -51,10 +52,11 @@ Capture "zone" Text :> QueryParam "alt" AltJSON :> Get '[JSON] Zone --- | Returns the specified zone resource.+-- | Returns the specified Zone resource. Get a list of available zones by+-- making a list() request. -- -- /See:/ 'zonesGet' smart constructor.-data ZonesGet = ZonesGet+data ZonesGet = ZonesGet' { _zgProject :: !Text , _zgZone :: !Text } deriving (Eq,Show,Data,Typeable,Generic)@@ -71,7 +73,7 @@ -> Text -- ^ 'zgZone' -> ZonesGet zonesGet pZgProject_ pZgZone_ =- ZonesGet+ ZonesGet' { _zgProject = pZgProject_ , _zgZone = pZgZone_ }@@ -87,7 +89,11 @@ instance GoogleRequest ZonesGet where type Rs ZonesGet = Zone- requestClient ZonesGet{..}+ type Scopes ZonesGet =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute",+ "https://www.googleapis.com/auth/compute.readonly"]+ requestClient ZonesGet'{..} = go _zgProject _zgZone (Just AltJSON) computeService where go = buildClient (Proxy :: Proxy ZonesGetResource)
gen/Network/Google/Resource/Compute/Zones/List.hs view
@@ -14,13 +14,13 @@ -- | -- Module : Network.Google.Resource.Compute.Zones.List--- Copyright : (c) 2015 Brendan Hay+-- 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 zone resources available to the specified project.+-- Retrieves the list of Zone resources available to the specified project. -- -- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.zones.list@. module Network.Google.Resource.Compute.Zones.List@@ -55,10 +55,10 @@ QueryParam "maxResults" (Textual Word32) :> QueryParam "alt" AltJSON :> Get '[JSON] ZoneList --- | Retrieves the list of zone resources available to the specified project.+-- | Retrieves the list of Zone resources available to the specified project. -- -- /See:/ 'zonesList' smart constructor.-data ZonesList = ZonesList+data ZonesList = ZonesList' { _zlProject :: !Text , _zlFilter :: !(Maybe Text) , _zlPageToken :: !(Maybe Text)@@ -80,7 +80,7 @@ :: Text -- ^ 'zlProject' -> ZonesList zonesList pZlProject_ =- ZonesList+ ZonesList' { _zlProject = pZlProject_ , _zlFilter = Nothing , _zlPageToken = Nothing@@ -93,27 +93,39 @@ = lens _zlProject (\ s a -> s{_zlProject = 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+-- 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--- (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, filter=name ne--- example-instance.+-- (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. Compute Engine Beta API Only: When+-- filtering in the Beta API, you can also 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. zlFilter :: Lens' ZonesList (Maybe Text) zlFilter = lens _zlFilter (\ s a -> s{_zlFilter = a}) --- | Specifies a page token to use. Use this parameter if you want to list--- the next page of results. Set pageToken to the nextPageToken returned by--- a previous list request.+-- | Specifies a page token to use. Set pageToken to the nextPageToken+-- returned by a previous list request to get the next page of results. zlPageToken :: Lens' ZonesList (Maybe Text) zlPageToken = lens _zlPageToken (\ s a -> s{_zlPageToken = a}) --- | Maximum count of results to be returned.+-- | 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. zlMaxResults :: Lens' ZonesList Word32 zlMaxResults = lens _zlMaxResults (\ s a -> s{_zlMaxResults = a})@@ -121,7 +133,11 @@ instance GoogleRequest ZonesList where type Rs ZonesList = ZoneList- requestClient ZonesList{..}+ type Scopes ZonesList =+ '["https://www.googleapis.com/auth/cloud-platform",+ "https://www.googleapis.com/auth/compute",+ "https://www.googleapis.com/auth/compute.readonly"]+ requestClient ZonesList'{..} = go _zlProject _zlFilter _zlPageToken (Just _zlMaxResults) (Just AltJSON)
gogol-compute.cabal view
@@ -1,5 +1,5 @@ name: gogol-compute-version: 0.0.1+version: 0.1.0 synopsis: Google Compute Engine SDK. homepage: https://github.com/brendanhay/gogol bug-reports: https://github.com/brendanhay/gogol/issues@@ -7,14 +7,14 @@ license-file: LICENSE author: Brendan Hay maintainer: Brendan Hay <brendan.g.hay@gmail.com>-copyright: Copyright (c) 2015 Brendan Hay+copyright: Copyright (c) 2015-2016 Brendan Hay category: Network, Google, Cloud build-type: Simple cabal-version: >= 1.10 extra-source-files: README.md description:- API for the Google Compute Engine service.+ Creates and runs virtual machines on Google Cloud Platform. . /Warning:/ This is an experimental prototype/preview release which is still under exploratory development and not intended for public use, caveat emptor!@@ -63,6 +63,7 @@ , Network.Google.Resource.Compute.Disks.Get , Network.Google.Resource.Compute.Disks.Insert , Network.Google.Resource.Compute.Disks.List+ , Network.Google.Resource.Compute.Disks.Resize , Network.Google.Resource.Compute.Firewalls.Delete , Network.Google.Resource.Compute.Firewalls.Get , Network.Google.Resource.Compute.Firewalls.Insert@@ -103,6 +104,7 @@ , Network.Google.Resource.Compute.Images.Delete , Network.Google.Resource.Compute.Images.Deprecate , Network.Google.Resource.Compute.Images.Get+ , Network.Google.Resource.Compute.Images.GetFromFamily , Network.Google.Resource.Compute.Images.Insert , Network.Google.Resource.Compute.Images.List , Network.Google.Resource.Compute.InstanceGroupManagers.AbandonInstances@@ -142,6 +144,7 @@ , Network.Google.Resource.Compute.Instances.List , Network.Google.Resource.Compute.Instances.Reset , Network.Google.Resource.Compute.Instances.SetDiskAutoDelete+ , Network.Google.Resource.Compute.Instances.SetMachineType , Network.Google.Resource.Compute.Instances.SetMetadata , Network.Google.Resource.Compute.Instances.SetScheduling , Network.Google.Resource.Compute.Instances.SetTags@@ -176,6 +179,11 @@ , Network.Google.Resource.Compute.Snapshots.Delete , Network.Google.Resource.Compute.Snapshots.Get , Network.Google.Resource.Compute.Snapshots.List+ , Network.Google.Resource.Compute.Subnetworks.AggregatedList+ , Network.Google.Resource.Compute.Subnetworks.Delete+ , Network.Google.Resource.Compute.Subnetworks.Get+ , Network.Google.Resource.Compute.Subnetworks.Insert+ , Network.Google.Resource.Compute.Subnetworks.List , Network.Google.Resource.Compute.TargetHTTPProxies.Delete , Network.Google.Resource.Compute.TargetHTTPProxies.Get , Network.Google.Resource.Compute.TargetHTTPProxies.Insert@@ -231,5 +239,5 @@ , Network.Google.Compute.Types.Sum build-depends:- gogol-core == 0.0.1.*+ gogol-core == 0.1.0.* , base >= 4.7 && < 5