gogol-compute (empty) → 0.0.1
raw patch · 198 files changed
+46149/−0 lines, 198 filesdep +basedep +gogol-coresetup-changed
Dependencies added: base, gogol-core
Files
- LICENSE +367/−0
- README.md +28/−0
- Setup.hs +2/−0
- gen/Network/Google/Compute.hs +2802/−0
- gen/Network/Google/Compute/Types.hs +1874/−0
- gen/Network/Google/Compute/Types/Product.hs +15819/−0
- gen/Network/Google/Compute/Types/Sum.hs +2366/−0
- gen/Network/Google/Resource/Compute/Addresses/AggregatedList.hs +137/−0
- gen/Network/Google/Resource/Compute/Addresses/Delete.hs +109/−0
- gen/Network/Google/Resource/Compute/Addresses/Get.hs +110/−0
- gen/Network/Google/Resource/Compute/Addresses/Insert.hs +111/−0
- gen/Network/Google/Resource/Compute/Addresses/List.hs +145/−0
- gen/Network/Google/Resource/Compute/Autoscalers/AggregatedList.hs +138/−0
- gen/Network/Google/Resource/Compute/Autoscalers/Delete.hs +109/−0
- gen/Network/Google/Resource/Compute/Autoscalers/Get.hs +108/−0
- gen/Network/Google/Resource/Compute/Autoscalers/Insert.hs +111/−0
- gen/Network/Google/Resource/Compute/Autoscalers/List.hs +146/−0
- gen/Network/Google/Resource/Compute/Autoscalers/Patch.hs +125/−0
- gen/Network/Google/Resource/Compute/Autoscalers/Update.hs +123/−0
- gen/Network/Google/Resource/Compute/BackendServices/Delete.hs +99/−0
- gen/Network/Google/Resource/Compute/BackendServices/Get.hs +100/−0
- gen/Network/Google/Resource/Compute/BackendServices/GetHealth.hs +115/−0
- gen/Network/Google/Resource/Compute/BackendServices/Insert.hs +101/−0
- gen/Network/Google/Resource/Compute/BackendServices/List.hs +138/−0
- gen/Network/Google/Resource/Compute/BackendServices/Patch.hs +115/−0
- gen/Network/Google/Resource/Compute/BackendServices/Update.hs +113/−0
- gen/Network/Google/Resource/Compute/DiskTypes/AggregatedList.hs +138/−0
- gen/Network/Google/Resource/Compute/DiskTypes/Get.hs +108/−0
- gen/Network/Google/Resource/Compute/DiskTypes/List.hs +147/−0
- gen/Network/Google/Resource/Compute/Disks/AggregatedList.hs +136/−0
- gen/Network/Google/Resource/Compute/Disks/CreateSnapshot.hs +122/−0
- gen/Network/Google/Resource/Compute/Disks/Delete.hs +113/−0
- gen/Network/Google/Resource/Compute/Disks/Get.hs +107/−0
- gen/Network/Google/Resource/Compute/Disks/Insert.hs +123/−0
- gen/Network/Google/Resource/Compute/Disks/List.hs +145/−0
- gen/Network/Google/Resource/Compute/Firewalls/Delete.hs +98/−0
- gen/Network/Google/Resource/Compute/Firewalls/Get.hs +97/−0
- gen/Network/Google/Resource/Compute/Firewalls/Insert.hs +100/−0
- gen/Network/Google/Resource/Compute/Firewalls/List.hs +134/−0
- gen/Network/Google/Resource/Compute/Firewalls/Patch.hs +111/−0
- gen/Network/Google/Resource/Compute/Firewalls/Update.hs +112/−0
- gen/Network/Google/Resource/Compute/ForwardingRules/AggregatedList.hs +140/−0
- gen/Network/Google/Resource/Compute/ForwardingRules/Delete.hs +112/−0
- gen/Network/Google/Resource/Compute/ForwardingRules/Get.hs +113/−0
- gen/Network/Google/Resource/Compute/ForwardingRules/Insert.hs +114/−0
- gen/Network/Google/Resource/Compute/ForwardingRules/List.hs +150/−0
- gen/Network/Google/Resource/Compute/ForwardingRules/SetTarget.hs +127/−0
- gen/Network/Google/Resource/Compute/GlobalAddresses/Delete.hs +98/−0
- gen/Network/Google/Resource/Compute/GlobalAddresses/Get.hs +98/−0
- gen/Network/Google/Resource/Compute/GlobalAddresses/Insert.hs +100/−0
- gen/Network/Google/Resource/Compute/GlobalAddresses/List.hs +135/−0
- gen/Network/Google/Resource/Compute/GlobalForwardingRules/Delete.hs +100/−0
- gen/Network/Google/Resource/Compute/GlobalForwardingRules/Get.hs +100/−0
- gen/Network/Google/Resource/Compute/GlobalForwardingRules/Insert.hs +102/−0
- gen/Network/Google/Resource/Compute/GlobalForwardingRules/List.hs +141/−0
- gen/Network/Google/Resource/Compute/GlobalForwardingRules/SetTarget.hs +117/−0
- gen/Network/Google/Resource/Compute/GlobalOperations/AggregatedList.hs +140/−0
- gen/Network/Google/Resource/Compute/GlobalOperations/Delete.hs +98/−0
- gen/Network/Google/Resource/Compute/GlobalOperations/Get.hs +98/−0
- gen/Network/Google/Resource/Compute/GlobalOperations/List.hs +137/−0
- gen/Network/Google/Resource/Compute/HTTPHealthChecks/Delete.hs +101/−0
- gen/Network/Google/Resource/Compute/HTTPHealthChecks/Get.hs +102/−0
- gen/Network/Google/Resource/Compute/HTTPHealthChecks/Insert.hs +103/−0
- gen/Network/Google/Resource/Compute/HTTPHealthChecks/List.hs +141/−0
- gen/Network/Google/Resource/Compute/HTTPHealthChecks/Patch.hs +118/−0
- gen/Network/Google/Resource/Compute/HTTPHealthChecks/Update.hs +118/−0
- gen/Network/Google/Resource/Compute/HTTPSHealthChecks/Delete.hs +100/−0
- gen/Network/Google/Resource/Compute/HTTPSHealthChecks/Get.hs +101/−0
- gen/Network/Google/Resource/Compute/HTTPSHealthChecks/Insert.hs +101/−0
- gen/Network/Google/Resource/Compute/HTTPSHealthChecks/List.hs +139/−0
- gen/Network/Google/Resource/Compute/HTTPSHealthChecks/Patch.hs +116/−0
- gen/Network/Google/Resource/Compute/HTTPSHealthChecks/Update.hs +116/−0
- gen/Network/Google/Resource/Compute/Images/Delete.hs +96/−0
- gen/Network/Google/Resource/Compute/Images/Deprecate.hs +115/−0
- gen/Network/Google/Resource/Compute/Images/Get.hs +94/−0
- gen/Network/Google/Resource/Compute/Images/Insert.hs +99/−0
- gen/Network/Google/Resource/Compute/Images/List.hs +146/−0
- gen/Network/Google/Resource/Compute/InstanceGroupManagers/AbandonInstances.hs +149/−0
- gen/Network/Google/Resource/Compute/InstanceGroupManagers/AggregatedList.hs +140/−0
- gen/Network/Google/Resource/Compute/InstanceGroupManagers/Delete.hs +114/−0
- gen/Network/Google/Resource/Compute/InstanceGroupManagers/DeleteInstances.hs +145/−0
- gen/Network/Google/Resource/Compute/InstanceGroupManagers/Get.hs +113/−0
- gen/Network/Google/Resource/Compute/InstanceGroupManagers/Insert.hs +125/−0
- gen/Network/Google/Resource/Compute/InstanceGroupManagers/List.hs +153/−0
- gen/Network/Google/Resource/Compute/InstanceGroupManagers/ListManagedInstances.hs +133/−0
- gen/Network/Google/Resource/Compute/InstanceGroupManagers/RecreateInstances.hs +143/−0
- gen/Network/Google/Resource/Compute/InstanceGroupManagers/Resize.hs +142/−0
- gen/Network/Google/Resource/Compute/InstanceGroupManagers/SetInstanceTemplate.hs +141/−0
- gen/Network/Google/Resource/Compute/InstanceGroupManagers/SetTargetPools.hs +144/−0
- gen/Network/Google/Resource/Compute/InstanceGroups/AddInstances.hs +131/−0
- gen/Network/Google/Resource/Compute/InstanceGroups/AggregatedList.hs +139/−0
- gen/Network/Google/Resource/Compute/InstanceGroups/Delete.hs +113/−0
- gen/Network/Google/Resource/Compute/InstanceGroups/Get.hs +111/−0
- gen/Network/Google/Resource/Compute/InstanceGroups/Insert.hs +112/−0
- gen/Network/Google/Resource/Compute/InstanceGroups/List.hs +149/−0
- gen/Network/Google/Resource/Compute/InstanceGroups/ListInstances.hs +181/−0
- gen/Network/Google/Resource/Compute/InstanceGroups/RemoveInstances.hs +131/−0
- gen/Network/Google/Resource/Compute/InstanceGroups/SetNamedPorts.hs +128/−0
- gen/Network/Google/Resource/Compute/InstanceTemplates/Delete.hs +99/−0
- gen/Network/Google/Resource/Compute/InstanceTemplates/Get.hs +100/−0
- gen/Network/Google/Resource/Compute/InstanceTemplates/Insert.hs +101/−0
- gen/Network/Google/Resource/Compute/InstanceTemplates/List.hs +138/−0
- gen/Network/Google/Resource/Compute/Instances/AddAccessConfig.hs +139/−0
- gen/Network/Google/Resource/Compute/Instances/AggregatedList.hs +137/−0
- gen/Network/Google/Resource/Compute/Instances/AttachDisk.hs +124/−0
- gen/Network/Google/Resource/Compute/Instances/Delete.hs +111/−0
- gen/Network/Google/Resource/Compute/Instances/DeleteAccessConfig.hs +140/−0
- gen/Network/Google/Resource/Compute/Instances/DetachDisk.hs +125/−0
- gen/Network/Google/Resource/Compute/Instances/Get.hs +108/−0
- gen/Network/Google/Resource/Compute/Instances/GetSerialPortOutput.hs +129/−0
- gen/Network/Google/Resource/Compute/Instances/Insert.hs +111/−0
- gen/Network/Google/Resource/Compute/Instances/List.hs +145/−0
- gen/Network/Google/Resource/Compute/Instances/Reset.hs +109/−0
- gen/Network/Google/Resource/Compute/Instances/SetDiskAutoDelete.hs +142/−0
- gen/Network/Google/Resource/Compute/Instances/SetMetadata.hs +125/−0
- gen/Network/Google/Resource/Compute/Instances/SetScheduling.hs +123/−0
- gen/Network/Google/Resource/Compute/Instances/SetTags.hs +125/−0
- gen/Network/Google/Resource/Compute/Instances/Start.hs +111/−0
- gen/Network/Google/Resource/Compute/Instances/Stop.hs +119/−0
- gen/Network/Google/Resource/Compute/Licenses/Get.hs +97/−0
- gen/Network/Google/Resource/Compute/MachineTypes/AggregatedList.hs +139/−0
- gen/Network/Google/Resource/Compute/MachineTypes/Get.hs +111/−0
- gen/Network/Google/Resource/Compute/MachineTypes/List.hs +149/−0
- gen/Network/Google/Resource/Compute/Networks/Delete.hs +97/−0
- gen/Network/Google/Resource/Compute/Networks/Get.hs +97/−0
- gen/Network/Google/Resource/Compute/Networks/Insert.hs +99/−0
- gen/Network/Google/Resource/Compute/Networks/List.hs +134/−0
- gen/Network/Google/Resource/Compute/Projects/Get.hs +82/−0
- gen/Network/Google/Resource/Compute/Projects/MoveDisk.hs +98/−0
- gen/Network/Google/Resource/Compute/Projects/MoveInstance.hs +100/−0
- gen/Network/Google/Resource/Compute/Projects/SetCommonInstanceMetadata.hs +101/−0
- gen/Network/Google/Resource/Compute/Projects/SetUsageExportBucket.hs +103/−0
- gen/Network/Google/Resource/Compute/RegionOperations/Delete.hs +111/−0
- gen/Network/Google/Resource/Compute/RegionOperations/Get.hs +111/−0
- gen/Network/Google/Resource/Compute/RegionOperations/List.hs +149/−0
- gen/Network/Google/Resource/Compute/Regions/Get.hs +95/−0
- gen/Network/Google/Resource/Compute/Regions/List.hs +132/−0
- gen/Network/Google/Resource/Compute/Routes/Delete.hs +96/−0
- gen/Network/Google/Resource/Compute/Routes/Get.hs +96/−0
- gen/Network/Google/Resource/Compute/Routes/Insert.hs +99/−0
- gen/Network/Google/Resource/Compute/Routes/List.hs +134/−0
- gen/Network/Google/Resource/Compute/SSLCertificates/Delete.hs +99/−0
- gen/Network/Google/Resource/Compute/SSLCertificates/Get.hs +100/−0
- gen/Network/Google/Resource/Compute/SSLCertificates/Insert.hs +101/−0
- gen/Network/Google/Resource/Compute/SSLCertificates/List.hs +138/−0
- gen/Network/Google/Resource/Compute/Snapshots/Delete.hs +106/−0
- gen/Network/Google/Resource/Compute/Snapshots/Get.hs +97/−0
- gen/Network/Google/Resource/Compute/Snapshots/List.hs +134/−0
- gen/Network/Google/Resource/Compute/TargetHTTPProxies/Delete.hs +101/−0
- gen/Network/Google/Resource/Compute/TargetHTTPProxies/Get.hs +102/−0
- gen/Network/Google/Resource/Compute/TargetHTTPProxies/Insert.hs +103/−0
- gen/Network/Google/Resource/Compute/TargetHTTPProxies/List.hs +141/−0
- gen/Network/Google/Resource/Compute/TargetHTTPProxies/SetURLMap.hs +117/−0
- gen/Network/Google/Resource/Compute/TargetHTTPSProxies/Delete.hs +100/−0
- gen/Network/Google/Resource/Compute/TargetHTTPSProxies/Get.hs +101/−0
- gen/Network/Google/Resource/Compute/TargetHTTPSProxies/Insert.hs +101/−0
- gen/Network/Google/Resource/Compute/TargetHTTPSProxies/List.hs +139/−0
- gen/Network/Google/Resource/Compute/TargetHTTPSProxies/SetSSLCertificates.hs +121/−0
- gen/Network/Google/Resource/Compute/TargetHTTPSProxies/SetURLMap.hs +117/−0
- gen/Network/Google/Resource/Compute/TargetInstances/AggregatedList.hs +140/−0
- gen/Network/Google/Resource/Compute/TargetInstances/Delete.hs +111/−0
- gen/Network/Google/Resource/Compute/TargetInstances/Get.hs +112/−0
- gen/Network/Google/Resource/Compute/TargetInstances/Insert.hs +112/−0
- gen/Network/Google/Resource/Compute/TargetInstances/List.hs +149/−0
- gen/Network/Google/Resource/Compute/TargetPools/AddHealthCheck.hs +128/−0
- gen/Network/Google/Resource/Compute/TargetPools/AddInstance.hs +126/−0
- gen/Network/Google/Resource/Compute/TargetPools/AggregatedList.hs +139/−0
- gen/Network/Google/Resource/Compute/TargetPools/Delete.hs +112/−0
- gen/Network/Google/Resource/Compute/TargetPools/Get.hs +111/−0
- gen/Network/Google/Resource/Compute/TargetPools/GetHealth.hs +129/−0
- gen/Network/Google/Resource/Compute/TargetPools/Insert.hs +113/−0
- gen/Network/Google/Resource/Compute/TargetPools/List.hs +150/−0
- gen/Network/Google/Resource/Compute/TargetPools/RemoveHealthCheck.hs +128/−0
- gen/Network/Google/Resource/Compute/TargetPools/RemoveInstance.hs +127/−0
- gen/Network/Google/Resource/Compute/TargetPools/SetBackup.hs +141/−0
- gen/Network/Google/Resource/Compute/TargetVPNGateways/AggregatedList.hs +140/−0
- gen/Network/Google/Resource/Compute/TargetVPNGateways/Delete.hs +112/−0
- gen/Network/Google/Resource/Compute/TargetVPNGateways/Get.hs +113/−0
- gen/Network/Google/Resource/Compute/TargetVPNGateways/Insert.hs +114/−0
- gen/Network/Google/Resource/Compute/TargetVPNGateways/List.hs +152/−0
- gen/Network/Google/Resource/Compute/URLMaps/Delete.hs +97/−0
- gen/Network/Google/Resource/Compute/URLMaps/Get.hs +97/−0
- gen/Network/Google/Resource/Compute/URLMaps/Insert.hs +99/−0
- gen/Network/Google/Resource/Compute/URLMaps/List.hs +136/−0
- gen/Network/Google/Resource/Compute/URLMaps/Patch.hs +112/−0
- gen/Network/Google/Resource/Compute/URLMaps/Update.hs +110/−0
- gen/Network/Google/Resource/Compute/URLMaps/Validate.hs +117/−0
- gen/Network/Google/Resource/Compute/VPNTunnels/AggregatedList.hs +138/−0
- gen/Network/Google/Resource/Compute/VPNTunnels/Delete.hs +111/−0
- gen/Network/Google/Resource/Compute/VPNTunnels/Get.hs +110/−0
- gen/Network/Google/Resource/Compute/VPNTunnels/Insert.hs +113/−0
- gen/Network/Google/Resource/Compute/VPNTunnels/List.hs +148/−0
- gen/Network/Google/Resource/Compute/ZoneOperations/Delete.hs +110/−0
- gen/Network/Google/Resource/Compute/ZoneOperations/Get.hs +110/−0
- gen/Network/Google/Resource/Compute/ZoneOperations/List.hs +148/−0
- gen/Network/Google/Resource/Compute/Zones/Get.hs +94/−0
- gen/Network/Google/Resource/Compute/Zones/List.hs +131/−0
- gogol-compute.cabal +235/−0
+ LICENSE view
@@ -0,0 +1,367 @@+Mozilla Public License Version 2.0+==================================++1. Definitions+--------------++1.1. "Contributor"+ means each individual or legal entity that creates, contributes to+ the creation of, or owns Covered Software.++1.2. "Contributor Version"+ means the combination of the Contributions of others (if any) used+ by a Contributor and that particular Contributor's Contribution.++1.3. "Contribution"+ means Covered Software of a particular Contributor.++1.4. "Covered Software"+ means Source Code Form to which the initial Contributor has attached+ the notice in Exhibit A, the Executable Form of such Source Code+ Form, and Modifications of such Source Code Form, in each case+ including portions thereof.++1.5. "Incompatible With Secondary Licenses"+ means++ (a) that the initial Contributor has attached the notice described+ in Exhibit B to the Covered Software; or++ (b) that the Covered Software was made available under the terms of+ version 1.1 or earlier of the License, but not also under the+ terms of a Secondary License.++1.6. "Executable Form"+ means any form of the work other than Source Code Form.++1.7. "Larger Work"+ means a work that combines Covered Software with other material, in+ a separate file or files, that is not Covered Software.++1.8. "License"+ means this document.++1.9. "Licensable"+ means having the right to grant, to the maximum extent possible,+ whether at the time of the initial grant or subsequently, any and+ all of the rights conveyed by this License.++1.10. "Modifications"+ means any of the following:++ (a) any file in Source Code Form that results from an addition to,+ deletion from, or modification of the contents of Covered+ Software; or++ (b) any new file in Source Code Form that contains any Covered+ Software.++1.11. "Patent Claims" of a Contributor+ means any patent claim(s), including without limitation, method,+ process, and apparatus claims, in any patent Licensable by such+ Contributor that would be infringed, but for the grant of the+ License, by the making, using, selling, offering for sale, having+ made, import, or transfer of either its Contributions or its+ Contributor Version.++1.12. "Secondary License"+ means either the GNU General Public License, Version 2.0, the GNU+ Lesser General Public License, Version 2.1, the GNU Affero General+ Public License, Version 3.0, or any later versions of those+ licenses.++1.13. "Source Code Form"+ means the form of the work preferred for making modifications.++1.14. "You" (or "Your")+ means an individual or a legal entity exercising rights under this+ License. For legal entities, "You" includes any entity that+ controls, is controlled by, or is under common control with You. For+ purposes of this definition, "control" means (a) the power, direct+ or indirect, to cause the direction or management of such entity,+ whether by contract or otherwise, or (b) ownership of more than+ fifty percent (50%) of the outstanding shares or beneficial+ ownership of such entity.++2. License Grants and Conditions+--------------------------------++2.1. Grants++Each Contributor hereby grants You a world-wide, royalty-free,+non-exclusive license:++(a) under intellectual property rights (other than patent or trademark)+ Licensable by such Contributor to use, reproduce, make available,+ modify, display, perform, distribute, and otherwise exploit its+ Contributions, either on an unmodified basis, with Modifications, or+ as part of a Larger Work; and++(b) under Patent Claims of such Contributor to make, use, sell, offer+ for sale, have made, import, and otherwise transfer either its+ Contributions or its Contributor Version.++2.2. Effective Date++The licenses granted in Section 2.1 with respect to any Contribution+become effective for each Contribution on the date the Contributor first+distributes such Contribution.++2.3. Limitations on Grant Scope++The licenses granted in this Section 2 are the only rights granted under+this License. No additional rights or licenses will be implied from the+distribution or licensing of Covered Software under this License.+Notwithstanding Section 2.1(b) above, no patent license is granted by a+Contributor:++(a) for any code that a Contributor has removed from Covered Software;+ or++(b) for infringements caused by: (i) Your and any other third party's+ modifications of Covered Software, or (ii) the combination of its+ Contributions with other software (except as part of its Contributor+ Version); or++(c) under Patent Claims infringed by Covered Software in the absence of+ its Contributions.++This License does not grant any rights in the trademarks, service marks,+or logos of any Contributor (except as may be necessary to comply with+the notice requirements in Section 3.4).++2.4. Subsequent Licenses++No Contributor makes additional grants as a result of Your choice to+distribute the Covered Software under a subsequent version of this+License (see Section 10.2) or under the terms of a Secondary License (if+permitted under the terms of Section 3.3).++2.5. Representation++Each Contributor represents that the Contributor believes its+Contributions are its original creation(s) or it has sufficient rights+to grant the rights to its Contributions conveyed by this License.++2.6. Fair Use++This License is not intended to limit any rights You have under+applicable copyright doctrines of fair use, fair dealing, or other+equivalents.++2.7. Conditions++Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted+in Section 2.1.++3. Responsibilities+-------------------++3.1. Distribution of Source Form++All distribution of Covered Software in Source Code Form, including any+Modifications that You create or to which You contribute, must be under+the terms of this License. You must inform recipients that the Source+Code Form of the Covered Software is governed by the terms of this+License, and how they can obtain a copy of this License. You may not+attempt to alter or restrict the recipients' rights in the Source Code+Form.++3.2. Distribution of Executable Form++If You distribute Covered Software in Executable Form then:++(a) such Covered Software must also be made available in Source Code+ Form, as described in Section 3.1, and You must inform recipients of+ the Executable Form how they can obtain a copy of such Source Code+ Form by reasonable means in a timely manner, at a charge no more+ than the cost of distribution to the recipient; and++(b) You may distribute such Executable Form under the terms of this+ License, or sublicense it under different terms, provided that the+ license for the Executable Form does not attempt to limit or alter+ the recipients' rights in the Source Code Form under this License.++3.3. Distribution of a Larger Work++You may create and distribute a Larger Work under terms of Your choice,+provided that You also comply with the requirements of this License for+the Covered Software. If the Larger Work is a combination of Covered+Software with a work governed by one or more Secondary Licenses, and the+Covered Software is not Incompatible With Secondary Licenses, this+License permits You to additionally distribute such Covered Software+under the terms of such Secondary License(s), so that the recipient of+the Larger Work may, at their option, further distribute the Covered+Software under the terms of either this License or such Secondary+License(s).++3.4. Notices++You may not remove or alter the substance of any license notices+(including copyright notices, patent notices, disclaimers of warranty,+or limitations of liability) contained within the Source Code Form of+the Covered Software, except that You may alter any license notices to+the extent required to remedy known factual inaccuracies.++3.5. Application of Additional Terms++You may choose to offer, and to charge a fee for, warranty, support,+indemnity or liability obligations to one or more recipients of Covered+Software. However, You may do so only on Your own behalf, and not on+behalf of any Contributor. You must make it absolutely clear that any+such warranty, support, indemnity, or liability obligation is offered by+You alone, and You hereby agree to indemnify every Contributor for any+liability incurred by such Contributor as a result of warranty, support,+indemnity or liability terms You offer. You may include additional+disclaimers of warranty and limitations of liability specific to any+jurisdiction.++4. Inability to Comply Due to Statute or Regulation+---------------------------------------------------++If it is impossible for You to comply with any of the terms of this+License with respect to some or all of the Covered Software due to+statute, judicial order, or regulation then You must: (a) comply with+the terms of this License to the maximum extent possible; and (b)+describe the limitations and the code they affect. Such description must+be placed in a text file included with all distributions of the Covered+Software under this License. Except to the extent prohibited by statute+or regulation, such description must be sufficiently detailed for a+recipient of ordinary skill to be able to understand it.++5. Termination+--------------++5.1. The rights granted under this License will terminate automatically+if You fail to comply with any of its terms. However, if You become+compliant, then the rights granted under this License from a particular+Contributor are reinstated (a) provisionally, unless and until such+Contributor explicitly and finally terminates Your grants, and (b) on an+ongoing basis, if such Contributor fails to notify You of the+non-compliance by some reasonable means prior to 60 days after You have+come back into compliance. Moreover, Your grants from a particular+Contributor are reinstated on an ongoing basis if such Contributor+notifies You of the non-compliance by some reasonable means, this is the+first time You have received notice of non-compliance with this License+from such Contributor, and You become compliant prior to 30 days after+Your receipt of the notice.++5.2. If You initiate litigation against any entity by asserting a patent+infringement claim (excluding declaratory judgment actions,+counter-claims, and cross-claims) alleging that a Contributor Version+directly or indirectly infringes any patent, then the rights granted to+You by any and all Contributors for the Covered Software under Section+2.1 of this License shall terminate.++5.3. In the event of termination under Sections 5.1 or 5.2 above, all+end user license agreements (excluding distributors and resellers) which+have been validly granted by You or Your distributors under this License+prior to termination shall survive termination.++************************************************************************+* *+* 6. Disclaimer of Warranty *+* ------------------------- *+* *+* Covered Software is provided under this License on an "as is" *+* basis, without warranty of any kind, either expressed, implied, or *+* statutory, including, without limitation, warranties that the *+* Covered Software is free of defects, merchantable, fit for a *+* particular purpose or non-infringing. The entire risk as to the *+* quality and performance of the Covered Software is with You. *+* Should any Covered Software prove defective in any respect, You *+* (not any Contributor) assume the cost of any necessary servicing, *+* repair, or correction. This disclaimer of warranty constitutes an *+* essential part of this License. No use of any Covered Software is *+* authorized under this License except under this disclaimer. *+* *+************************************************************************++************************************************************************+* *+* 7. Limitation of Liability *+* -------------------------- *+* *+* Under no circumstances and under no legal theory, whether tort *+* (including negligence), contract, or otherwise, shall any *+* Contributor, or anyone who distributes Covered Software as *+* permitted above, be liable to You for any direct, indirect, *+* special, incidental, or consequential damages of any character *+* including, without limitation, damages for lost profits, loss of *+* goodwill, work stoppage, computer failure or malfunction, or any *+* and all other commercial damages or losses, even if such party *+* shall have been informed of the possibility of such damages. This *+* limitation of liability shall not apply to liability for death or *+* personal injury resulting from such party's negligence to the *+* extent applicable law prohibits such limitation. Some *+* jurisdictions do not allow the exclusion or limitation of *+* incidental or consequential damages, so this exclusion and *+* limitation may not apply to You. *+* *+************************************************************************++8. Litigation+-------------++Any litigation relating to this License may be brought only in the+courts of a jurisdiction where the defendant maintains its principal+place of business and such litigation shall be governed by laws of that+jurisdiction, without reference to its conflict-of-law provisions.+Nothing in this Section shall prevent a party's ability to bring+cross-claims or counter-claims.++9. Miscellaneous+----------------++This License represents the complete agreement concerning the subject+matter hereof. If any provision of this License is held to be+unenforceable, such provision shall be reformed only to the extent+necessary to make it enforceable. Any law or regulation which provides+that the language of a contract shall be construed against the drafter+shall not be used to construe this License against a Contributor.++10. Versions of the License+---------------------------++10.1. New Versions++Mozilla Foundation is the license steward. Except as provided in Section+10.3, no one other than the license steward has the right to modify or+publish new versions of this License. Each version will be given a+distinguishing version number.++10.2. Effect of New Versions++You may distribute the Covered Software under the terms of the version+of the License under which You originally received the Covered Software,+or under the terms of any subsequent version published by the license+steward.++10.3. Modified Versions++If you create software not governed by this License, and you want to+create a new license for such software, you may create and use a+modified version of this License if you rename the license and remove+any references to the name of the license steward (except to note that+such modified license differs from this License).++10.4. Distributing Source Code Form that is Incompatible With Secondary+Licenses++If You choose to distribute Source Code Form that is Incompatible With+Secondary Licenses under the terms of this version of the License, the+notice described in Exhibit B of this License must be attached.++Exhibit A - Source Code Form License Notice+-------------------------------------------++ This Source Code Form is subject to the terms of the Mozilla Public+ License, v. 2.0. If a copy of the MPL was not distributed with this+ file, You can obtain one at http://mozilla.org/MPL/2.0/.++If it is not possible or desirable to put the notice in a particular+file, then You may include the notice in a location (such as a LICENSE+file in a relevant directory) where a recipient would be likely to look+for such a notice.++You may add additional accurate notices of copyright ownership.
+ README.md view
@@ -0,0 +1,28 @@+# gogol-compute++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version++`0.0.1`+++## Description++A client library for the Google Compute Engine.+++## Contribute++For any problems, comments, or feedback please create an issue [here on GitHub](https://github.com/brendanhay/amazonka/issues).++> _Note:_ this library is an auto-generated Haskell package. Please see `amazonka-gen` for more information.+++## Licence++`gogol-compute` is released under the [Mozilla Public License Version 2.0](http://www.mozilla.org/MPL/).
+ Setup.hs view
@@ -0,0 +1,2 @@+import Distribution.Simple+main = defaultMain
+ gen/Network/Google/Compute.hs view
@@ -0,0 +1,2802 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}++-- |+-- Module : Network.Google.Compute+-- 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)+--+-- API for the Google Compute Engine service.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference>+module Network.Google.Compute+ (+ -- * Service Configuration+ computeService++ -- * API Declaration+ , ComputeAPI++ -- * Resources++ -- ** compute.addresses.aggregatedList+ , module Network.Google.Resource.Compute.Addresses.AggregatedList++ -- ** compute.addresses.delete+ , module Network.Google.Resource.Compute.Addresses.Delete++ -- ** compute.addresses.get+ , module Network.Google.Resource.Compute.Addresses.Get++ -- ** compute.addresses.insert+ , module Network.Google.Resource.Compute.Addresses.Insert++ -- ** compute.addresses.list+ , module Network.Google.Resource.Compute.Addresses.List++ -- ** compute.autoscalers.aggregatedList+ , module Network.Google.Resource.Compute.Autoscalers.AggregatedList++ -- ** compute.autoscalers.delete+ , module Network.Google.Resource.Compute.Autoscalers.Delete++ -- ** compute.autoscalers.get+ , module Network.Google.Resource.Compute.Autoscalers.Get++ -- ** compute.autoscalers.insert+ , module Network.Google.Resource.Compute.Autoscalers.Insert++ -- ** compute.autoscalers.list+ , module Network.Google.Resource.Compute.Autoscalers.List++ -- ** compute.autoscalers.patch+ , module Network.Google.Resource.Compute.Autoscalers.Patch++ -- ** compute.autoscalers.update+ , module Network.Google.Resource.Compute.Autoscalers.Update++ -- ** compute.backendServices.delete+ , module Network.Google.Resource.Compute.BackendServices.Delete++ -- ** compute.backendServices.get+ , module Network.Google.Resource.Compute.BackendServices.Get++ -- ** compute.backendServices.getHealth+ , module Network.Google.Resource.Compute.BackendServices.GetHealth++ -- ** compute.backendServices.insert+ , module Network.Google.Resource.Compute.BackendServices.Insert++ -- ** compute.backendServices.list+ , module Network.Google.Resource.Compute.BackendServices.List++ -- ** compute.backendServices.patch+ , module Network.Google.Resource.Compute.BackendServices.Patch++ -- ** compute.backendServices.update+ , module Network.Google.Resource.Compute.BackendServices.Update++ -- ** compute.diskTypes.aggregatedList+ , module Network.Google.Resource.Compute.DiskTypes.AggregatedList++ -- ** compute.diskTypes.get+ , module Network.Google.Resource.Compute.DiskTypes.Get++ -- ** compute.diskTypes.list+ , module Network.Google.Resource.Compute.DiskTypes.List++ -- ** compute.disks.aggregatedList+ , module Network.Google.Resource.Compute.Disks.AggregatedList++ -- ** compute.disks.createSnapshot+ , module Network.Google.Resource.Compute.Disks.CreateSnapshot++ -- ** compute.disks.delete+ , module Network.Google.Resource.Compute.Disks.Delete++ -- ** compute.disks.get+ , module Network.Google.Resource.Compute.Disks.Get++ -- ** compute.disks.insert+ , module Network.Google.Resource.Compute.Disks.Insert++ -- ** compute.disks.list+ , module Network.Google.Resource.Compute.Disks.List++ -- ** compute.firewalls.delete+ , module Network.Google.Resource.Compute.Firewalls.Delete++ -- ** compute.firewalls.get+ , module Network.Google.Resource.Compute.Firewalls.Get++ -- ** compute.firewalls.insert+ , module Network.Google.Resource.Compute.Firewalls.Insert++ -- ** compute.firewalls.list+ , module Network.Google.Resource.Compute.Firewalls.List++ -- ** compute.firewalls.patch+ , module Network.Google.Resource.Compute.Firewalls.Patch++ -- ** compute.firewalls.update+ , module Network.Google.Resource.Compute.Firewalls.Update++ -- ** compute.forwardingRules.aggregatedList+ , module Network.Google.Resource.Compute.ForwardingRules.AggregatedList++ -- ** compute.forwardingRules.delete+ , module Network.Google.Resource.Compute.ForwardingRules.Delete++ -- ** compute.forwardingRules.get+ , module Network.Google.Resource.Compute.ForwardingRules.Get++ -- ** compute.forwardingRules.insert+ , module Network.Google.Resource.Compute.ForwardingRules.Insert++ -- ** compute.forwardingRules.list+ , module Network.Google.Resource.Compute.ForwardingRules.List++ -- ** compute.forwardingRules.setTarget+ , module Network.Google.Resource.Compute.ForwardingRules.SetTarget++ -- ** compute.globalAddresses.delete+ , module Network.Google.Resource.Compute.GlobalAddresses.Delete++ -- ** compute.globalAddresses.get+ , module Network.Google.Resource.Compute.GlobalAddresses.Get++ -- ** compute.globalAddresses.insert+ , module Network.Google.Resource.Compute.GlobalAddresses.Insert++ -- ** compute.globalAddresses.list+ , module Network.Google.Resource.Compute.GlobalAddresses.List++ -- ** compute.globalForwardingRules.delete+ , module Network.Google.Resource.Compute.GlobalForwardingRules.Delete++ -- ** compute.globalForwardingRules.get+ , module Network.Google.Resource.Compute.GlobalForwardingRules.Get++ -- ** compute.globalForwardingRules.insert+ , module Network.Google.Resource.Compute.GlobalForwardingRules.Insert++ -- ** compute.globalForwardingRules.list+ , module Network.Google.Resource.Compute.GlobalForwardingRules.List++ -- ** compute.globalForwardingRules.setTarget+ , module Network.Google.Resource.Compute.GlobalForwardingRules.SetTarget++ -- ** compute.globalOperations.aggregatedList+ , module Network.Google.Resource.Compute.GlobalOperations.AggregatedList++ -- ** compute.globalOperations.delete+ , module Network.Google.Resource.Compute.GlobalOperations.Delete++ -- ** compute.globalOperations.get+ , module Network.Google.Resource.Compute.GlobalOperations.Get++ -- ** compute.globalOperations.list+ , module Network.Google.Resource.Compute.GlobalOperations.List++ -- ** compute.httpHealthChecks.delete+ , module Network.Google.Resource.Compute.HTTPHealthChecks.Delete++ -- ** compute.httpHealthChecks.get+ , module Network.Google.Resource.Compute.HTTPHealthChecks.Get++ -- ** compute.httpHealthChecks.insert+ , module Network.Google.Resource.Compute.HTTPHealthChecks.Insert++ -- ** compute.httpHealthChecks.list+ , module Network.Google.Resource.Compute.HTTPHealthChecks.List++ -- ** compute.httpHealthChecks.patch+ , module Network.Google.Resource.Compute.HTTPHealthChecks.Patch++ -- ** compute.httpHealthChecks.update+ , module Network.Google.Resource.Compute.HTTPHealthChecks.Update++ -- ** compute.httpsHealthChecks.delete+ , module Network.Google.Resource.Compute.HTTPSHealthChecks.Delete++ -- ** compute.httpsHealthChecks.get+ , module Network.Google.Resource.Compute.HTTPSHealthChecks.Get++ -- ** compute.httpsHealthChecks.insert+ , module Network.Google.Resource.Compute.HTTPSHealthChecks.Insert++ -- ** compute.httpsHealthChecks.list+ , module Network.Google.Resource.Compute.HTTPSHealthChecks.List++ -- ** compute.httpsHealthChecks.patch+ , module Network.Google.Resource.Compute.HTTPSHealthChecks.Patch++ -- ** compute.httpsHealthChecks.update+ , module Network.Google.Resource.Compute.HTTPSHealthChecks.Update++ -- ** compute.images.delete+ , module Network.Google.Resource.Compute.Images.Delete++ -- ** compute.images.deprecate+ , module Network.Google.Resource.Compute.Images.Deprecate++ -- ** compute.images.get+ , module Network.Google.Resource.Compute.Images.Get++ -- ** compute.images.insert+ , module Network.Google.Resource.Compute.Images.Insert++ -- ** compute.images.list+ , module Network.Google.Resource.Compute.Images.List++ -- ** compute.instanceGroupManagers.abandonInstances+ , module Network.Google.Resource.Compute.InstanceGroupManagers.AbandonInstances++ -- ** compute.instanceGroupManagers.aggregatedList+ , module Network.Google.Resource.Compute.InstanceGroupManagers.AggregatedList++ -- ** compute.instanceGroupManagers.delete+ , module Network.Google.Resource.Compute.InstanceGroupManagers.Delete++ -- ** compute.instanceGroupManagers.deleteInstances+ , module Network.Google.Resource.Compute.InstanceGroupManagers.DeleteInstances++ -- ** compute.instanceGroupManagers.get+ , module Network.Google.Resource.Compute.InstanceGroupManagers.Get++ -- ** compute.instanceGroupManagers.insert+ , module Network.Google.Resource.Compute.InstanceGroupManagers.Insert++ -- ** compute.instanceGroupManagers.list+ , module Network.Google.Resource.Compute.InstanceGroupManagers.List++ -- ** compute.instanceGroupManagers.listManagedInstances+ , module Network.Google.Resource.Compute.InstanceGroupManagers.ListManagedInstances++ -- ** compute.instanceGroupManagers.recreateInstances+ , module Network.Google.Resource.Compute.InstanceGroupManagers.RecreateInstances++ -- ** compute.instanceGroupManagers.resize+ , module Network.Google.Resource.Compute.InstanceGroupManagers.Resize++ -- ** compute.instanceGroupManagers.setInstanceTemplate+ , module Network.Google.Resource.Compute.InstanceGroupManagers.SetInstanceTemplate++ -- ** compute.instanceGroupManagers.setTargetPools+ , module Network.Google.Resource.Compute.InstanceGroupManagers.SetTargetPools++ -- ** compute.instanceGroups.addInstances+ , module Network.Google.Resource.Compute.InstanceGroups.AddInstances++ -- ** compute.instanceGroups.aggregatedList+ , module Network.Google.Resource.Compute.InstanceGroups.AggregatedList++ -- ** compute.instanceGroups.delete+ , module Network.Google.Resource.Compute.InstanceGroups.Delete++ -- ** compute.instanceGroups.get+ , module Network.Google.Resource.Compute.InstanceGroups.Get++ -- ** compute.instanceGroups.insert+ , module Network.Google.Resource.Compute.InstanceGroups.Insert++ -- ** compute.instanceGroups.list+ , module Network.Google.Resource.Compute.InstanceGroups.List++ -- ** compute.instanceGroups.listInstances+ , module Network.Google.Resource.Compute.InstanceGroups.ListInstances++ -- ** compute.instanceGroups.removeInstances+ , module Network.Google.Resource.Compute.InstanceGroups.RemoveInstances++ -- ** compute.instanceGroups.setNamedPorts+ , module Network.Google.Resource.Compute.InstanceGroups.SetNamedPorts++ -- ** compute.instanceTemplates.delete+ , module Network.Google.Resource.Compute.InstanceTemplates.Delete++ -- ** compute.instanceTemplates.get+ , module Network.Google.Resource.Compute.InstanceTemplates.Get++ -- ** compute.instanceTemplates.insert+ , module Network.Google.Resource.Compute.InstanceTemplates.Insert++ -- ** compute.instanceTemplates.list+ , module Network.Google.Resource.Compute.InstanceTemplates.List++ -- ** compute.instances.addAccessConfig+ , module Network.Google.Resource.Compute.Instances.AddAccessConfig++ -- ** compute.instances.aggregatedList+ , module Network.Google.Resource.Compute.Instances.AggregatedList++ -- ** compute.instances.attachDisk+ , module Network.Google.Resource.Compute.Instances.AttachDisk++ -- ** compute.instances.delete+ , module Network.Google.Resource.Compute.Instances.Delete++ -- ** compute.instances.deleteAccessConfig+ , module Network.Google.Resource.Compute.Instances.DeleteAccessConfig++ -- ** compute.instances.detachDisk+ , module Network.Google.Resource.Compute.Instances.DetachDisk++ -- ** compute.instances.get+ , module Network.Google.Resource.Compute.Instances.Get++ -- ** compute.instances.getSerialPortOutput+ , module Network.Google.Resource.Compute.Instances.GetSerialPortOutput++ -- ** compute.instances.insert+ , module Network.Google.Resource.Compute.Instances.Insert++ -- ** compute.instances.list+ , module Network.Google.Resource.Compute.Instances.List++ -- ** compute.instances.reset+ , module Network.Google.Resource.Compute.Instances.Reset++ -- ** compute.instances.setDiskAutoDelete+ , module Network.Google.Resource.Compute.Instances.SetDiskAutoDelete++ -- ** compute.instances.setMetadata+ , module Network.Google.Resource.Compute.Instances.SetMetadata++ -- ** compute.instances.setScheduling+ , module Network.Google.Resource.Compute.Instances.SetScheduling++ -- ** compute.instances.setTags+ , module Network.Google.Resource.Compute.Instances.SetTags++ -- ** compute.instances.start+ , module Network.Google.Resource.Compute.Instances.Start++ -- ** compute.instances.stop+ , module Network.Google.Resource.Compute.Instances.Stop++ -- ** compute.licenses.get+ , module Network.Google.Resource.Compute.Licenses.Get++ -- ** compute.machineTypes.aggregatedList+ , module Network.Google.Resource.Compute.MachineTypes.AggregatedList++ -- ** compute.machineTypes.get+ , module Network.Google.Resource.Compute.MachineTypes.Get++ -- ** compute.machineTypes.list+ , module Network.Google.Resource.Compute.MachineTypes.List++ -- ** compute.networks.delete+ , module Network.Google.Resource.Compute.Networks.Delete++ -- ** compute.networks.get+ , module Network.Google.Resource.Compute.Networks.Get++ -- ** compute.networks.insert+ , module Network.Google.Resource.Compute.Networks.Insert++ -- ** compute.networks.list+ , module Network.Google.Resource.Compute.Networks.List++ -- ** compute.projects.get+ , module Network.Google.Resource.Compute.Projects.Get++ -- ** compute.projects.moveDisk+ , module Network.Google.Resource.Compute.Projects.MoveDisk++ -- ** compute.projects.moveInstance+ , module Network.Google.Resource.Compute.Projects.MoveInstance++ -- ** compute.projects.setCommonInstanceMetadata+ , module Network.Google.Resource.Compute.Projects.SetCommonInstanceMetadata++ -- ** compute.projects.setUsageExportBucket+ , module Network.Google.Resource.Compute.Projects.SetUsageExportBucket++ -- ** compute.regionOperations.delete+ , module Network.Google.Resource.Compute.RegionOperations.Delete++ -- ** compute.regionOperations.get+ , module Network.Google.Resource.Compute.RegionOperations.Get++ -- ** compute.regionOperations.list+ , module Network.Google.Resource.Compute.RegionOperations.List++ -- ** compute.regions.get+ , module Network.Google.Resource.Compute.Regions.Get++ -- ** compute.regions.list+ , module Network.Google.Resource.Compute.Regions.List++ -- ** compute.routes.delete+ , module Network.Google.Resource.Compute.Routes.Delete++ -- ** compute.routes.get+ , module Network.Google.Resource.Compute.Routes.Get++ -- ** compute.routes.insert+ , module Network.Google.Resource.Compute.Routes.Insert++ -- ** compute.routes.list+ , module Network.Google.Resource.Compute.Routes.List++ -- ** compute.snapshots.delete+ , module Network.Google.Resource.Compute.Snapshots.Delete++ -- ** compute.snapshots.get+ , module Network.Google.Resource.Compute.Snapshots.Get++ -- ** compute.snapshots.list+ , module Network.Google.Resource.Compute.Snapshots.List++ -- ** compute.sslCertificates.delete+ , module Network.Google.Resource.Compute.SSLCertificates.Delete++ -- ** compute.sslCertificates.get+ , module Network.Google.Resource.Compute.SSLCertificates.Get++ -- ** compute.sslCertificates.insert+ , module Network.Google.Resource.Compute.SSLCertificates.Insert++ -- ** compute.sslCertificates.list+ , module Network.Google.Resource.Compute.SSLCertificates.List++ -- ** compute.targetHttpProxies.delete+ , module Network.Google.Resource.Compute.TargetHTTPProxies.Delete++ -- ** compute.targetHttpProxies.get+ , module Network.Google.Resource.Compute.TargetHTTPProxies.Get++ -- ** compute.targetHttpProxies.insert+ , module Network.Google.Resource.Compute.TargetHTTPProxies.Insert++ -- ** compute.targetHttpProxies.list+ , module Network.Google.Resource.Compute.TargetHTTPProxies.List++ -- ** compute.targetHttpProxies.setUrlMap+ , module Network.Google.Resource.Compute.TargetHTTPProxies.SetURLMap++ -- ** compute.targetHttpsProxies.delete+ , module Network.Google.Resource.Compute.TargetHTTPSProxies.Delete++ -- ** compute.targetHttpsProxies.get+ , module Network.Google.Resource.Compute.TargetHTTPSProxies.Get++ -- ** compute.targetHttpsProxies.insert+ , module Network.Google.Resource.Compute.TargetHTTPSProxies.Insert++ -- ** compute.targetHttpsProxies.list+ , module Network.Google.Resource.Compute.TargetHTTPSProxies.List++ -- ** compute.targetHttpsProxies.setSslCertificates+ , module Network.Google.Resource.Compute.TargetHTTPSProxies.SetSSLCertificates++ -- ** compute.targetHttpsProxies.setUrlMap+ , module Network.Google.Resource.Compute.TargetHTTPSProxies.SetURLMap++ -- ** compute.targetInstances.aggregatedList+ , module Network.Google.Resource.Compute.TargetInstances.AggregatedList++ -- ** compute.targetInstances.delete+ , module Network.Google.Resource.Compute.TargetInstances.Delete++ -- ** compute.targetInstances.get+ , module Network.Google.Resource.Compute.TargetInstances.Get++ -- ** compute.targetInstances.insert+ , module Network.Google.Resource.Compute.TargetInstances.Insert++ -- ** compute.targetInstances.list+ , module Network.Google.Resource.Compute.TargetInstances.List++ -- ** compute.targetPools.addHealthCheck+ , module Network.Google.Resource.Compute.TargetPools.AddHealthCheck++ -- ** compute.targetPools.addInstance+ , module Network.Google.Resource.Compute.TargetPools.AddInstance++ -- ** compute.targetPools.aggregatedList+ , module Network.Google.Resource.Compute.TargetPools.AggregatedList++ -- ** compute.targetPools.delete+ , module Network.Google.Resource.Compute.TargetPools.Delete++ -- ** compute.targetPools.get+ , module Network.Google.Resource.Compute.TargetPools.Get++ -- ** compute.targetPools.getHealth+ , module Network.Google.Resource.Compute.TargetPools.GetHealth++ -- ** compute.targetPools.insert+ , module Network.Google.Resource.Compute.TargetPools.Insert++ -- ** compute.targetPools.list+ , module Network.Google.Resource.Compute.TargetPools.List++ -- ** compute.targetPools.removeHealthCheck+ , module Network.Google.Resource.Compute.TargetPools.RemoveHealthCheck++ -- ** compute.targetPools.removeInstance+ , module Network.Google.Resource.Compute.TargetPools.RemoveInstance++ -- ** compute.targetPools.setBackup+ , module Network.Google.Resource.Compute.TargetPools.SetBackup++ -- ** compute.targetVpnGateways.aggregatedList+ , module Network.Google.Resource.Compute.TargetVPNGateways.AggregatedList++ -- ** compute.targetVpnGateways.delete+ , module Network.Google.Resource.Compute.TargetVPNGateways.Delete++ -- ** compute.targetVpnGateways.get+ , module Network.Google.Resource.Compute.TargetVPNGateways.Get++ -- ** compute.targetVpnGateways.insert+ , module Network.Google.Resource.Compute.TargetVPNGateways.Insert++ -- ** compute.targetVpnGateways.list+ , module Network.Google.Resource.Compute.TargetVPNGateways.List++ -- ** compute.urlMaps.delete+ , module Network.Google.Resource.Compute.URLMaps.Delete++ -- ** compute.urlMaps.get+ , module Network.Google.Resource.Compute.URLMaps.Get++ -- ** compute.urlMaps.insert+ , module Network.Google.Resource.Compute.URLMaps.Insert++ -- ** compute.urlMaps.list+ , module Network.Google.Resource.Compute.URLMaps.List++ -- ** compute.urlMaps.patch+ , module Network.Google.Resource.Compute.URLMaps.Patch++ -- ** compute.urlMaps.update+ , module Network.Google.Resource.Compute.URLMaps.Update++ -- ** compute.urlMaps.validate+ , module Network.Google.Resource.Compute.URLMaps.Validate++ -- ** compute.vpnTunnels.aggregatedList+ , module Network.Google.Resource.Compute.VPNTunnels.AggregatedList++ -- ** compute.vpnTunnels.delete+ , module Network.Google.Resource.Compute.VPNTunnels.Delete++ -- ** compute.vpnTunnels.get+ , module Network.Google.Resource.Compute.VPNTunnels.Get++ -- ** compute.vpnTunnels.insert+ , module Network.Google.Resource.Compute.VPNTunnels.Insert++ -- ** compute.vpnTunnels.list+ , module Network.Google.Resource.Compute.VPNTunnels.List++ -- ** compute.zoneOperations.delete+ , module Network.Google.Resource.Compute.ZoneOperations.Delete++ -- ** compute.zoneOperations.get+ , module Network.Google.Resource.Compute.ZoneOperations.Get++ -- ** compute.zoneOperations.list+ , module Network.Google.Resource.Compute.ZoneOperations.List++ -- ** compute.zones.get+ , module Network.Google.Resource.Compute.Zones.Get++ -- ** compute.zones.list+ , module Network.Google.Resource.Compute.Zones.List++ -- * Types++ -- ** TargetHTTPSProxyList+ , TargetHTTPSProxyList+ , targetHTTPSProxyList+ , thplNextPageToken+ , thplKind+ , thplItems+ , thplSelfLink+ , thplId++ -- ** AddressesScopedList+ , AddressesScopedList+ , addressesScopedList+ , aslAddresses+ , aslWarning++ -- ** OperationWarningsItemDataItem+ , OperationWarningsItemDataItem+ , operationWarningsItemDataItem+ , owidiValue+ , owidiKey++ -- ** SchedulingOnHostMaintenance+ , SchedulingOnHostMaintenance (..)++ -- ** AutoscalingPolicyCustomMetricUtilizationUtilizationTargetType+ , AutoscalingPolicyCustomMetricUtilizationUtilizationTargetType (..)++ -- ** InstanceGroupManagersAbandonInstancesRequest+ , InstanceGroupManagersAbandonInstancesRequest+ , instanceGroupManagersAbandonInstancesRequest+ , igmairInstances++ -- ** MachineTypeAggregatedListItems+ , MachineTypeAggregatedListItems+ , machineTypeAggregatedListItems+ , mtaliAddtional++ -- ** DiskTypeAggregatedListItems+ , DiskTypeAggregatedListItems+ , diskTypeAggregatedListItems+ , dtaliAddtional++ -- ** FirewallList+ , FirewallList+ , firewallList+ , flNextPageToken+ , flKind+ , flItems+ , flSelfLink+ , flId++ -- ** InstancesScopedListWarning+ , InstancesScopedListWarning+ , instancesScopedListWarning+ , islwData+ , islwCode+ , islwMessage++ -- ** InstanceGroupList+ , InstanceGroupList+ , instanceGroupList+ , iglNextPageToken+ , iglKind+ , iglItems+ , iglSelfLink+ , iglId++ -- ** AutoscalerAggregatedListItems+ , AutoscalerAggregatedListItems+ , autoscalerAggregatedListItems+ , aaliAddtional++ -- ** InstanceGroupManagersSetInstanceTemplateRequest+ , InstanceGroupManagersSetInstanceTemplateRequest+ , instanceGroupManagersSetInstanceTemplateRequest+ , igmsitrInstanceTemplate++ -- ** DeprecationStatus+ , DeprecationStatus+ , deprecationStatus+ , dsState+ , dsDeleted+ , dsReplacement+ , dsObsolete+ , dsDeprecated++ -- ** OperationWarningsItemCode+ , OperationWarningsItemCode (..)++ -- ** Snapshot+ , Snapshot+ , snapshot+ , sStorageBytesStatus+ , sStatus+ , sDiskSizeGb+ , sSourceDiskId+ , sKind+ , sStorageBytes+ , sSelfLink+ , sName+ , sCreationTimestamp+ , sId+ , sLicenses+ , sSourceDisk+ , sDescription++ -- ** AutoscalingPolicyCustomMetricUtilization+ , AutoscalingPolicyCustomMetricUtilization+ , autoscalingPolicyCustomMetricUtilization+ , apcmuUtilizationTarget+ , apcmuMetric+ , apcmuUtilizationTargetType++ -- ** ForwardingRuleList+ , ForwardingRuleList+ , forwardingRuleList+ , frlNextPageToken+ , frlKind+ , frlItems+ , frlSelfLink+ , frlId++ -- ** VPNTunnelsScopedList+ , VPNTunnelsScopedList+ , vpnTunnelsScopedList+ , vtslVPNTunnels+ , vtslWarning++ -- ** BackendServiceProtocol+ , BackendServiceProtocol (..)++ -- ** InstanceGroupsSetNamedPortsRequest+ , InstanceGroupsSetNamedPortsRequest+ , instanceGroupsSetNamedPortsRequest+ , igsnprFingerprint+ , igsnprNamedPorts++ -- ** OperationList+ , OperationList+ , operationList+ , olNextPageToken+ , olKind+ , olItems+ , olSelfLink+ , olId++ -- ** DiskList+ , DiskList+ , diskList+ , dlNextPageToken+ , dlKind+ , dlItems+ , dlSelfLink+ , dlId++ -- ** TargetPoolsAddInstanceRequest+ , TargetPoolsAddInstanceRequest+ , targetPoolsAddInstanceRequest+ , tpairInstances++ -- ** InstanceGroupsAddInstancesRequest+ , InstanceGroupsAddInstancesRequest+ , instanceGroupsAddInstancesRequest+ , igairInstances++ -- ** InstanceGroupManagerList+ , InstanceGroupManagerList+ , instanceGroupManagerList+ , igmlNextPageToken+ , igmlKind+ , igmlItems+ , igmlSelfLink+ , igmlId++ -- ** AttachedDiskType+ , AttachedDiskType (..)++ -- ** Image+ , Image+ , image+ , iStatus+ , iDiskSizeGb+ , iSourceType+ , iSourceDiskId+ , iKind+ , iArchiveSizeBytes+ , iRawDisk+ , iSelfLink+ , iName+ , iCreationTimestamp+ , iId+ , iLicenses+ , iSourceDisk+ , iDescription+ , iDeprecated++ -- ** URLMap+ , URLMap+ , urlMap+ , umTests+ , umKind+ , umFingerprint+ , umDefaultService+ , umSelfLink+ , umName+ , umCreationTimestamp+ , umPathMatchers+ , umId+ , umHostRules+ , umDescription++ -- ** InstanceGroupAggregatedListItems+ , InstanceGroupAggregatedListItems+ , instanceGroupAggregatedListItems+ , igaliAddtional++ -- ** TargetPoolList+ , TargetPoolList+ , targetPoolList+ , tplNextPageToken+ , tplKind+ , tplItems+ , tplSelfLink+ , tplId++ -- ** TargetInstanceAggregatedList+ , TargetInstanceAggregatedList+ , targetInstanceAggregatedList+ , tialNextPageToken+ , tialKind+ , tialItems+ , tialSelfLink+ , tialId++ -- ** DisksScopedList+ , DisksScopedList+ , disksScopedList+ , dslWarning+ , dslDisks++ -- ** InstanceGroupManagersScopedList+ , InstanceGroupManagersScopedList+ , instanceGroupManagersScopedList+ , igmslWarning+ , igmslInstanceGroupManagers++ -- ** DiskAggregatedList+ , DiskAggregatedList+ , diskAggregatedList+ , dalNextPageToken+ , dalKind+ , dalItems+ , dalSelfLink+ , dalId++ -- ** InstanceWithNamedPorts+ , InstanceWithNamedPorts+ , instanceWithNamedPorts+ , iwnpStatus+ , iwnpNamedPorts+ , iwnpInstance++ -- ** ForwardingRulesScopedList+ , ForwardingRulesScopedList+ , forwardingRulesScopedList+ , frslWarning+ , frslForwardingRules++ -- ** InstanceReference+ , InstanceReference+ , instanceReference+ , iInstance++ -- ** OperationAggregatedList+ , OperationAggregatedList+ , operationAggregatedList+ , oalNextPageToken+ , oalKind+ , oalItems+ , oalSelfLink+ , oalId++ -- ** OperationsScopedList+ , OperationsScopedList+ , operationsScopedList+ , oslWarning+ , oslOperations++ -- ** NamedPort+ , NamedPort+ , namedPort+ , npName+ , npPort++ -- ** TargetInstanceList+ , TargetInstanceList+ , targetInstanceList+ , tilNextPageToken+ , tilKind+ , tilItems+ , tilSelfLink+ , tilId++ -- ** InstanceGroupManagerAggregatedList+ , InstanceGroupManagerAggregatedList+ , instanceGroupManagerAggregatedList+ , igmalNextPageToken+ , igmalKind+ , igmalItems+ , igmalSelfLink+ , igmalId++ -- ** ImageSourceType+ , ImageSourceType (..)++ -- ** TargetPoolsScopedList+ , TargetPoolsScopedList+ , targetPoolsScopedList+ , tpslWarning+ , tpslTargetPools++ -- ** ForwardingRuleAggregatedList+ , ForwardingRuleAggregatedList+ , forwardingRuleAggregatedList+ , fralNextPageToken+ , fralKind+ , fralItems+ , fralSelfLink+ , fralId++ -- ** TargetReference+ , TargetReference+ , targetReference+ , trTarget++ -- ** TargetPoolAggregatedList+ , TargetPoolAggregatedList+ , targetPoolAggregatedList+ , tpalNextPageToken+ , tpalKind+ , tpalItems+ , tpalSelfLink+ , tpalId++ -- ** OperationsScopedListWarningDataItem+ , OperationsScopedListWarningDataItem+ , operationsScopedListWarningDataItem+ , oslwdiValue+ , oslwdiKey++ -- ** TargetPool+ , TargetPool+ , targetPool+ , tpSessionAffinity+ , tpBackupPool+ , tpKind+ , tpSelfLink+ , tpName+ , tpCreationTimestamp+ , tpInstances+ , tpId+ , tpFailoverRatio+ , tpRegion+ , tpDescription+ , tpHealthChecks++ -- ** ImageList+ , ImageList+ , imageList+ , ilNextPageToken+ , ilKind+ , ilItems+ , ilSelfLink+ , ilId++ -- ** VPNTunnelsScopedListWarning+ , VPNTunnelsScopedListWarning+ , vpnTunnelsScopedListWarning+ , vtslwData+ , vtslwCode+ , vtslwMessage++ -- ** ForwardingRulesScopedListWarningCode+ , ForwardingRulesScopedListWarningCode (..)++ -- ** OperationsScopedListWarningCode+ , OperationsScopedListWarningCode (..)++ -- ** ForwardingRule+ , ForwardingRule+ , forwardingRule+ , frIPAddress+ , frKind+ , frPortRange+ , frSelfLink+ , frName+ , frIPProtocol+ , frCreationTimestamp+ , frId+ , frRegion+ , frDescription+ , frTarget++ -- ** URLMapList+ , URLMapList+ , urlMapList+ , umlNextPageToken+ , umlKind+ , umlItems+ , umlSelfLink+ , umlId++ -- ** ForwardingRulesScopedListWarningDataItem+ , ForwardingRulesScopedListWarningDataItem+ , forwardingRulesScopedListWarningDataItem+ , frslwdiValue+ , frslwdiKey++ -- ** InstanceGroupManagersScopedListWarningDataItem+ , InstanceGroupManagersScopedListWarningDataItem+ , instanceGroupManagersScopedListWarningDataItem+ , igmslwdiValue+ , igmslwdiKey++ -- ** DisksScopedListWarningCode+ , DisksScopedListWarningCode (..)++ -- ** Project+ , Project+ , project+ , pKind+ , pUsageExportLocation+ , pSelfLink+ , pName+ , pCreationTimestamp+ , pEnabledFeatures+ , pQuotas+ , pId+ , pDescription+ , pCommonInstanceMetadata++ -- ** Operation+ , Operation+ , operation+ , oTargetId+ , oStatus+ , oInsertTime+ , oProgress+ , oStartTime+ , oKind+ , oError+ , oHTTPErrorMessage+ , oZone+ , oWarnings+ , oHTTPErrorStatusCode+ , oUser+ , oSelfLink+ , oName+ , oStatusMessage+ , oCreationTimestamp+ , oEndTime+ , oId+ , oOperationType+ , oRegion+ , oTargetLink+ , oClientOperationId++ -- ** DisksScopedListWarningDataItem+ , DisksScopedListWarningDataItem+ , disksScopedListWarningDataItem+ , dslwdiValue+ , dslwdiKey++ -- ** InstanceGroupManagersScopedListWarningCode+ , InstanceGroupManagersScopedListWarningCode (..)++ -- ** Disk+ , Disk+ , disk+ , dStatus+ , dSourceSnapshotId+ , dLastAttachTimestamp+ , dUsers+ , dSourceImage+ , dSizeGb+ , dKind+ , dLastDetachTimestamp+ , dZone+ , dSelfLink+ , dName+ , dSourceImageId+ , dCreationTimestamp+ , dId+ , dLicenses+ , dOptions+ , dType+ , dDescription+ , dSourceSnapshot++ -- ** DiskMoveRequest+ , DiskMoveRequest+ , diskMoveRequest+ , dmrTargetDisk+ , dmrDestinationZone++ -- ** AutoscalingPolicyLoadBalancingUtilization+ , AutoscalingPolicyLoadBalancingUtilization+ , autoscalingPolicyLoadBalancingUtilization+ , aplbuUtilizationTarget++ -- ** TargetPoolsScopedListWarningDataItem+ , TargetPoolsScopedListWarningDataItem+ , targetPoolsScopedListWarningDataItem+ , tpslwdiValue+ , tpslwdiKey++ -- ** InstanceGroupManager+ , InstanceGroupManager+ , instanceGroupManager+ , igmKind+ , igmFingerprint+ , igmBaseInstanceName+ , igmZone+ , igmInstanceTemplate+ , igmTargetSize+ , igmSelfLink+ , igmCurrentActions+ , igmName+ , igmCreationTimestamp+ , igmId+ , igmTargetPools+ , igmDescription+ , igmInstanceGroup++ -- ** TargetPoolsScopedListWarningCode+ , TargetPoolsScopedListWarningCode (..)++ -- ** TargetVPNGatewayStatus+ , TargetVPNGatewayStatus (..)++ -- ** InstanceGroupsRemoveInstancesRequest+ , InstanceGroupsRemoveInstancesRequest+ , instanceGroupsRemoveInstancesRequest+ , igrirInstances++ -- ** SnapshotStatus+ , SnapshotStatus (..)++ -- ** RouteWarningsItemDataItem+ , RouteWarningsItemDataItem+ , routeWarningsItemDataItem+ , rwidiValue+ , rwidiKey++ -- ** TargetInstancesScopedListWarningCode+ , TargetInstancesScopedListWarningCode (..)++ -- ** InstanceAggregatedListItems+ , InstanceAggregatedListItems+ , instanceAggregatedListItems+ , ialiAddtional++ -- ** AutoscalersScopedListWarning+ , AutoscalersScopedListWarning+ , autoscalersScopedListWarning+ , aslwData+ , aslwCode+ , aslwMessage++ -- ** ManagedInstanceLastAttemptErrors+ , ManagedInstanceLastAttemptErrors+ , managedInstanceLastAttemptErrors+ , milaeErrors++ -- ** RouteWarningsItemCode+ , RouteWarningsItemCode (..)++ -- ** TargetPoolsRemoveInstanceRequest+ , TargetPoolsRemoveInstanceRequest+ , targetPoolsRemoveInstanceRequest+ , tprirInstances++ -- ** TargetInstancesScopedListWarningDataItem+ , TargetInstancesScopedListWarningDataItem+ , targetInstancesScopedListWarningDataItem+ , tislwdiValue+ , tislwdiKey++ -- ** MachineTypesScopedListWarning+ , MachineTypesScopedListWarning+ , machineTypesScopedListWarning+ , mtslwData+ , mtslwCode+ , mtslwMessage++ -- ** TargetInstance+ , TargetInstance+ , targetInstance+ , tiKind+ , tiNATPolicy+ , tiZone+ , tiSelfLink+ , tiName+ , tiCreationTimestamp+ , tiId+ , tiDescription+ , tiInstance++ -- ** TargetPoolInstanceHealth+ , TargetPoolInstanceHealth+ , targetPoolInstanceHealth+ , tpihKind+ , tpihHealthStatus++ -- ** SnapshotStorageBytesStatus+ , SnapshotStorageBytesStatus (..)++ -- ** InstanceGroupManagersListManagedInstancesResponse+ , InstanceGroupManagersListManagedInstancesResponse+ , instanceGroupManagersListManagedInstancesResponse+ , igmlmirManagedInstances++ -- ** InstanceProperties+ , InstanceProperties+ , instanceProperties+ , ipServiceAccounts+ , ipNetworkInterfaces+ , ipMachineType+ , ipMetadata+ , ipScheduling+ , ipDisks+ , ipCanIPForward+ , ipDescription+ , ipTags++ -- ** DiskTypesScopedListWarning+ , DiskTypesScopedListWarning+ , diskTypesScopedListWarning+ , dtslwData+ , dtslwCode+ , dtslwMessage++ -- ** AddressesScopedListWarningCode+ , AddressesScopedListWarningCode (..)++ -- ** AttachedDiskInitializeParams+ , AttachedDiskInitializeParams+ , attachedDiskInitializeParams+ , adipSourceImage+ , adipDiskSizeGb+ , adipDiskName+ , adipDiskType++ -- ** AddressesScopedListWarningDataItem+ , AddressesScopedListWarningDataItem+ , addressesScopedListWarningDataItem+ , aslwdiValue+ , aslwdiKey++ -- ** ImageStatus+ , ImageStatus (..)++ -- ** NetworkInterface+ , NetworkInterface+ , networkInterface+ , niNetwork+ , niName+ , niNetworkIP+ , niAccessConfigs++ -- ** TargetPoolsRemoveHealthCheckRequest+ , TargetPoolsRemoveHealthCheckRequest+ , targetPoolsRemoveHealthCheckRequest+ , tprhcrHealthChecks++ -- ** HealthStatusHealthState+ , HealthStatusHealthState (..)++ -- ** InstanceTemplateList+ , InstanceTemplateList+ , instanceTemplateList+ , itlNextPageToken+ , itlKind+ , itlItems+ , itlSelfLink+ , itlId++ -- ** RouteList+ , RouteList+ , routeList+ , rlNextPageToken+ , rlKind+ , rlItems+ , rlSelfLink+ , rlId++ -- ** DeprecationStatusState+ , DeprecationStatusState (..)++ -- ** ManagedInstanceCurrentAction+ , ManagedInstanceCurrentAction (..)++ -- ** TargetVPNGatewayList+ , TargetVPNGatewayList+ , targetVPNGatewayList+ , tvglNextPageToken+ , tvglKind+ , tvglItems+ , tvglSelfLink+ , tvglId++ -- ** TargetInstanceNATPolicy+ , TargetInstanceNATPolicy (..)++ -- ** SSLCertificateList+ , SSLCertificateList+ , sslCertificateList+ , sclNextPageToken+ , sclKind+ , sclItems+ , sclSelfLink+ , sclId++ -- ** FirewallAllowedItem+ , FirewallAllowedItem+ , firewallAllowedItem+ , faiIPProtocol+ , faiPorts++ -- ** Network+ , Network+ , network+ , nKind+ , nIPv4Range+ , nSelfLink+ , nName+ , nCreationTimestamp+ , nId+ , nGatewayIPv4+ , nDescription++ -- ** AccessConfigType+ , AccessConfigType (..)++ -- ** AddressesScopedListWarning+ , AddressesScopedListWarning+ , addressesScopedListWarning+ , aData+ , aCode+ , aMessage++ -- ** ImageRawDisk+ , ImageRawDisk+ , imageRawDisk+ , irdContainerType+ , irdSource+ , irdSha1Checksum++ -- ** InstanceAggregatedList+ , InstanceAggregatedList+ , instanceAggregatedList+ , ialNextPageToken+ , ialKind+ , ialItems+ , ialSelfLink+ , ialId++ -- ** Address+ , Address+ , address+ , aStatus+ , aUsers+ , aKind+ , aAddress+ , aSelfLink+ , aName+ , aCreationTimestamp+ , aId+ , aRegion+ , aDescription++ -- ** Zone+ , Zone+ , zone+ , zStatus+ , zMaintenanceWindows+ , zKind+ , zSelfLink+ , zName+ , zCreationTimestamp+ , zId+ , zRegion+ , zDescription+ , zDeprecated++ -- ** InstanceGroupManagersRecreateInstancesRequest+ , InstanceGroupManagersRecreateInstancesRequest+ , instanceGroupManagersRecreateInstancesRequest+ , igmrirInstances++ -- ** InstancesScopedList+ , InstancesScopedList+ , instancesScopedList+ , islWarning+ , islInstances++ -- ** HealthCheckReference+ , HealthCheckReference+ , healthCheckReference+ , hcrHealthCheck++ -- ** TargetInstanceAggregatedListItems+ , TargetInstanceAggregatedListItems+ , targetInstanceAggregatedListItems+ , tialiAddtional++ -- ** InstanceGroupAggregatedList+ , InstanceGroupAggregatedList+ , instanceGroupAggregatedList+ , igalNextPageToken+ , igalKind+ , igalItems+ , igalSelfLink+ , igalId++ -- ** OperationStatus+ , OperationStatus (..)++ -- ** Route+ , Route+ , route+ , rPriority+ , rKind+ , rNextHopGateway+ , rNextHopNetwork+ , rNetwork+ , rWarnings+ , rNextHopIP+ , rDestRange+ , rSelfLink+ , rName+ , rCreationTimestamp+ , rId+ , rNextHopVPNTunnel+ , rDescription+ , rTags+ , rNextHopInstance++ -- ** TargetVPNGatewaysScopedListWarningDataItem+ , TargetVPNGatewaysScopedListWarningDataItem+ , targetVPNGatewaysScopedListWarningDataItem+ , tvgslwdiValue+ , tvgslwdiKey++ -- ** TargetVPNGatewaysScopedListWarningCode+ , TargetVPNGatewaysScopedListWarningCode (..)++ -- ** TargetHTTPSProxiesSetSSLCertificatesRequest+ , TargetHTTPSProxiesSetSSLCertificatesRequest+ , targetHTTPSProxiesSetSSLCertificatesRequest+ , thpsscrSSLCertificates++ -- ** InstanceTemplate+ , InstanceTemplate+ , instanceTemplate+ , itKind+ , itSelfLink+ , itName+ , itCreationTimestamp+ , itId+ , itDescription+ , itProperties++ -- ** ZoneMaintenanceWindowsItem+ , ZoneMaintenanceWindowsItem+ , zoneMaintenanceWindowsItem+ , zmwiBeginTime+ , zmwiName+ , zmwiEndTime+ , zmwiDescription++ -- ** TargetVPNGateway+ , TargetVPNGateway+ , targetVPNGateway+ , tvgStatus+ , tvgKind+ , tvgNetwork+ , tvgSelfLink+ , tvgName+ , tvgCreationTimestamp+ , tvgId+ , tvgRegion+ , tvgTunnels+ , tvgDescription+ , tvgForwardingRules++ -- ** DiskStatus+ , DiskStatus (..)++ -- ** ManagedInstanceInstanceStatus+ , ManagedInstanceInstanceStatus (..)++ -- ** URLMapsValidateResponse+ , URLMapsValidateResponse+ , urlMapsValidateResponse+ , umvrResult++ -- ** SSLCertificate+ , SSLCertificate+ , sslCertificate+ , scPrivateKey+ , scKind+ , scSelfLink+ , scName+ , scCreationTimestamp+ , scId+ , scCertificate+ , scDescription++ -- ** URLMapReference+ , URLMapReference+ , urlMapReference+ , umrURLMap++ -- ** AttachedDiskMode+ , AttachedDiskMode (..)++ -- ** TargetPoolsAddHealthCheckRequest+ , TargetPoolsAddHealthCheckRequest+ , targetPoolsAddHealthCheckRequest+ , tpahcrHealthChecks++ -- ** DiskAggregatedListItems+ , DiskAggregatedListItems+ , diskAggregatedListItems+ , daliAddtional++ -- ** UsageExportLocation+ , UsageExportLocation+ , usageExportLocation+ , uelReportNamePrefix+ , uelBucketName++ -- ** ZoneList+ , ZoneList+ , zoneList+ , zlNextPageToken+ , zlKind+ , zlItems+ , zlSelfLink+ , zlId++ -- ** RegionStatus+ , RegionStatus (..)++ -- ** ManagedInstance+ , ManagedInstance+ , managedInstance+ , miLastAttempt+ , miCurrentAction+ , miId+ , miInstanceStatus+ , miInstance++ -- ** InstanceGroupManagerAggregatedListItems+ , InstanceGroupManagerAggregatedListItems+ , instanceGroupManagerAggregatedListItems+ , igmaliAddtional++ -- ** InstanceGroupManagersDeleteInstancesRequest+ , InstanceGroupManagersDeleteInstancesRequest+ , instanceGroupManagersDeleteInstancesRequest+ , igmdirInstances++ -- ** Backend+ , Backend+ , backend+ , bGroup+ , bBalancingMode+ , bMaxUtilization+ , bMaxRate+ , bMaxRatePerInstance+ , bDescription+ , bCapacityScaler++ -- ** TargetVPNGatewaysScopedListWarning+ , TargetVPNGatewaysScopedListWarning+ , targetVPNGatewaysScopedListWarning+ , tvgslwData+ , tvgslwCode+ , tvgslwMessage++ -- ** AddressList+ , AddressList+ , addressList+ , alNextPageToken+ , alKind+ , alItems+ , alSelfLink+ , alId++ -- ** ForwardingRuleAggregatedListItems+ , ForwardingRuleAggregatedListItems+ , forwardingRuleAggregatedListItems+ , fraliAddtional++ -- ** OperationAggregatedListItems+ , OperationAggregatedListItems+ , operationAggregatedListItems+ , oaliAddtional++ -- ** InstanceGroupManagerActionsSummary+ , InstanceGroupManagerActionsSummary+ , instanceGroupManagerActionsSummary+ , igmasDeleting+ , igmasRestarting+ , igmasNone+ , igmasCreating+ , igmasRefreshing+ , igmasRecreating+ , igmasAbandoning++ -- ** VPNTunnelStatus+ , VPNTunnelStatus (..)++ -- ** ServiceAccount+ , ServiceAccount+ , serviceAccount+ , saEmail+ , saScopes++ -- ** NetworkList+ , NetworkList+ , networkList+ , nlNextPageToken+ , nlKind+ , nlItems+ , nlSelfLink+ , nlId++ -- ** InstanceGroupsListInstancesRequest+ , InstanceGroupsListInstancesRequest+ , instanceGroupsListInstancesRequest+ , iglirInstanceState++ -- ** BackendBalancingMode+ , BackendBalancingMode (..)++ -- ** TargetPoolAggregatedListItems+ , TargetPoolAggregatedListItems+ , targetPoolAggregatedListItems+ , tpaliAddtional++ -- ** TargetInstancesScopedList+ , TargetInstancesScopedList+ , targetInstancesScopedList+ , tislWarning+ , tislTargetInstances++ -- ** AddressAggregatedListItems+ , AddressAggregatedListItems+ , addressAggregatedListItems+ , aAddtional++ -- ** AutoscalerList+ , AutoscalerList+ , autoscalerList+ , autNextPageToken+ , autKind+ , autItems+ , autSelfLink+ , autId++ -- ** VPNTunnelAggregatedList+ , VPNTunnelAggregatedList+ , vpnTunnelAggregatedList+ , vtalNextPageToken+ , vtalKind+ , vtalItems+ , vtalSelfLink+ , vtalId++ -- ** AttachedDisk+ , AttachedDisk+ , attachedDisk+ , adKind+ , adMode+ , adBoot+ , adAutoDelete+ , adInitializeParams+ , adDeviceName+ , adInterface+ , adSource+ , adLicenses+ , adType+ , adIndex++ -- ** DiskTypeList+ , DiskTypeList+ , diskTypeList+ , dtlNextPageToken+ , dtlKind+ , dtlItems+ , dtlSelfLink+ , dtlId++ -- ** MachineTypeList+ , MachineTypeList+ , machineTypeList+ , mtlNextPageToken+ , mtlKind+ , mtlItems+ , mtlSelfLink+ , mtlId++ -- ** TargetHTTPProxyList+ , TargetHTTPProxyList+ , targetHTTPProxyList+ , thttpplNextPageToken+ , thttpplKind+ , thttpplItems+ , thttpplSelfLink+ , thttpplId++ -- ** ForwardingRuleIPProtocol+ , ForwardingRuleIPProtocol (..)++ -- ** DiskTypesScopedList+ , DiskTypesScopedList+ , diskTypesScopedList+ , dtslDiskTypes+ , dtslWarning++ -- ** AddressStatus+ , AddressStatus (..)++ -- ** DiskTypeAggregatedList+ , DiskTypeAggregatedList+ , diskTypeAggregatedList+ , dtalNextPageToken+ , dtalKind+ , dtalItems+ , dtalSelfLink+ , dtalId++ -- ** HTTPHealthCheck+ , HTTPHealthCheck+ , hTTPHealthCheck+ , httphcHealthyThreshold+ , httphcKind+ , httphcRequestPath+ , httphcSelfLink+ , httphcCheckIntervalSec+ , httphcName+ , httphcCreationTimestamp+ , httphcId+ , httphcHost+ , httphcTimeoutSec+ , httphcDescription+ , httphcUnhealthyThreshold+ , httphcPort++ -- ** BackendServiceGroupHealth+ , BackendServiceGroupHealth+ , backendServiceGroupHealth+ , bsghKind+ , bsghHealthStatus++ -- ** InstanceGroupsListInstancesRequestInstanceState+ , InstanceGroupsListInstancesRequestInstanceState (..)++ -- ** AutoscalersScopedList+ , AutoscalersScopedList+ , autoscalersScopedList+ , aAutoscalers+ , aWarning++ -- ** AutoscalerAggregatedList+ , AutoscalerAggregatedList+ , autoscalerAggregatedList+ , aalNextPageToken+ , aalKind+ , aalItems+ , aalSelfLink+ , aalId++ -- ** AutoscalingPolicy+ , AutoscalingPolicy+ , autoscalingPolicy+ , apCustomMetricUtilizations+ , apMaxNumReplicas+ , apCPUUtilization+ , apLoadBalancingUtilization+ , apMinNumReplicas+ , apCoolDownPeriodSec++ -- ** RegionList+ , RegionList+ , regionList+ , regNextPageToken+ , regKind+ , regItems+ , regSelfLink+ , regId++ -- ** AttachedDiskInterface+ , AttachedDiskInterface (..)++ -- ** ZoneStatus+ , ZoneStatus (..)++ -- ** VPNTunnelList+ , VPNTunnelList+ , vpnTunnelList+ , vtlNextPageToken+ , vtlKind+ , vtlItems+ , vtlSelfLink+ , vtlId++ -- ** MachineTypeScratchDisksItem+ , MachineTypeScratchDisksItem+ , machineTypeScratchDisksItem+ , mtsdiDiskGb++ -- ** MachineTypesScopedList+ , MachineTypesScopedList+ , machineTypesScopedList+ , mtslMachineTypes+ , mtslWarning++ -- ** MachineTypeAggregatedList+ , MachineTypeAggregatedList+ , machineTypeAggregatedList+ , mtalNextPageToken+ , mtalKind+ , mtalItems+ , mtalSelfLink+ , mtalId++ -- ** QuotaMetric+ , QuotaMetric (..)++ -- ** DiskType+ , DiskType+ , diskType+ , dtKind+ , dtZone+ , dtSelfLink+ , dtName+ , dtCreationTimestamp+ , dtId+ , dtValidDiskSize+ , dtDescription+ , dtDefaultDiskSizeGb+ , dtDeprecated++ -- ** URLMapValidationResult+ , URLMapValidationResult+ , urlMapValidationResult+ , umvrLoadErrors+ , umvrLoadSucceeded+ , umvrTestPassed+ , umvrTestFailures++ -- ** Metadata+ , Metadata+ , metadata+ , mKind+ , mFingerprint+ , mItems++ -- ** RouteWarningsItem+ , RouteWarningsItem+ , routeWarningsItem+ , rwiData+ , rwiCode+ , rwiMessage++ -- ** MachineTypesScopedListWarningDataItem+ , MachineTypesScopedListWarningDataItem+ , machineTypesScopedListWarningDataItem+ , mtslwdiValue+ , mtslwdiKey++ -- ** InstanceStatus+ , InstanceStatus (..)++ -- ** MachineTypesScopedListWarningCode+ , MachineTypesScopedListWarningCode (..)++ -- ** DiskTypesScopedListWarningDataItem+ , DiskTypesScopedListWarningDataItem+ , diskTypesScopedListWarningDataItem+ , dtslwdiValue+ , dtslwdiKey++ -- ** TargetHTTPProxy+ , TargetHTTPProxy+ , targetHTTPProxy+ , thttppURLMap+ , thttppKind+ , thttppSelfLink+ , thttppName+ , thttppCreationTimestamp+ , thttppId+ , thttppDescription++ -- ** MachineType+ , MachineType+ , machineType+ , mtKind+ , mtImageSpaceGb+ , mtZone+ , mtSelfLink+ , mtName+ , mtCreationTimestamp+ , mtScratchDisks+ , mtId+ , mtGuestCPUs+ , mtMaximumPersistentDisksSizeGb+ , mtMaximumPersistentDisks+ , mtMemoryMb+ , mtDescription+ , mtDeprecated++ -- ** DiskTypesScopedListWarningCode+ , DiskTypesScopedListWarningCode (..)++ -- ** OperationError+ , OperationError+ , operationError+ , oeErrors++ -- ** TargetInstancesScopedListWarning+ , TargetInstancesScopedListWarning+ , targetInstancesScopedListWarning+ , tislwData+ , tislwCode+ , tislwMessage++ -- ** AutoscalersScopedListWarningDataItem+ , AutoscalersScopedListWarningDataItem+ , autoscalersScopedListWarningDataItem+ , aValue+ , aKey++ -- ** AutoscalersScopedListWarningCode+ , AutoscalersScopedListWarningCode (..)++ -- ** InstanceGroupsListInstances+ , InstanceGroupsListInstances+ , instanceGroupsListInstances+ , igliNextPageToken+ , igliKind+ , igliItems+ , igliSelfLink+ , igliId++ -- ** Autoscaler+ , Autoscaler+ , autoscaler+ , aaKind+ , aaZone+ , aaSelfLink+ , aaName+ , aaCreationTimestamp+ , aaAutoscalingPolicy+ , aaId+ , aaDescription+ , aaTarget++ -- ** DisksScopedListWarning+ , DisksScopedListWarning+ , disksScopedListWarning+ , dslwData+ , dslwCode+ , dslwMessage++ -- ** TargetVPNGatewayAggregatedListItems+ , TargetVPNGatewayAggregatedListItems+ , targetVPNGatewayAggregatedListItems+ , tvgaliAddtional++ -- ** TargetPoolsScopedListWarning+ , TargetPoolsScopedListWarning+ , targetPoolsScopedListWarning+ , tpslwData+ , tpslwCode+ , tpslwMessage++ -- ** HealthStatus+ , HealthStatus+ , healthStatus+ , hsIPAddress+ , hsHealthState+ , hsPort+ , hsInstance++ -- ** Region+ , Region+ , region+ , rrStatus+ , rrZones+ , rrKind+ , rrSelfLink+ , rrName+ , rrCreationTimestamp+ , rrQuotas+ , rrId+ , rrDescription+ , rrDeprecated++ -- ** VPNTunnel+ , VPNTunnel+ , vpnTunnel+ , vtDetailedStatus+ , vtStatus+ , vtKind+ , vtPeerIP+ , vtTargetVPNGateway+ , vtSelfLink+ , vtSharedSecret+ , vtName+ , vtCreationTimestamp+ , vtSharedSecretHash+ , vtId+ , vtIkeVersion+ , vtRegion+ , vtDescription++ -- ** VPNTunnelsScopedListWarningCode+ , VPNTunnelsScopedListWarningCode (..)++ -- ** OperationsScopedListWarning+ , OperationsScopedListWarning+ , operationsScopedListWarning+ , oslwData+ , oslwCode+ , oslwMessage++ -- ** Scheduling+ , Scheduling+ , scheduling+ , sAutomaticRestart+ , sOnHostMaintenance+ , sPreemptible++ -- ** VPNTunnelsScopedListWarningDataItem+ , VPNTunnelsScopedListWarningDataItem+ , vpnTunnelsScopedListWarningDataItem+ , vtslwdiValue+ , vtslwdiKey++ -- ** ForwardingRulesScopedListWarning+ , ForwardingRulesScopedListWarning+ , forwardingRulesScopedListWarning+ , frslwData+ , frslwCode+ , frslwMessage++ -- ** HTTPHealthCheckList+ , HTTPHealthCheckList+ , hTTPHealthCheckList+ , httphclNextPageToken+ , httphclKind+ , httphclItems+ , httphclSelfLink+ , httphclId++ -- ** InstanceGroupManagersScopedListWarning+ , InstanceGroupManagersScopedListWarning+ , instanceGroupManagersScopedListWarning+ , igmslwData+ , igmslwCode+ , igmslwMessage++ -- ** URLMapsValidateRequest+ , URLMapsValidateRequest+ , urlMapsValidateRequest+ , umvrResource++ -- ** InstanceGroupManagersSetTargetPoolsRequest+ , InstanceGroupManagersSetTargetPoolsRequest+ , instanceGroupManagersSetTargetPoolsRequest+ , igmstprFingerprint+ , igmstprTargetPools++ -- ** HTTPSHealthCheckList+ , HTTPSHealthCheckList+ , httpsHealthCheckList+ , hhclNextPageToken+ , hhclKind+ , hhclItems+ , hhclSelfLink+ , hhclId++ -- ** OperationErrorErrorsItem+ , OperationErrorErrorsItem+ , operationErrorErrorsItem+ , oeeiLocation+ , oeeiCode+ , oeeiMessage++ -- ** License+ , License+ , license+ , lChargesUseFee+ , lKind+ , lSelfLink+ , lName++ -- ** PathRule+ , PathRule+ , pathRule+ , prService+ , prPaths++ -- ** InstanceList+ , InstanceList+ , instanceList+ , insNextPageToken+ , insKind+ , insItems+ , insSelfLink+ , insId++ -- ** ManagedInstanceLastAttempt+ , ManagedInstanceLastAttempt+ , managedInstanceLastAttempt+ , milaErrors++ -- ** BackendServiceList+ , BackendServiceList+ , backendServiceList+ , bslNextPageToken+ , bslKind+ , bslItems+ , bslSelfLink+ , bslId++ -- ** InstanceGroupsScopedListWarning+ , InstanceGroupsScopedListWarning+ , instanceGroupsScopedListWarning+ , igslwData+ , igslwCode+ , igslwMessage++ -- ** AutoscalingPolicyCPUUtilization+ , AutoscalingPolicyCPUUtilization+ , autoscalingPolicyCPUUtilization+ , apcuUtilizationTarget++ -- ** InstanceGroupsScopedListWarningCode+ , InstanceGroupsScopedListWarningCode (..)++ -- ** InstanceGroupsScopedListWarningDataItem+ , InstanceGroupsScopedListWarningDataItem+ , instanceGroupsScopedListWarningDataItem+ , igslwdiValue+ , igslwdiKey++ -- ** ResourceGroupReference+ , ResourceGroupReference+ , resourceGroupReference+ , rgrGroup++ -- ** Firewall+ , Firewall+ , firewall+ , fSourceTags+ , fKind+ , fTargetTags+ , fNetwork+ , fSourceRanges+ , fSelfLink+ , fName+ , fCreationTimestamp+ , fId+ , fAllowed+ , fDescription++ -- ** HostRule+ , HostRule+ , hostRule+ , hrHosts+ , hrDescription+ , hrPathMatcher++ -- ** Quota+ , Quota+ , quota+ , qMetric+ , qLimit+ , qUsage++ -- ** InstanceGroup+ , InstanceGroup+ , instanceGroup+ , iiSize+ , iiKind+ , iiFingerprint+ , iiNetwork+ , iiZone+ , iiSelfLink+ , iiName+ , iiCreationTimestamp+ , iiId+ , iiDescription+ , iiNamedPorts++ -- ** InstanceWithNamedPortsStatus+ , InstanceWithNamedPortsStatus (..)++ -- ** SnapshotList+ , SnapshotList+ , snapshotList+ , slNextPageToken+ , slKind+ , slItems+ , slSelfLink+ , slId++ -- ** TestFailure+ , TestFailure+ , testFailure+ , tfPath+ , tfExpectedService+ , tfHost+ , tfActualService++ -- ** SerialPortOutput+ , SerialPortOutput+ , serialPortOutput+ , spoContents+ , spoKind+ , spoSelfLink++ -- ** TargetVPNGatewayAggregatedList+ , TargetVPNGatewayAggregatedList+ , targetVPNGatewayAggregatedList+ , tvgalNextPageToken+ , tvgalKind+ , tvgalItems+ , tvgalSelfLink+ , tvgalId++ -- ** MetadataItemsItem+ , MetadataItemsItem+ , metadataItemsItem+ , miiValue+ , miiKey++ -- ** TargetHTTPSProxy+ , TargetHTTPSProxy+ , targetHTTPSProxy+ , thpURLMap+ , thpSSLCertificates+ , thpKind+ , thpSelfLink+ , thpName+ , thpCreationTimestamp+ , thpId+ , thpDescription++ -- ** TargetVPNGatewaysScopedList+ , TargetVPNGatewaysScopedList+ , targetVPNGatewaysScopedList+ , tvgslTargetVPNGateways+ , tvgslWarning++ -- ** AccessConfig+ , AccessConfig+ , accessConfig+ , acKind+ , acName+ , acNATIP+ , acType++ -- ** ManagedInstanceLastAttemptErrorsErrorsItem+ , ManagedInstanceLastAttemptErrorsErrorsItem+ , managedInstanceLastAttemptErrorsErrorsItem+ , milaeeiLocation+ , milaeeiCode+ , milaeeiMessage++ -- ** InstancesScopedListWarningCode+ , InstancesScopedListWarningCode (..)++ -- ** InstancesScopedListWarningDataItem+ , InstancesScopedListWarningDataItem+ , instancesScopedListWarningDataItem+ , islwdiValue+ , islwdiKey++ -- ** BackendService+ , BackendService+ , backendService+ , bsBackends+ , bsKind+ , bsFingerprint+ , bsProtocol+ , bsSelfLink+ , bsName+ , bsCreationTimestamp+ , bsId+ , bsTimeoutSec+ , bsDescription+ , bsPortName+ , bsHealthChecks+ , bsPort++ -- ** InstanceMoveRequest+ , InstanceMoveRequest+ , instanceMoveRequest+ , imrTargetInstance+ , imrDestinationZone++ -- ** TargetPoolSessionAffinity+ , TargetPoolSessionAffinity (..)++ -- ** InstanceGroupsScopedList+ , InstanceGroupsScopedList+ , instanceGroupsScopedList+ , igslWarning+ , igslInstanceGroups++ -- ** HTTPSHealthCheck+ , HTTPSHealthCheck+ , httpsHealthCheck+ , hhcHealthyThreshold+ , hhcKind+ , hhcRequestPath+ , hhcSelfLink+ , hhcCheckIntervalSec+ , hhcName+ , hhcCreationTimestamp+ , hhcId+ , hhcHost+ , hhcTimeoutSec+ , hhcDescription+ , hhcUnhealthyThreshold+ , hhcPort++ -- ** ImageRawDiskContainerType+ , ImageRawDiskContainerType (..)++ -- ** VPNTunnelAggregatedListItems+ , VPNTunnelAggregatedListItems+ , vpnTunnelAggregatedListItems+ , vtaliAddtional++ -- ** Tags+ , Tags+ , tags+ , tFingerprint+ , tItems++ -- ** AddressAggregatedList+ , AddressAggregatedList+ , addressAggregatedList+ , addNextPageToken+ , addKind+ , addItems+ , addSelfLink+ , addId++ -- ** OperationWarningsItem+ , OperationWarningsItem+ , operationWarningsItem+ , owiData+ , owiCode+ , owiMessage++ -- ** URLMapTest+ , URLMapTest+ , urlMapTest+ , umtPath+ , umtService+ , umtHost+ , umtDescription++ -- ** Instance+ , Instance+ , instance'+ , insnStatus+ , insnServiceAccounts+ , insnNetworkInterfaces+ , insnKind+ , insnZone+ , insnCPUPlatform+ , insnSelfLink+ , insnName+ , insnStatusMessage+ , insnCreationTimestamp+ , insnMachineType+ , insnMetadata+ , insnId+ , insnScheduling+ , insnDisks+ , insnCanIPForward+ , insnDescription+ , insnTags++ -- ** PathMatcher+ , PathMatcher+ , pathMatcher+ , pmDefaultService+ , pmName+ , pmPathRules+ , pmDescription+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude+import Network.Google.Resource.Compute.Addresses.AggregatedList+import Network.Google.Resource.Compute.Addresses.Delete+import Network.Google.Resource.Compute.Addresses.Get+import Network.Google.Resource.Compute.Addresses.Insert+import Network.Google.Resource.Compute.Addresses.List+import Network.Google.Resource.Compute.Autoscalers.AggregatedList+import Network.Google.Resource.Compute.Autoscalers.Delete+import Network.Google.Resource.Compute.Autoscalers.Get+import Network.Google.Resource.Compute.Autoscalers.Insert+import Network.Google.Resource.Compute.Autoscalers.List+import Network.Google.Resource.Compute.Autoscalers.Patch+import Network.Google.Resource.Compute.Autoscalers.Update+import Network.Google.Resource.Compute.BackendServices.Delete+import Network.Google.Resource.Compute.BackendServices.Get+import Network.Google.Resource.Compute.BackendServices.GetHealth+import Network.Google.Resource.Compute.BackendServices.Insert+import Network.Google.Resource.Compute.BackendServices.List+import Network.Google.Resource.Compute.BackendServices.Patch+import Network.Google.Resource.Compute.BackendServices.Update+import Network.Google.Resource.Compute.Disks.AggregatedList+import Network.Google.Resource.Compute.Disks.CreateSnapshot+import Network.Google.Resource.Compute.Disks.Delete+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.DiskTypes.AggregatedList+import Network.Google.Resource.Compute.DiskTypes.Get+import Network.Google.Resource.Compute.DiskTypes.List+import Network.Google.Resource.Compute.Firewalls.Delete+import Network.Google.Resource.Compute.Firewalls.Get+import Network.Google.Resource.Compute.Firewalls.Insert+import Network.Google.Resource.Compute.Firewalls.List+import Network.Google.Resource.Compute.Firewalls.Patch+import Network.Google.Resource.Compute.Firewalls.Update+import Network.Google.Resource.Compute.ForwardingRules.AggregatedList+import Network.Google.Resource.Compute.ForwardingRules.Delete+import Network.Google.Resource.Compute.ForwardingRules.Get+import Network.Google.Resource.Compute.ForwardingRules.Insert+import Network.Google.Resource.Compute.ForwardingRules.List+import Network.Google.Resource.Compute.ForwardingRules.SetTarget+import Network.Google.Resource.Compute.GlobalAddresses.Delete+import Network.Google.Resource.Compute.GlobalAddresses.Get+import Network.Google.Resource.Compute.GlobalAddresses.Insert+import Network.Google.Resource.Compute.GlobalAddresses.List+import Network.Google.Resource.Compute.GlobalForwardingRules.Delete+import Network.Google.Resource.Compute.GlobalForwardingRules.Get+import Network.Google.Resource.Compute.GlobalForwardingRules.Insert+import Network.Google.Resource.Compute.GlobalForwardingRules.List+import Network.Google.Resource.Compute.GlobalForwardingRules.SetTarget+import Network.Google.Resource.Compute.GlobalOperations.AggregatedList+import Network.Google.Resource.Compute.GlobalOperations.Delete+import Network.Google.Resource.Compute.GlobalOperations.Get+import Network.Google.Resource.Compute.GlobalOperations.List+import Network.Google.Resource.Compute.HTTPHealthChecks.Delete+import Network.Google.Resource.Compute.HTTPHealthChecks.Get+import Network.Google.Resource.Compute.HTTPHealthChecks.Insert+import Network.Google.Resource.Compute.HTTPHealthChecks.List+import Network.Google.Resource.Compute.HTTPHealthChecks.Patch+import Network.Google.Resource.Compute.HTTPHealthChecks.Update+import Network.Google.Resource.Compute.HTTPSHealthChecks.Delete+import Network.Google.Resource.Compute.HTTPSHealthChecks.Get+import Network.Google.Resource.Compute.HTTPSHealthChecks.Insert+import Network.Google.Resource.Compute.HTTPSHealthChecks.List+import Network.Google.Resource.Compute.HTTPSHealthChecks.Patch+import Network.Google.Resource.Compute.HTTPSHealthChecks.Update+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.Insert+import Network.Google.Resource.Compute.Images.List+import Network.Google.Resource.Compute.InstanceGroupManagers.AbandonInstances+import Network.Google.Resource.Compute.InstanceGroupManagers.AggregatedList+import Network.Google.Resource.Compute.InstanceGroupManagers.Delete+import Network.Google.Resource.Compute.InstanceGroupManagers.DeleteInstances+import Network.Google.Resource.Compute.InstanceGroupManagers.Get+import Network.Google.Resource.Compute.InstanceGroupManagers.Insert+import Network.Google.Resource.Compute.InstanceGroupManagers.List+import Network.Google.Resource.Compute.InstanceGroupManagers.ListManagedInstances+import Network.Google.Resource.Compute.InstanceGroupManagers.RecreateInstances+import Network.Google.Resource.Compute.InstanceGroupManagers.Resize+import Network.Google.Resource.Compute.InstanceGroupManagers.SetInstanceTemplate+import Network.Google.Resource.Compute.InstanceGroupManagers.SetTargetPools+import Network.Google.Resource.Compute.InstanceGroups.AddInstances+import Network.Google.Resource.Compute.InstanceGroups.AggregatedList+import Network.Google.Resource.Compute.InstanceGroups.Delete+import Network.Google.Resource.Compute.InstanceGroups.Get+import Network.Google.Resource.Compute.InstanceGroups.Insert+import Network.Google.Resource.Compute.InstanceGroups.List+import Network.Google.Resource.Compute.InstanceGroups.ListInstances+import Network.Google.Resource.Compute.InstanceGroups.RemoveInstances+import Network.Google.Resource.Compute.InstanceGroups.SetNamedPorts+import Network.Google.Resource.Compute.Instances.AddAccessConfig+import Network.Google.Resource.Compute.Instances.AggregatedList+import Network.Google.Resource.Compute.Instances.AttachDisk+import Network.Google.Resource.Compute.Instances.Delete+import Network.Google.Resource.Compute.Instances.DeleteAccessConfig+import Network.Google.Resource.Compute.Instances.DetachDisk+import Network.Google.Resource.Compute.Instances.Get+import Network.Google.Resource.Compute.Instances.GetSerialPortOutput+import Network.Google.Resource.Compute.Instances.Insert+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.SetMetadata+import Network.Google.Resource.Compute.Instances.SetScheduling+import Network.Google.Resource.Compute.Instances.SetTags+import Network.Google.Resource.Compute.Instances.Start+import Network.Google.Resource.Compute.Instances.Stop+import Network.Google.Resource.Compute.InstanceTemplates.Delete+import Network.Google.Resource.Compute.InstanceTemplates.Get+import Network.Google.Resource.Compute.InstanceTemplates.Insert+import Network.Google.Resource.Compute.InstanceTemplates.List+import Network.Google.Resource.Compute.Licenses.Get+import Network.Google.Resource.Compute.MachineTypes.AggregatedList+import Network.Google.Resource.Compute.MachineTypes.Get+import Network.Google.Resource.Compute.MachineTypes.List+import Network.Google.Resource.Compute.Networks.Delete+import Network.Google.Resource.Compute.Networks.Get+import Network.Google.Resource.Compute.Networks.Insert+import Network.Google.Resource.Compute.Networks.List+import Network.Google.Resource.Compute.Projects.Get+import Network.Google.Resource.Compute.Projects.MoveDisk+import Network.Google.Resource.Compute.Projects.MoveInstance+import Network.Google.Resource.Compute.Projects.SetCommonInstanceMetadata+import Network.Google.Resource.Compute.Projects.SetUsageExportBucket+import Network.Google.Resource.Compute.RegionOperations.Delete+import Network.Google.Resource.Compute.RegionOperations.Get+import Network.Google.Resource.Compute.RegionOperations.List+import Network.Google.Resource.Compute.Regions.Get+import Network.Google.Resource.Compute.Regions.List+import Network.Google.Resource.Compute.Routes.Delete+import Network.Google.Resource.Compute.Routes.Get+import Network.Google.Resource.Compute.Routes.Insert+import Network.Google.Resource.Compute.Routes.List+import Network.Google.Resource.Compute.Snapshots.Delete+import Network.Google.Resource.Compute.Snapshots.Get+import Network.Google.Resource.Compute.Snapshots.List+import Network.Google.Resource.Compute.SSLCertificates.Delete+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.TargetHTTPProxies.Delete+import Network.Google.Resource.Compute.TargetHTTPProxies.Get+import Network.Google.Resource.Compute.TargetHTTPProxies.Insert+import Network.Google.Resource.Compute.TargetHTTPProxies.List+import Network.Google.Resource.Compute.TargetHTTPProxies.SetURLMap+import Network.Google.Resource.Compute.TargetHTTPSProxies.Delete+import Network.Google.Resource.Compute.TargetHTTPSProxies.Get+import Network.Google.Resource.Compute.TargetHTTPSProxies.Insert+import Network.Google.Resource.Compute.TargetHTTPSProxies.List+import Network.Google.Resource.Compute.TargetHTTPSProxies.SetSSLCertificates+import Network.Google.Resource.Compute.TargetHTTPSProxies.SetURLMap+import Network.Google.Resource.Compute.TargetInstances.AggregatedList+import Network.Google.Resource.Compute.TargetInstances.Delete+import Network.Google.Resource.Compute.TargetInstances.Get+import Network.Google.Resource.Compute.TargetInstances.Insert+import Network.Google.Resource.Compute.TargetInstances.List+import Network.Google.Resource.Compute.TargetPools.AddHealthCheck+import Network.Google.Resource.Compute.TargetPools.AddInstance+import Network.Google.Resource.Compute.TargetPools.AggregatedList+import Network.Google.Resource.Compute.TargetPools.Delete+import Network.Google.Resource.Compute.TargetPools.Get+import Network.Google.Resource.Compute.TargetPools.GetHealth+import Network.Google.Resource.Compute.TargetPools.Insert+import Network.Google.Resource.Compute.TargetPools.List+import Network.Google.Resource.Compute.TargetPools.RemoveHealthCheck+import Network.Google.Resource.Compute.TargetPools.RemoveInstance+import Network.Google.Resource.Compute.TargetPools.SetBackup+import Network.Google.Resource.Compute.TargetVPNGateways.AggregatedList+import Network.Google.Resource.Compute.TargetVPNGateways.Delete+import Network.Google.Resource.Compute.TargetVPNGateways.Get+import Network.Google.Resource.Compute.TargetVPNGateways.Insert+import Network.Google.Resource.Compute.TargetVPNGateways.List+import Network.Google.Resource.Compute.URLMaps.Delete+import Network.Google.Resource.Compute.URLMaps.Get+import Network.Google.Resource.Compute.URLMaps.Insert+import Network.Google.Resource.Compute.URLMaps.List+import Network.Google.Resource.Compute.URLMaps.Patch+import Network.Google.Resource.Compute.URLMaps.Update+import Network.Google.Resource.Compute.URLMaps.Validate+import Network.Google.Resource.Compute.VPNTunnels.AggregatedList+import Network.Google.Resource.Compute.VPNTunnels.Delete+import Network.Google.Resource.Compute.VPNTunnels.Get+import Network.Google.Resource.Compute.VPNTunnels.Insert+import Network.Google.Resource.Compute.VPNTunnels.List+import Network.Google.Resource.Compute.ZoneOperations.Delete+import Network.Google.Resource.Compute.ZoneOperations.Get+import Network.Google.Resource.Compute.ZoneOperations.List+import Network.Google.Resource.Compute.Zones.Get+import Network.Google.Resource.Compute.Zones.List++{- $resources+TODO+-}++-- | Represents the entirety of the methods and resources available for the Compute Engine API service.+type ComputeAPI =+ ImagesInsertResource :<|> ImagesListResource :<|>+ ImagesGetResource+ :<|> ImagesDeprecateResource+ :<|> ImagesDeleteResource+ :<|> URLMapsInsertResource+ :<|> URLMapsListResource+ :<|> URLMapsPatchResource+ :<|> URLMapsGetResource+ :<|> URLMapsValidateResource+ :<|> URLMapsDeleteResource+ :<|> URLMapsUpdateResource+ :<|> RoutesInsertResource+ :<|> RoutesListResource+ :<|> RoutesGetResource+ :<|> RoutesDeleteResource+ :<|> InstanceTemplatesInsertResource+ :<|> InstanceTemplatesListResource+ :<|> InstanceTemplatesGetResource+ :<|> InstanceTemplatesDeleteResource+ :<|> TargetVPNGatewaysAggregatedListResource+ :<|> TargetVPNGatewaysInsertResource+ :<|> TargetVPNGatewaysListResource+ :<|> TargetVPNGatewaysGetResource+ :<|> TargetVPNGatewaysDeleteResource+ :<|> SSLCertificatesInsertResource+ :<|> SSLCertificatesListResource+ :<|> SSLCertificatesGetResource+ :<|> SSLCertificatesDeleteResource+ :<|> ZonesListResource+ :<|> ZonesGetResource+ :<|> GlobalForwardingRulesInsertResource+ :<|> GlobalForwardingRulesListResource+ :<|> GlobalForwardingRulesGetResource+ :<|> GlobalForwardingRulesSetTargetResource+ :<|> GlobalForwardingRulesDeleteResource+ :<|> NetworksInsertResource+ :<|> NetworksListResource+ :<|> NetworksGetResource+ :<|> NetworksDeleteResource+ :<|> AddressesAggregatedListResource+ :<|> AddressesInsertResource+ :<|> AddressesListResource+ :<|> AddressesGetResource+ :<|> AddressesDeleteResource+ :<|> GlobalAddressesInsertResource+ :<|> GlobalAddressesListResource+ :<|> GlobalAddressesGetResource+ :<|> GlobalAddressesDeleteResource+ :<|> RegionsListResource+ :<|> RegionsGetResource+ :<|> TargetHTTPProxiesInsertResource+ :<|> TargetHTTPProxiesListResource+ :<|> TargetHTTPProxiesSetURLMapResource+ :<|> TargetHTTPProxiesGetResource+ :<|> TargetHTTPProxiesDeleteResource+ :<|> VPNTunnelsAggregatedListResource+ :<|> VPNTunnelsInsertResource+ :<|> VPNTunnelsListResource+ :<|> VPNTunnelsGetResource+ :<|> VPNTunnelsDeleteResource+ :<|> AutoscalersAggregatedListResource+ :<|> AutoscalersInsertResource+ :<|> AutoscalersListResource+ :<|> AutoscalersPatchResource+ :<|> AutoscalersGetResource+ :<|> AutoscalersDeleteResource+ :<|> AutoscalersUpdateResource+ :<|> DiskTypesAggregatedListResource+ :<|> DiskTypesListResource+ :<|> DiskTypesGetResource+ :<|> RegionOperationsListResource+ :<|> RegionOperationsGetResource+ :<|> RegionOperationsDeleteResource+ :<|> MachineTypesAggregatedListResource+ :<|> MachineTypesListResource+ :<|> MachineTypesGetResource+ :<|> HTTPHealthChecksInsertResource+ :<|> HTTPHealthChecksListResource+ :<|> HTTPHealthChecksPatchResource+ :<|> HTTPHealthChecksGetResource+ :<|> HTTPHealthChecksDeleteResource+ :<|> HTTPHealthChecksUpdateResource+ :<|> SnapshotsListResource+ :<|> SnapshotsGetResource+ :<|> SnapshotsDeleteResource+ :<|> HTTPSHealthChecksInsertResource+ :<|> HTTPSHealthChecksListResource+ :<|> HTTPSHealthChecksPatchResource+ :<|> HTTPSHealthChecksGetResource+ :<|> HTTPSHealthChecksDeleteResource+ :<|> HTTPSHealthChecksUpdateResource+ :<|> InstancesAddAccessConfigResource+ :<|> InstancesAggregatedListResource+ :<|> InstancesInsertResource+ :<|> InstancesDetachDiskResource+ :<|> InstancesListResource+ :<|> InstancesStartResource+ :<|> InstancesGetResource+ :<|> InstancesDeleteAccessConfigResource+ :<|> InstancesSetMetadataResource+ :<|> InstancesSetSchedulingResource+ :<|> InstancesResetResource+ :<|> InstancesStopResource+ :<|> InstancesGetSerialPortOutputResource+ :<|> InstancesSetTagsResource+ :<|> InstancesAttachDiskResource+ :<|> InstancesDeleteResource+ :<|> InstancesSetDiskAutoDeleteResource+ :<|> BackendServicesInsertResource+ :<|> BackendServicesListResource+ :<|> BackendServicesGetHealthResource+ :<|> BackendServicesPatchResource+ :<|> BackendServicesGetResource+ :<|> BackendServicesDeleteResource+ :<|> BackendServicesUpdateResource+ :<|> InstanceGroupsRemoveInstancesResource+ :<|> InstanceGroupsAggregatedListResource+ :<|> InstanceGroupsInsertResource+ :<|> InstanceGroupsListResource+ :<|> InstanceGroupsAddInstancesResource+ :<|> InstanceGroupsGetResource+ :<|> InstanceGroupsListInstancesResource+ :<|> InstanceGroupsSetNamedPortsResource+ :<|> InstanceGroupsDeleteResource+ :<|> FirewallsInsertResource+ :<|> FirewallsListResource+ :<|> FirewallsPatchResource+ :<|> FirewallsGetResource+ :<|> FirewallsDeleteResource+ :<|> FirewallsUpdateResource+ :<|> GlobalOperationsAggregatedListResource+ :<|> GlobalOperationsListResource+ :<|> GlobalOperationsGetResource+ :<|> GlobalOperationsDeleteResource+ :<|> LicensesGetResource+ :<|> ZoneOperationsListResource+ :<|> ZoneOperationsGetResource+ :<|> ZoneOperationsDeleteResource+ :<|> TargetHTTPSProxiesInsertResource+ :<|> TargetHTTPSProxiesListResource+ :<|> TargetHTTPSProxiesSetURLMapResource+ :<|> TargetHTTPSProxiesSetSSLCertificatesResource+ :<|> TargetHTTPSProxiesGetResource+ :<|> TargetHTTPSProxiesDeleteResource+ :<|> TargetInstancesAggregatedListResource+ :<|> TargetInstancesInsertResource+ :<|> TargetInstancesListResource+ :<|> TargetInstancesGetResource+ :<|> TargetInstancesDeleteResource+ :<|> DisksAggregatedListResource+ :<|> DisksInsertResource+ :<|> DisksListResource+ :<|> DisksGetResource+ :<|> DisksCreateSnapshotResource+ :<|> DisksDeleteResource+ :<|> ForwardingRulesAggregatedListResource+ :<|> ForwardingRulesInsertResource+ :<|> ForwardingRulesListResource+ :<|> ForwardingRulesGetResource+ :<|> ForwardingRulesSetTargetResource+ :<|> ForwardingRulesDeleteResource+ :<|> InstanceGroupManagersSetTargetPoolsResource+ :<|> InstanceGroupManagersAggregatedListResource+ :<|> InstanceGroupManagersInsertResource+ :<|> InstanceGroupManagersResizeResource+ :<|> InstanceGroupManagersListResource+ :<|>+ InstanceGroupManagersListManagedInstancesResource+ :<|> InstanceGroupManagersAbandonInstancesResource+ :<|> InstanceGroupManagersSetInstanceTemplateResource+ :<|> InstanceGroupManagersGetResource+ :<|> InstanceGroupManagersDeleteInstancesResource+ :<|> InstanceGroupManagersDeleteResource+ :<|> InstanceGroupManagersRecreateInstancesResource+ :<|> ProjectsSetUsageExportBucketResource+ :<|> ProjectsMoveInstanceResource+ :<|> ProjectsGetResource+ :<|> ProjectsMoveDiskResource+ :<|> ProjectsSetCommonInstanceMetadataResource+ :<|> TargetPoolsAggregatedListResource+ :<|> TargetPoolsRemoveInstanceResource+ :<|> TargetPoolsInsertResource+ :<|> TargetPoolsListResource+ :<|> TargetPoolsGetHealthResource+ :<|> TargetPoolsGetResource+ :<|> TargetPoolsRemoveHealthCheckResource+ :<|> TargetPoolsSetBackupResource+ :<|> TargetPoolsAddInstanceResource+ :<|> TargetPoolsAddHealthCheckResource+ :<|> TargetPoolsDeleteResource
+ gen/Network/Google/Compute/Types.hs view
@@ -0,0 +1,1874 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Compute.Types+-- 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+ (+ -- * Service Configuration+ computeService++ -- * OAuth Scopes+ , computeScope+ , cloudPlatformScope+ , devstorageReadOnlyScope+ , devstorageReadWriteScope+ , computeReadonlyScope+ , devstorageFullControlScope++ -- * TargetHTTPSProxyList+ , TargetHTTPSProxyList+ , targetHTTPSProxyList+ , thplNextPageToken+ , thplKind+ , thplItems+ , thplSelfLink+ , thplId++ -- * AddressesScopedList+ , AddressesScopedList+ , addressesScopedList+ , aslAddresses+ , aslWarning++ -- * OperationWarningsItemDataItem+ , OperationWarningsItemDataItem+ , operationWarningsItemDataItem+ , owidiValue+ , owidiKey++ -- * SchedulingOnHostMaintenance+ , SchedulingOnHostMaintenance (..)++ -- * AutoscalingPolicyCustomMetricUtilizationUtilizationTargetType+ , AutoscalingPolicyCustomMetricUtilizationUtilizationTargetType (..)++ -- * InstanceGroupManagersAbandonInstancesRequest+ , InstanceGroupManagersAbandonInstancesRequest+ , instanceGroupManagersAbandonInstancesRequest+ , igmairInstances++ -- * MachineTypeAggregatedListItems+ , MachineTypeAggregatedListItems+ , machineTypeAggregatedListItems+ , mtaliAddtional++ -- * DiskTypeAggregatedListItems+ , DiskTypeAggregatedListItems+ , diskTypeAggregatedListItems+ , dtaliAddtional++ -- * FirewallList+ , FirewallList+ , firewallList+ , flNextPageToken+ , flKind+ , flItems+ , flSelfLink+ , flId++ -- * InstancesScopedListWarning+ , InstancesScopedListWarning+ , instancesScopedListWarning+ , islwData+ , islwCode+ , islwMessage++ -- * InstanceGroupList+ , InstanceGroupList+ , instanceGroupList+ , iglNextPageToken+ , iglKind+ , iglItems+ , iglSelfLink+ , iglId++ -- * AutoscalerAggregatedListItems+ , AutoscalerAggregatedListItems+ , autoscalerAggregatedListItems+ , aaliAddtional++ -- * InstanceGroupManagersSetInstanceTemplateRequest+ , InstanceGroupManagersSetInstanceTemplateRequest+ , instanceGroupManagersSetInstanceTemplateRequest+ , igmsitrInstanceTemplate++ -- * DeprecationStatus+ , DeprecationStatus+ , deprecationStatus+ , dsState+ , dsDeleted+ , dsReplacement+ , dsObsolete+ , dsDeprecated++ -- * OperationWarningsItemCode+ , OperationWarningsItemCode (..)++ -- * Snapshot+ , Snapshot+ , snapshot+ , sStorageBytesStatus+ , sStatus+ , sDiskSizeGb+ , sSourceDiskId+ , sKind+ , sStorageBytes+ , sSelfLink+ , sName+ , sCreationTimestamp+ , sId+ , sLicenses+ , sSourceDisk+ , sDescription++ -- * AutoscalingPolicyCustomMetricUtilization+ , AutoscalingPolicyCustomMetricUtilization+ , autoscalingPolicyCustomMetricUtilization+ , apcmuUtilizationTarget+ , apcmuMetric+ , apcmuUtilizationTargetType++ -- * ForwardingRuleList+ , ForwardingRuleList+ , forwardingRuleList+ , frlNextPageToken+ , frlKind+ , frlItems+ , frlSelfLink+ , frlId++ -- * VPNTunnelsScopedList+ , VPNTunnelsScopedList+ , vpnTunnelsScopedList+ , vtslVPNTunnels+ , vtslWarning++ -- * BackendServiceProtocol+ , BackendServiceProtocol (..)++ -- * InstanceGroupsSetNamedPortsRequest+ , InstanceGroupsSetNamedPortsRequest+ , instanceGroupsSetNamedPortsRequest+ , igsnprFingerprint+ , igsnprNamedPorts++ -- * OperationList+ , OperationList+ , operationList+ , olNextPageToken+ , olKind+ , olItems+ , olSelfLink+ , olId++ -- * DiskList+ , DiskList+ , diskList+ , dlNextPageToken+ , dlKind+ , dlItems+ , dlSelfLink+ , dlId++ -- * TargetPoolsAddInstanceRequest+ , TargetPoolsAddInstanceRequest+ , targetPoolsAddInstanceRequest+ , tpairInstances++ -- * InstanceGroupsAddInstancesRequest+ , InstanceGroupsAddInstancesRequest+ , instanceGroupsAddInstancesRequest+ , igairInstances++ -- * InstanceGroupManagerList+ , InstanceGroupManagerList+ , instanceGroupManagerList+ , igmlNextPageToken+ , igmlKind+ , igmlItems+ , igmlSelfLink+ , igmlId++ -- * AttachedDiskType+ , AttachedDiskType (..)++ -- * Image+ , Image+ , image+ , iStatus+ , iDiskSizeGb+ , iSourceType+ , iSourceDiskId+ , iKind+ , iArchiveSizeBytes+ , iRawDisk+ , iSelfLink+ , iName+ , iCreationTimestamp+ , iId+ , iLicenses+ , iSourceDisk+ , iDescription+ , iDeprecated++ -- * URLMap+ , URLMap+ , urlMap+ , umTests+ , umKind+ , umFingerprint+ , umDefaultService+ , umSelfLink+ , umName+ , umCreationTimestamp+ , umPathMatchers+ , umId+ , umHostRules+ , umDescription++ -- * InstanceGroupAggregatedListItems+ , InstanceGroupAggregatedListItems+ , instanceGroupAggregatedListItems+ , igaliAddtional++ -- * TargetPoolList+ , TargetPoolList+ , targetPoolList+ , tplNextPageToken+ , tplKind+ , tplItems+ , tplSelfLink+ , tplId++ -- * TargetInstanceAggregatedList+ , TargetInstanceAggregatedList+ , targetInstanceAggregatedList+ , tialNextPageToken+ , tialKind+ , tialItems+ , tialSelfLink+ , tialId++ -- * DisksScopedList+ , DisksScopedList+ , disksScopedList+ , dslWarning+ , dslDisks++ -- * InstanceGroupManagersScopedList+ , InstanceGroupManagersScopedList+ , instanceGroupManagersScopedList+ , igmslWarning+ , igmslInstanceGroupManagers++ -- * DiskAggregatedList+ , DiskAggregatedList+ , diskAggregatedList+ , dalNextPageToken+ , dalKind+ , dalItems+ , dalSelfLink+ , dalId++ -- * InstanceWithNamedPorts+ , InstanceWithNamedPorts+ , instanceWithNamedPorts+ , iwnpStatus+ , iwnpNamedPorts+ , iwnpInstance++ -- * ForwardingRulesScopedList+ , ForwardingRulesScopedList+ , forwardingRulesScopedList+ , frslWarning+ , frslForwardingRules++ -- * InstanceReference+ , InstanceReference+ , instanceReference+ , iInstance++ -- * OperationAggregatedList+ , OperationAggregatedList+ , operationAggregatedList+ , oalNextPageToken+ , oalKind+ , oalItems+ , oalSelfLink+ , oalId++ -- * OperationsScopedList+ , OperationsScopedList+ , operationsScopedList+ , oslWarning+ , oslOperations++ -- * NamedPort+ , NamedPort+ , namedPort+ , npName+ , npPort++ -- * TargetInstanceList+ , TargetInstanceList+ , targetInstanceList+ , tilNextPageToken+ , tilKind+ , tilItems+ , tilSelfLink+ , tilId++ -- * InstanceGroupManagerAggregatedList+ , InstanceGroupManagerAggregatedList+ , instanceGroupManagerAggregatedList+ , igmalNextPageToken+ , igmalKind+ , igmalItems+ , igmalSelfLink+ , igmalId++ -- * ImageSourceType+ , ImageSourceType (..)++ -- * TargetPoolsScopedList+ , TargetPoolsScopedList+ , targetPoolsScopedList+ , tpslWarning+ , tpslTargetPools++ -- * ForwardingRuleAggregatedList+ , ForwardingRuleAggregatedList+ , forwardingRuleAggregatedList+ , fralNextPageToken+ , fralKind+ , fralItems+ , fralSelfLink+ , fralId++ -- * TargetReference+ , TargetReference+ , targetReference+ , trTarget++ -- * TargetPoolAggregatedList+ , TargetPoolAggregatedList+ , targetPoolAggregatedList+ , tpalNextPageToken+ , tpalKind+ , tpalItems+ , tpalSelfLink+ , tpalId++ -- * OperationsScopedListWarningDataItem+ , OperationsScopedListWarningDataItem+ , operationsScopedListWarningDataItem+ , oslwdiValue+ , oslwdiKey++ -- * TargetPool+ , TargetPool+ , targetPool+ , tpSessionAffinity+ , tpBackupPool+ , tpKind+ , tpSelfLink+ , tpName+ , tpCreationTimestamp+ , tpInstances+ , tpId+ , tpFailoverRatio+ , tpRegion+ , tpDescription+ , tpHealthChecks++ -- * ImageList+ , ImageList+ , imageList+ , ilNextPageToken+ , ilKind+ , ilItems+ , ilSelfLink+ , ilId++ -- * VPNTunnelsScopedListWarning+ , VPNTunnelsScopedListWarning+ , vpnTunnelsScopedListWarning+ , vtslwData+ , vtslwCode+ , vtslwMessage++ -- * ForwardingRulesScopedListWarningCode+ , ForwardingRulesScopedListWarningCode (..)++ -- * OperationsScopedListWarningCode+ , OperationsScopedListWarningCode (..)++ -- * ForwardingRule+ , ForwardingRule+ , forwardingRule+ , frIPAddress+ , frKind+ , frPortRange+ , frSelfLink+ , frName+ , frIPProtocol+ , frCreationTimestamp+ , frId+ , frRegion+ , frDescription+ , frTarget++ -- * URLMapList+ , URLMapList+ , urlMapList+ , umlNextPageToken+ , umlKind+ , umlItems+ , umlSelfLink+ , umlId++ -- * ForwardingRulesScopedListWarningDataItem+ , ForwardingRulesScopedListWarningDataItem+ , forwardingRulesScopedListWarningDataItem+ , frslwdiValue+ , frslwdiKey++ -- * InstanceGroupManagersScopedListWarningDataItem+ , InstanceGroupManagersScopedListWarningDataItem+ , instanceGroupManagersScopedListWarningDataItem+ , igmslwdiValue+ , igmslwdiKey++ -- * DisksScopedListWarningCode+ , DisksScopedListWarningCode (..)++ -- * Project+ , Project+ , project+ , pKind+ , pUsageExportLocation+ , pSelfLink+ , pName+ , pCreationTimestamp+ , pEnabledFeatures+ , pQuotas+ , pId+ , pDescription+ , pCommonInstanceMetadata++ -- * Operation+ , Operation+ , operation+ , oTargetId+ , oStatus+ , oInsertTime+ , oProgress+ , oStartTime+ , oKind+ , oError+ , oHTTPErrorMessage+ , oZone+ , oWarnings+ , oHTTPErrorStatusCode+ , oUser+ , oSelfLink+ , oName+ , oStatusMessage+ , oCreationTimestamp+ , oEndTime+ , oId+ , oOperationType+ , oRegion+ , oTargetLink+ , oClientOperationId++ -- * DisksScopedListWarningDataItem+ , DisksScopedListWarningDataItem+ , disksScopedListWarningDataItem+ , dslwdiValue+ , dslwdiKey++ -- * InstanceGroupManagersScopedListWarningCode+ , InstanceGroupManagersScopedListWarningCode (..)++ -- * Disk+ , Disk+ , disk+ , dStatus+ , dSourceSnapshotId+ , dLastAttachTimestamp+ , dUsers+ , dSourceImage+ , dSizeGb+ , dKind+ , dLastDetachTimestamp+ , dZone+ , dSelfLink+ , dName+ , dSourceImageId+ , dCreationTimestamp+ , dId+ , dLicenses+ , dOptions+ , dType+ , dDescription+ , dSourceSnapshot++ -- * DiskMoveRequest+ , DiskMoveRequest+ , diskMoveRequest+ , dmrTargetDisk+ , dmrDestinationZone++ -- * AutoscalingPolicyLoadBalancingUtilization+ , AutoscalingPolicyLoadBalancingUtilization+ , autoscalingPolicyLoadBalancingUtilization+ , aplbuUtilizationTarget++ -- * TargetPoolsScopedListWarningDataItem+ , TargetPoolsScopedListWarningDataItem+ , targetPoolsScopedListWarningDataItem+ , tpslwdiValue+ , tpslwdiKey++ -- * InstanceGroupManager+ , InstanceGroupManager+ , instanceGroupManager+ , igmKind+ , igmFingerprint+ , igmBaseInstanceName+ , igmZone+ , igmInstanceTemplate+ , igmTargetSize+ , igmSelfLink+ , igmCurrentActions+ , igmName+ , igmCreationTimestamp+ , igmId+ , igmTargetPools+ , igmDescription+ , igmInstanceGroup++ -- * TargetPoolsScopedListWarningCode+ , TargetPoolsScopedListWarningCode (..)++ -- * TargetVPNGatewayStatus+ , TargetVPNGatewayStatus (..)++ -- * InstanceGroupsRemoveInstancesRequest+ , InstanceGroupsRemoveInstancesRequest+ , instanceGroupsRemoveInstancesRequest+ , igrirInstances++ -- * SnapshotStatus+ , SnapshotStatus (..)++ -- * RouteWarningsItemDataItem+ , RouteWarningsItemDataItem+ , routeWarningsItemDataItem+ , rwidiValue+ , rwidiKey++ -- * TargetInstancesScopedListWarningCode+ , TargetInstancesScopedListWarningCode (..)++ -- * InstanceAggregatedListItems+ , InstanceAggregatedListItems+ , instanceAggregatedListItems+ , ialiAddtional++ -- * AutoscalersScopedListWarning+ , AutoscalersScopedListWarning+ , autoscalersScopedListWarning+ , aslwData+ , aslwCode+ , aslwMessage++ -- * ManagedInstanceLastAttemptErrors+ , ManagedInstanceLastAttemptErrors+ , managedInstanceLastAttemptErrors+ , milaeErrors++ -- * RouteWarningsItemCode+ , RouteWarningsItemCode (..)++ -- * TargetPoolsRemoveInstanceRequest+ , TargetPoolsRemoveInstanceRequest+ , targetPoolsRemoveInstanceRequest+ , tprirInstances++ -- * TargetInstancesScopedListWarningDataItem+ , TargetInstancesScopedListWarningDataItem+ , targetInstancesScopedListWarningDataItem+ , tislwdiValue+ , tislwdiKey++ -- * MachineTypesScopedListWarning+ , MachineTypesScopedListWarning+ , machineTypesScopedListWarning+ , mtslwData+ , mtslwCode+ , mtslwMessage++ -- * TargetInstance+ , TargetInstance+ , targetInstance+ , tiKind+ , tiNATPolicy+ , tiZone+ , tiSelfLink+ , tiName+ , tiCreationTimestamp+ , tiId+ , tiDescription+ , tiInstance++ -- * TargetPoolInstanceHealth+ , TargetPoolInstanceHealth+ , targetPoolInstanceHealth+ , tpihKind+ , tpihHealthStatus++ -- * SnapshotStorageBytesStatus+ , SnapshotStorageBytesStatus (..)++ -- * InstanceGroupManagersListManagedInstancesResponse+ , InstanceGroupManagersListManagedInstancesResponse+ , instanceGroupManagersListManagedInstancesResponse+ , igmlmirManagedInstances++ -- * InstanceProperties+ , InstanceProperties+ , instanceProperties+ , ipServiceAccounts+ , ipNetworkInterfaces+ , ipMachineType+ , ipMetadata+ , ipScheduling+ , ipDisks+ , ipCanIPForward+ , ipDescription+ , ipTags++ -- * DiskTypesScopedListWarning+ , DiskTypesScopedListWarning+ , diskTypesScopedListWarning+ , dtslwData+ , dtslwCode+ , dtslwMessage++ -- * AddressesScopedListWarningCode+ , AddressesScopedListWarningCode (..)++ -- * AttachedDiskInitializeParams+ , AttachedDiskInitializeParams+ , attachedDiskInitializeParams+ , adipSourceImage+ , adipDiskSizeGb+ , adipDiskName+ , adipDiskType++ -- * AddressesScopedListWarningDataItem+ , AddressesScopedListWarningDataItem+ , addressesScopedListWarningDataItem+ , aslwdiValue+ , aslwdiKey++ -- * ImageStatus+ , ImageStatus (..)++ -- * NetworkInterface+ , NetworkInterface+ , networkInterface+ , niNetwork+ , niName+ , niNetworkIP+ , niAccessConfigs++ -- * TargetPoolsRemoveHealthCheckRequest+ , TargetPoolsRemoveHealthCheckRequest+ , targetPoolsRemoveHealthCheckRequest+ , tprhcrHealthChecks++ -- * HealthStatusHealthState+ , HealthStatusHealthState (..)++ -- * InstanceTemplateList+ , InstanceTemplateList+ , instanceTemplateList+ , itlNextPageToken+ , itlKind+ , itlItems+ , itlSelfLink+ , itlId++ -- * RouteList+ , RouteList+ , routeList+ , rlNextPageToken+ , rlKind+ , rlItems+ , rlSelfLink+ , rlId++ -- * DeprecationStatusState+ , DeprecationStatusState (..)++ -- * ManagedInstanceCurrentAction+ , ManagedInstanceCurrentAction (..)++ -- * TargetVPNGatewayList+ , TargetVPNGatewayList+ , targetVPNGatewayList+ , tvglNextPageToken+ , tvglKind+ , tvglItems+ , tvglSelfLink+ , tvglId++ -- * TargetInstanceNATPolicy+ , TargetInstanceNATPolicy (..)++ -- * SSLCertificateList+ , SSLCertificateList+ , sslCertificateList+ , sclNextPageToken+ , sclKind+ , sclItems+ , sclSelfLink+ , sclId++ -- * FirewallAllowedItem+ , FirewallAllowedItem+ , firewallAllowedItem+ , faiIPProtocol+ , faiPorts++ -- * Network+ , Network+ , network+ , nKind+ , nIPv4Range+ , nSelfLink+ , nName+ , nCreationTimestamp+ , nId+ , nGatewayIPv4+ , nDescription++ -- * AccessConfigType+ , AccessConfigType (..)++ -- * AddressesScopedListWarning+ , AddressesScopedListWarning+ , addressesScopedListWarning+ , aData+ , aCode+ , aMessage++ -- * ImageRawDisk+ , ImageRawDisk+ , imageRawDisk+ , irdContainerType+ , irdSource+ , irdSha1Checksum++ -- * InstanceAggregatedList+ , InstanceAggregatedList+ , instanceAggregatedList+ , ialNextPageToken+ , ialKind+ , ialItems+ , ialSelfLink+ , ialId++ -- * Address+ , Address+ , address+ , aStatus+ , aUsers+ , aKind+ , aAddress+ , aSelfLink+ , aName+ , aCreationTimestamp+ , aId+ , aRegion+ , aDescription++ -- * Zone+ , Zone+ , zone+ , zStatus+ , zMaintenanceWindows+ , zKind+ , zSelfLink+ , zName+ , zCreationTimestamp+ , zId+ , zRegion+ , zDescription+ , zDeprecated++ -- * InstanceGroupManagersRecreateInstancesRequest+ , InstanceGroupManagersRecreateInstancesRequest+ , instanceGroupManagersRecreateInstancesRequest+ , igmrirInstances++ -- * InstancesScopedList+ , InstancesScopedList+ , instancesScopedList+ , islWarning+ , islInstances++ -- * HealthCheckReference+ , HealthCheckReference+ , healthCheckReference+ , hcrHealthCheck++ -- * TargetInstanceAggregatedListItems+ , TargetInstanceAggregatedListItems+ , targetInstanceAggregatedListItems+ , tialiAddtional++ -- * InstanceGroupAggregatedList+ , InstanceGroupAggregatedList+ , instanceGroupAggregatedList+ , igalNextPageToken+ , igalKind+ , igalItems+ , igalSelfLink+ , igalId++ -- * OperationStatus+ , OperationStatus (..)++ -- * Route+ , Route+ , route+ , rPriority+ , rKind+ , rNextHopGateway+ , rNextHopNetwork+ , rNetwork+ , rWarnings+ , rNextHopIP+ , rDestRange+ , rSelfLink+ , rName+ , rCreationTimestamp+ , rId+ , rNextHopVPNTunnel+ , rDescription+ , rTags+ , rNextHopInstance++ -- * TargetVPNGatewaysScopedListWarningDataItem+ , TargetVPNGatewaysScopedListWarningDataItem+ , targetVPNGatewaysScopedListWarningDataItem+ , tvgslwdiValue+ , tvgslwdiKey++ -- * TargetVPNGatewaysScopedListWarningCode+ , TargetVPNGatewaysScopedListWarningCode (..)++ -- * TargetHTTPSProxiesSetSSLCertificatesRequest+ , TargetHTTPSProxiesSetSSLCertificatesRequest+ , targetHTTPSProxiesSetSSLCertificatesRequest+ , thpsscrSSLCertificates++ -- * InstanceTemplate+ , InstanceTemplate+ , instanceTemplate+ , itKind+ , itSelfLink+ , itName+ , itCreationTimestamp+ , itId+ , itDescription+ , itProperties++ -- * ZoneMaintenanceWindowsItem+ , ZoneMaintenanceWindowsItem+ , zoneMaintenanceWindowsItem+ , zmwiBeginTime+ , zmwiName+ , zmwiEndTime+ , zmwiDescription++ -- * TargetVPNGateway+ , TargetVPNGateway+ , targetVPNGateway+ , tvgStatus+ , tvgKind+ , tvgNetwork+ , tvgSelfLink+ , tvgName+ , tvgCreationTimestamp+ , tvgId+ , tvgRegion+ , tvgTunnels+ , tvgDescription+ , tvgForwardingRules++ -- * DiskStatus+ , DiskStatus (..)++ -- * ManagedInstanceInstanceStatus+ , ManagedInstanceInstanceStatus (..)++ -- * URLMapsValidateResponse+ , URLMapsValidateResponse+ , urlMapsValidateResponse+ , umvrResult++ -- * SSLCertificate+ , SSLCertificate+ , sslCertificate+ , scPrivateKey+ , scKind+ , scSelfLink+ , scName+ , scCreationTimestamp+ , scId+ , scCertificate+ , scDescription++ -- * URLMapReference+ , URLMapReference+ , urlMapReference+ , umrURLMap++ -- * AttachedDiskMode+ , AttachedDiskMode (..)++ -- * TargetPoolsAddHealthCheckRequest+ , TargetPoolsAddHealthCheckRequest+ , targetPoolsAddHealthCheckRequest+ , tpahcrHealthChecks++ -- * DiskAggregatedListItems+ , DiskAggregatedListItems+ , diskAggregatedListItems+ , daliAddtional++ -- * UsageExportLocation+ , UsageExportLocation+ , usageExportLocation+ , uelReportNamePrefix+ , uelBucketName++ -- * ZoneList+ , ZoneList+ , zoneList+ , zlNextPageToken+ , zlKind+ , zlItems+ , zlSelfLink+ , zlId++ -- * RegionStatus+ , RegionStatus (..)++ -- * ManagedInstance+ , ManagedInstance+ , managedInstance+ , miLastAttempt+ , miCurrentAction+ , miId+ , miInstanceStatus+ , miInstance++ -- * InstanceGroupManagerAggregatedListItems+ , InstanceGroupManagerAggregatedListItems+ , instanceGroupManagerAggregatedListItems+ , igmaliAddtional++ -- * InstanceGroupManagersDeleteInstancesRequest+ , InstanceGroupManagersDeleteInstancesRequest+ , instanceGroupManagersDeleteInstancesRequest+ , igmdirInstances++ -- * Backend+ , Backend+ , backend+ , bGroup+ , bBalancingMode+ , bMaxUtilization+ , bMaxRate+ , bMaxRatePerInstance+ , bDescription+ , bCapacityScaler++ -- * TargetVPNGatewaysScopedListWarning+ , TargetVPNGatewaysScopedListWarning+ , targetVPNGatewaysScopedListWarning+ , tvgslwData+ , tvgslwCode+ , tvgslwMessage++ -- * AddressList+ , AddressList+ , addressList+ , alNextPageToken+ , alKind+ , alItems+ , alSelfLink+ , alId++ -- * ForwardingRuleAggregatedListItems+ , ForwardingRuleAggregatedListItems+ , forwardingRuleAggregatedListItems+ , fraliAddtional++ -- * OperationAggregatedListItems+ , OperationAggregatedListItems+ , operationAggregatedListItems+ , oaliAddtional++ -- * InstanceGroupManagerActionsSummary+ , InstanceGroupManagerActionsSummary+ , instanceGroupManagerActionsSummary+ , igmasDeleting+ , igmasRestarting+ , igmasNone+ , igmasCreating+ , igmasRefreshing+ , igmasRecreating+ , igmasAbandoning++ -- * VPNTunnelStatus+ , VPNTunnelStatus (..)++ -- * ServiceAccount+ , ServiceAccount+ , serviceAccount+ , saEmail+ , saScopes++ -- * NetworkList+ , NetworkList+ , networkList+ , nlNextPageToken+ , nlKind+ , nlItems+ , nlSelfLink+ , nlId++ -- * InstanceGroupsListInstancesRequest+ , InstanceGroupsListInstancesRequest+ , instanceGroupsListInstancesRequest+ , iglirInstanceState++ -- * BackendBalancingMode+ , BackendBalancingMode (..)++ -- * TargetPoolAggregatedListItems+ , TargetPoolAggregatedListItems+ , targetPoolAggregatedListItems+ , tpaliAddtional++ -- * TargetInstancesScopedList+ , TargetInstancesScopedList+ , targetInstancesScopedList+ , tislWarning+ , tislTargetInstances++ -- * AddressAggregatedListItems+ , AddressAggregatedListItems+ , addressAggregatedListItems+ , aAddtional++ -- * AutoscalerList+ , AutoscalerList+ , autoscalerList+ , autNextPageToken+ , autKind+ , autItems+ , autSelfLink+ , autId++ -- * VPNTunnelAggregatedList+ , VPNTunnelAggregatedList+ , vpnTunnelAggregatedList+ , vtalNextPageToken+ , vtalKind+ , vtalItems+ , vtalSelfLink+ , vtalId++ -- * AttachedDisk+ , AttachedDisk+ , attachedDisk+ , adKind+ , adMode+ , adBoot+ , adAutoDelete+ , adInitializeParams+ , adDeviceName+ , adInterface+ , adSource+ , adLicenses+ , adType+ , adIndex++ -- * DiskTypeList+ , DiskTypeList+ , diskTypeList+ , dtlNextPageToken+ , dtlKind+ , dtlItems+ , dtlSelfLink+ , dtlId++ -- * MachineTypeList+ , MachineTypeList+ , machineTypeList+ , mtlNextPageToken+ , mtlKind+ , mtlItems+ , mtlSelfLink+ , mtlId++ -- * TargetHTTPProxyList+ , TargetHTTPProxyList+ , targetHTTPProxyList+ , thttpplNextPageToken+ , thttpplKind+ , thttpplItems+ , thttpplSelfLink+ , thttpplId++ -- * ForwardingRuleIPProtocol+ , ForwardingRuleIPProtocol (..)++ -- * DiskTypesScopedList+ , DiskTypesScopedList+ , diskTypesScopedList+ , dtslDiskTypes+ , dtslWarning++ -- * AddressStatus+ , AddressStatus (..)++ -- * DiskTypeAggregatedList+ , DiskTypeAggregatedList+ , diskTypeAggregatedList+ , dtalNextPageToken+ , dtalKind+ , dtalItems+ , dtalSelfLink+ , dtalId++ -- * HTTPHealthCheck+ , HTTPHealthCheck+ , hTTPHealthCheck+ , httphcHealthyThreshold+ , httphcKind+ , httphcRequestPath+ , httphcSelfLink+ , httphcCheckIntervalSec+ , httphcName+ , httphcCreationTimestamp+ , httphcId+ , httphcHost+ , httphcTimeoutSec+ , httphcDescription+ , httphcUnhealthyThreshold+ , httphcPort++ -- * BackendServiceGroupHealth+ , BackendServiceGroupHealth+ , backendServiceGroupHealth+ , bsghKind+ , bsghHealthStatus++ -- * InstanceGroupsListInstancesRequestInstanceState+ , InstanceGroupsListInstancesRequestInstanceState (..)++ -- * AutoscalersScopedList+ , AutoscalersScopedList+ , autoscalersScopedList+ , aAutoscalers+ , aWarning++ -- * AutoscalerAggregatedList+ , AutoscalerAggregatedList+ , autoscalerAggregatedList+ , aalNextPageToken+ , aalKind+ , aalItems+ , aalSelfLink+ , aalId++ -- * AutoscalingPolicy+ , AutoscalingPolicy+ , autoscalingPolicy+ , apCustomMetricUtilizations+ , apMaxNumReplicas+ , apCPUUtilization+ , apLoadBalancingUtilization+ , apMinNumReplicas+ , apCoolDownPeriodSec++ -- * RegionList+ , RegionList+ , regionList+ , regNextPageToken+ , regKind+ , regItems+ , regSelfLink+ , regId++ -- * AttachedDiskInterface+ , AttachedDiskInterface (..)++ -- * ZoneStatus+ , ZoneStatus (..)++ -- * VPNTunnelList+ , VPNTunnelList+ , vpnTunnelList+ , vtlNextPageToken+ , vtlKind+ , vtlItems+ , vtlSelfLink+ , vtlId++ -- * MachineTypeScratchDisksItem+ , MachineTypeScratchDisksItem+ , machineTypeScratchDisksItem+ , mtsdiDiskGb++ -- * MachineTypesScopedList+ , MachineTypesScopedList+ , machineTypesScopedList+ , mtslMachineTypes+ , mtslWarning++ -- * MachineTypeAggregatedList+ , MachineTypeAggregatedList+ , machineTypeAggregatedList+ , mtalNextPageToken+ , mtalKind+ , mtalItems+ , mtalSelfLink+ , mtalId++ -- * QuotaMetric+ , QuotaMetric (..)++ -- * DiskType+ , DiskType+ , diskType+ , dtKind+ , dtZone+ , dtSelfLink+ , dtName+ , dtCreationTimestamp+ , dtId+ , dtValidDiskSize+ , dtDescription+ , dtDefaultDiskSizeGb+ , dtDeprecated++ -- * URLMapValidationResult+ , URLMapValidationResult+ , urlMapValidationResult+ , umvrLoadErrors+ , umvrLoadSucceeded+ , umvrTestPassed+ , umvrTestFailures++ -- * Metadata+ , Metadata+ , metadata+ , mKind+ , mFingerprint+ , mItems++ -- * RouteWarningsItem+ , RouteWarningsItem+ , routeWarningsItem+ , rwiData+ , rwiCode+ , rwiMessage++ -- * MachineTypesScopedListWarningDataItem+ , MachineTypesScopedListWarningDataItem+ , machineTypesScopedListWarningDataItem+ , mtslwdiValue+ , mtslwdiKey++ -- * InstanceStatus+ , InstanceStatus (..)++ -- * MachineTypesScopedListWarningCode+ , MachineTypesScopedListWarningCode (..)++ -- * DiskTypesScopedListWarningDataItem+ , DiskTypesScopedListWarningDataItem+ , diskTypesScopedListWarningDataItem+ , dtslwdiValue+ , dtslwdiKey++ -- * TargetHTTPProxy+ , TargetHTTPProxy+ , targetHTTPProxy+ , thttppURLMap+ , thttppKind+ , thttppSelfLink+ , thttppName+ , thttppCreationTimestamp+ , thttppId+ , thttppDescription++ -- * MachineType+ , MachineType+ , machineType+ , mtKind+ , mtImageSpaceGb+ , mtZone+ , mtSelfLink+ , mtName+ , mtCreationTimestamp+ , mtScratchDisks+ , mtId+ , mtGuestCPUs+ , mtMaximumPersistentDisksSizeGb+ , mtMaximumPersistentDisks+ , mtMemoryMb+ , mtDescription+ , mtDeprecated++ -- * DiskTypesScopedListWarningCode+ , DiskTypesScopedListWarningCode (..)++ -- * OperationError+ , OperationError+ , operationError+ , oeErrors++ -- * TargetInstancesScopedListWarning+ , TargetInstancesScopedListWarning+ , targetInstancesScopedListWarning+ , tislwData+ , tislwCode+ , tislwMessage++ -- * AutoscalersScopedListWarningDataItem+ , AutoscalersScopedListWarningDataItem+ , autoscalersScopedListWarningDataItem+ , aValue+ , aKey++ -- * AutoscalersScopedListWarningCode+ , AutoscalersScopedListWarningCode (..)++ -- * InstanceGroupsListInstances+ , InstanceGroupsListInstances+ , instanceGroupsListInstances+ , igliNextPageToken+ , igliKind+ , igliItems+ , igliSelfLink+ , igliId++ -- * Autoscaler+ , Autoscaler+ , autoscaler+ , aaKind+ , aaZone+ , aaSelfLink+ , aaName+ , aaCreationTimestamp+ , aaAutoscalingPolicy+ , aaId+ , aaDescription+ , aaTarget++ -- * DisksScopedListWarning+ , DisksScopedListWarning+ , disksScopedListWarning+ , dslwData+ , dslwCode+ , dslwMessage++ -- * TargetVPNGatewayAggregatedListItems+ , TargetVPNGatewayAggregatedListItems+ , targetVPNGatewayAggregatedListItems+ , tvgaliAddtional++ -- * TargetPoolsScopedListWarning+ , TargetPoolsScopedListWarning+ , targetPoolsScopedListWarning+ , tpslwData+ , tpslwCode+ , tpslwMessage++ -- * HealthStatus+ , HealthStatus+ , healthStatus+ , hsIPAddress+ , hsHealthState+ , hsPort+ , hsInstance++ -- * Region+ , Region+ , region+ , rrStatus+ , rrZones+ , rrKind+ , rrSelfLink+ , rrName+ , rrCreationTimestamp+ , rrQuotas+ , rrId+ , rrDescription+ , rrDeprecated++ -- * VPNTunnel+ , VPNTunnel+ , vpnTunnel+ , vtDetailedStatus+ , vtStatus+ , vtKind+ , vtPeerIP+ , vtTargetVPNGateway+ , vtSelfLink+ , vtSharedSecret+ , vtName+ , vtCreationTimestamp+ , vtSharedSecretHash+ , vtId+ , vtIkeVersion+ , vtRegion+ , vtDescription++ -- * VPNTunnelsScopedListWarningCode+ , VPNTunnelsScopedListWarningCode (..)++ -- * OperationsScopedListWarning+ , OperationsScopedListWarning+ , operationsScopedListWarning+ , oslwData+ , oslwCode+ , oslwMessage++ -- * Scheduling+ , Scheduling+ , scheduling+ , sAutomaticRestart+ , sOnHostMaintenance+ , sPreemptible++ -- * VPNTunnelsScopedListWarningDataItem+ , VPNTunnelsScopedListWarningDataItem+ , vpnTunnelsScopedListWarningDataItem+ , vtslwdiValue+ , vtslwdiKey++ -- * ForwardingRulesScopedListWarning+ , ForwardingRulesScopedListWarning+ , forwardingRulesScopedListWarning+ , frslwData+ , frslwCode+ , frslwMessage++ -- * HTTPHealthCheckList+ , HTTPHealthCheckList+ , hTTPHealthCheckList+ , httphclNextPageToken+ , httphclKind+ , httphclItems+ , httphclSelfLink+ , httphclId++ -- * InstanceGroupManagersScopedListWarning+ , InstanceGroupManagersScopedListWarning+ , instanceGroupManagersScopedListWarning+ , igmslwData+ , igmslwCode+ , igmslwMessage++ -- * URLMapsValidateRequest+ , URLMapsValidateRequest+ , urlMapsValidateRequest+ , umvrResource++ -- * InstanceGroupManagersSetTargetPoolsRequest+ , InstanceGroupManagersSetTargetPoolsRequest+ , instanceGroupManagersSetTargetPoolsRequest+ , igmstprFingerprint+ , igmstprTargetPools++ -- * HTTPSHealthCheckList+ , HTTPSHealthCheckList+ , httpsHealthCheckList+ , hhclNextPageToken+ , hhclKind+ , hhclItems+ , hhclSelfLink+ , hhclId++ -- * OperationErrorErrorsItem+ , OperationErrorErrorsItem+ , operationErrorErrorsItem+ , oeeiLocation+ , oeeiCode+ , oeeiMessage++ -- * License+ , License+ , license+ , lChargesUseFee+ , lKind+ , lSelfLink+ , lName++ -- * PathRule+ , PathRule+ , pathRule+ , prService+ , prPaths++ -- * InstanceList+ , InstanceList+ , instanceList+ , insNextPageToken+ , insKind+ , insItems+ , insSelfLink+ , insId++ -- * ManagedInstanceLastAttempt+ , ManagedInstanceLastAttempt+ , managedInstanceLastAttempt+ , milaErrors++ -- * BackendServiceList+ , BackendServiceList+ , backendServiceList+ , bslNextPageToken+ , bslKind+ , bslItems+ , bslSelfLink+ , bslId++ -- * InstanceGroupsScopedListWarning+ , InstanceGroupsScopedListWarning+ , instanceGroupsScopedListWarning+ , igslwData+ , igslwCode+ , igslwMessage++ -- * AutoscalingPolicyCPUUtilization+ , AutoscalingPolicyCPUUtilization+ , autoscalingPolicyCPUUtilization+ , apcuUtilizationTarget++ -- * InstanceGroupsScopedListWarningCode+ , InstanceGroupsScopedListWarningCode (..)++ -- * InstanceGroupsScopedListWarningDataItem+ , InstanceGroupsScopedListWarningDataItem+ , instanceGroupsScopedListWarningDataItem+ , igslwdiValue+ , igslwdiKey++ -- * ResourceGroupReference+ , ResourceGroupReference+ , resourceGroupReference+ , rgrGroup++ -- * Firewall+ , Firewall+ , firewall+ , fSourceTags+ , fKind+ , fTargetTags+ , fNetwork+ , fSourceRanges+ , fSelfLink+ , fName+ , fCreationTimestamp+ , fId+ , fAllowed+ , fDescription++ -- * HostRule+ , HostRule+ , hostRule+ , hrHosts+ , hrDescription+ , hrPathMatcher++ -- * Quota+ , Quota+ , quota+ , qMetric+ , qLimit+ , qUsage++ -- * InstanceGroup+ , InstanceGroup+ , instanceGroup+ , iiSize+ , iiKind+ , iiFingerprint+ , iiNetwork+ , iiZone+ , iiSelfLink+ , iiName+ , iiCreationTimestamp+ , iiId+ , iiDescription+ , iiNamedPorts++ -- * InstanceWithNamedPortsStatus+ , InstanceWithNamedPortsStatus (..)++ -- * SnapshotList+ , SnapshotList+ , snapshotList+ , slNextPageToken+ , slKind+ , slItems+ , slSelfLink+ , slId++ -- * TestFailure+ , TestFailure+ , testFailure+ , tfPath+ , tfExpectedService+ , tfHost+ , tfActualService++ -- * SerialPortOutput+ , SerialPortOutput+ , serialPortOutput+ , spoContents+ , spoKind+ , spoSelfLink++ -- * TargetVPNGatewayAggregatedList+ , TargetVPNGatewayAggregatedList+ , targetVPNGatewayAggregatedList+ , tvgalNextPageToken+ , tvgalKind+ , tvgalItems+ , tvgalSelfLink+ , tvgalId++ -- * MetadataItemsItem+ , MetadataItemsItem+ , metadataItemsItem+ , miiValue+ , miiKey++ -- * TargetHTTPSProxy+ , TargetHTTPSProxy+ , targetHTTPSProxy+ , thpURLMap+ , thpSSLCertificates+ , thpKind+ , thpSelfLink+ , thpName+ , thpCreationTimestamp+ , thpId+ , thpDescription++ -- * TargetVPNGatewaysScopedList+ , TargetVPNGatewaysScopedList+ , targetVPNGatewaysScopedList+ , tvgslTargetVPNGateways+ , tvgslWarning++ -- * AccessConfig+ , AccessConfig+ , accessConfig+ , acKind+ , acName+ , acNATIP+ , acType++ -- * ManagedInstanceLastAttemptErrorsErrorsItem+ , ManagedInstanceLastAttemptErrorsErrorsItem+ , managedInstanceLastAttemptErrorsErrorsItem+ , milaeeiLocation+ , milaeeiCode+ , milaeeiMessage++ -- * InstancesScopedListWarningCode+ , InstancesScopedListWarningCode (..)++ -- * InstancesScopedListWarningDataItem+ , InstancesScopedListWarningDataItem+ , instancesScopedListWarningDataItem+ , islwdiValue+ , islwdiKey++ -- * BackendService+ , BackendService+ , backendService+ , bsBackends+ , bsKind+ , bsFingerprint+ , bsProtocol+ , bsSelfLink+ , bsName+ , bsCreationTimestamp+ , bsId+ , bsTimeoutSec+ , bsDescription+ , bsPortName+ , bsHealthChecks+ , bsPort++ -- * InstanceMoveRequest+ , InstanceMoveRequest+ , instanceMoveRequest+ , imrTargetInstance+ , imrDestinationZone++ -- * TargetPoolSessionAffinity+ , TargetPoolSessionAffinity (..)++ -- * InstanceGroupsScopedList+ , InstanceGroupsScopedList+ , instanceGroupsScopedList+ , igslWarning+ , igslInstanceGroups++ -- * HTTPSHealthCheck+ , HTTPSHealthCheck+ , httpsHealthCheck+ , hhcHealthyThreshold+ , hhcKind+ , hhcRequestPath+ , hhcSelfLink+ , hhcCheckIntervalSec+ , hhcName+ , hhcCreationTimestamp+ , hhcId+ , hhcHost+ , hhcTimeoutSec+ , hhcDescription+ , hhcUnhealthyThreshold+ , hhcPort++ -- * ImageRawDiskContainerType+ , ImageRawDiskContainerType (..)++ -- * VPNTunnelAggregatedListItems+ , VPNTunnelAggregatedListItems+ , vpnTunnelAggregatedListItems+ , vtaliAddtional++ -- * Tags+ , Tags+ , tags+ , tFingerprint+ , tItems++ -- * AddressAggregatedList+ , AddressAggregatedList+ , addressAggregatedList+ , addNextPageToken+ , addKind+ , addItems+ , addSelfLink+ , addId++ -- * OperationWarningsItem+ , OperationWarningsItem+ , operationWarningsItem+ , owiData+ , owiCode+ , owiMessage++ -- * URLMapTest+ , URLMapTest+ , urlMapTest+ , umtPath+ , umtService+ , umtHost+ , umtDescription++ -- * Instance+ , Instance+ , instance'+ , insnStatus+ , insnServiceAccounts+ , insnNetworkInterfaces+ , insnKind+ , insnZone+ , insnCPUPlatform+ , insnSelfLink+ , insnName+ , insnStatusMessage+ , insnCreationTimestamp+ , insnMachineType+ , insnMetadata+ , insnId+ , insnScheduling+ , insnDisks+ , insnCanIPForward+ , insnDescription+ , insnTags++ -- * PathMatcher+ , PathMatcher+ , pathMatcher+ , pmDefaultService+ , pmName+ , pmPathRules+ , pmDescription+ ) where++import Network.Google.Compute.Types.Product+import Network.Google.Compute.Types.Sum+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+ = defaultService (ServiceId "compute:v1")+ "www.googleapis.com"++-- | View and manage your Google Compute Engine resources+computeScope :: OAuthScope+computeScope = "https://www.googleapis.com/auth/compute";++-- | View and manage your data across Google Cloud Platform services+cloudPlatformScope :: OAuthScope+cloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform";++-- | View your data in Google Cloud Storage+devstorageReadOnlyScope :: OAuthScope+devstorageReadOnlyScope = "https://www.googleapis.com/auth/devstorage.read_only";++-- | Manage your data in Google Cloud Storage+devstorageReadWriteScope :: OAuthScope+devstorageReadWriteScope = "https://www.googleapis.com/auth/devstorage.read_write";++-- | View your Google Compute Engine resources+computeReadonlyScope :: OAuthScope+computeReadonlyScope = "https://www.googleapis.com/auth/compute.readonly";++-- | Manage your data and permissions in Google Cloud Storage+devstorageFullControlScope :: OAuthScope+devstorageFullControlScope = "https://www.googleapis.com/auth/devstorage.full_control";
+ gen/Network/Google/Compute/Types/Product.hs view
@@ -0,0 +1,15819 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}++{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- 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{..}+ = object+ (catMaybes+ [("defaultService" .=) <$> _pmDefaultService,+ ("name" .=) <$> _pmName,+ ("pathRules" .=) <$> _pmPathRules,+ ("description" .=) <$> _pmDescription])
+ gen/Network/Google/Compute/Types/Sum.hs view
@@ -0,0 +1,2366 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- 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+ TAR -> "TAR"++instance FromJSON ImageRawDiskContainerType where+ parseJSON = parseJSONText "ImageRawDiskContainerType"++instance ToJSON ImageRawDiskContainerType where+ toJSON = toJSONText
+ gen/Network/Google/Resource/Compute/Addresses/AggregatedList.hs view
@@ -0,0 +1,137 @@+{-# 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.Addresses.AggregatedList+-- 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)+--+-- Retrieves the list of addresses grouped by scope.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.addresses.aggregatedList@.+module Network.Google.Resource.Compute.Addresses.AggregatedList+ (+ -- * REST Resource+ AddressesAggregatedListResource++ -- * Creating a Request+ , addressesAggregatedList+ , AddressesAggregatedList++ -- * Request Lenses+ , aalProject+ , aalFilter+ , aalPageToken+ , aalMaxResults+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.addresses.aggregatedList@ method which the+-- 'AddressesAggregatedList' request conforms to.+type AddressesAggregatedListResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "aggregated" :>+ "addresses" :>+ QueryParam "filter" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] AddressAggregatedList++-- | Retrieves the list of addresses grouped by scope.+--+-- /See:/ 'addressesAggregatedList' smart constructor.+data AddressesAggregatedList = AddressesAggregatedList+ { _aalProject :: !Text+ , _aalFilter :: !(Maybe Text)+ , _aalPageToken :: !(Maybe Text)+ , _aalMaxResults :: !(Textual Word32)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AddressesAggregatedList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aalProject'+--+-- * 'aalFilter'+--+-- * 'aalPageToken'+--+-- * 'aalMaxResults'+addressesAggregatedList+ :: Text -- ^ 'aalProject'+ -> AddressesAggregatedList+addressesAggregatedList pAalProject_ =+ AddressesAggregatedList+ { _aalProject = pAalProject_+ , _aalFilter = Nothing+ , _aalPageToken = Nothing+ , _aalMaxResults = 500+ }++-- | Project ID for this request.+aalProject :: Lens' AddressesAggregatedList Text+aalProject+ = 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+-- 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.+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.+aalPageToken :: Lens' AddressesAggregatedList (Maybe Text)+aalPageToken+ = lens _aalPageToken (\ s a -> s{_aalPageToken = a})++-- | Maximum count of results to be returned.+aalMaxResults :: Lens' AddressesAggregatedList Word32+aalMaxResults+ = lens _aalMaxResults+ (\ s a -> s{_aalMaxResults = a})+ . _Coerce++instance GoogleRequest AddressesAggregatedList where+ type Rs AddressesAggregatedList =+ AddressAggregatedList+ requestClient AddressesAggregatedList{..}+ = go _aalProject _aalFilter _aalPageToken+ (Just _aalMaxResults)+ (Just AltJSON)+ computeService+ where go+ = buildClient+ (Proxy :: Proxy AddressesAggregatedListResource)+ mempty
+ gen/Network/Google/Resource/Compute/Addresses/Delete.hs view
@@ -0,0 +1,109 @@+{-# 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.Addresses.Delete+-- 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)+--+-- Deletes the specified address resource.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.addresses.delete@.+module Network.Google.Resource.Compute.Addresses.Delete+ (+ -- * REST Resource+ AddressesDeleteResource++ -- * Creating a Request+ , addressesDelete+ , AddressesDelete++ -- * Request Lenses+ , aaProject+ , aaAddress+ , aaRegion+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.addresses.delete@ method which the+-- 'AddressesDelete' request conforms to.+type AddressesDeleteResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "regions" :>+ Capture "region" Text :>+ "addresses" :>+ Capture "address" Text :>+ QueryParam "alt" AltJSON :> Delete '[JSON] Operation++-- | Deletes the specified address resource.+--+-- /See:/ 'addressesDelete' smart constructor.+data AddressesDelete = AddressesDelete+ { _aaProject :: !Text+ , _aaAddress :: !Text+ , _aaRegion :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AddressesDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aaProject'+--+-- * 'aaAddress'+--+-- * 'aaRegion'+addressesDelete+ :: Text -- ^ 'aaProject'+ -> Text -- ^ 'aaAddress'+ -> Text -- ^ 'aaRegion'+ -> AddressesDelete+addressesDelete pAaProject_ pAaAddress_ pAaRegion_ =+ AddressesDelete+ { _aaProject = pAaProject_+ , _aaAddress = pAaAddress_+ , _aaRegion = pAaRegion_+ }++-- | Project ID for this request.+aaProject :: Lens' AddressesDelete Text+aaProject+ = lens _aaProject (\ s a -> s{_aaProject = a})++-- | Name of the address resource to delete.+aaAddress :: Lens' AddressesDelete Text+aaAddress+ = lens _aaAddress (\ s a -> s{_aaAddress = a})++-- | The 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{..}+ = go _aaProject _aaRegion _aaAddress (Just AltJSON)+ computeService+ where go+ = buildClient+ (Proxy :: Proxy AddressesDeleteResource)+ mempty
+ gen/Network/Google/Resource/Compute/Addresses/Get.hs view
@@ -0,0 +1,110 @@+{-# 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.Addresses.Get+-- 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)+--+-- Returns the specified address resource.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.addresses.get@.+module Network.Google.Resource.Compute.Addresses.Get+ (+ -- * REST Resource+ AddressesGetResource++ -- * Creating a Request+ , addressesGet+ , AddressesGet++ -- * Request Lenses+ , addProject+ , addAddress+ , addRegion+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.addresses.get@ method which the+-- 'AddressesGet' request conforms to.+type AddressesGetResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "regions" :>+ Capture "region" Text :>+ "addresses" :>+ Capture "address" Text :>+ QueryParam "alt" AltJSON :> Get '[JSON] Address++-- | Returns the specified address resource.+--+-- /See:/ 'addressesGet' smart constructor.+data AddressesGet = AddressesGet+ { _addProject :: !Text+ , _addAddress :: !Text+ , _addRegion :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AddressesGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'addProject'+--+-- * 'addAddress'+--+-- * 'addRegion'+addressesGet+ :: Text -- ^ 'addProject'+ -> Text -- ^ 'addAddress'+ -> Text -- ^ 'addRegion'+ -> AddressesGet+addressesGet pAddProject_ pAddAddress_ pAddRegion_ =+ AddressesGet+ { _addProject = pAddProject_+ , _addAddress = pAddAddress_+ , _addRegion = pAddRegion_+ }++-- | Project ID for this request.+addProject :: Lens' AddressesGet Text+addProject+ = lens _addProject (\ s a -> s{_addProject = a})++-- | Name of the address resource to return.+addAddress :: Lens' AddressesGet Text+addAddress+ = lens _addAddress (\ s a -> s{_addAddress = a})++-- | The 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{..}+ = go _addProject _addRegion _addAddress+ (Just AltJSON)+ computeService+ where go+ = buildClient (Proxy :: Proxy AddressesGetResource)+ mempty
+ gen/Network/Google/Resource/Compute/Addresses/Insert.hs view
@@ -0,0 +1,111 @@+{-# 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.Addresses.Insert+-- 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)+--+-- Creates an address 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.addresses.insert@.+module Network.Google.Resource.Compute.Addresses.Insert+ (+ -- * REST Resource+ AddressesInsertResource++ -- * Creating a Request+ , addressesInsert+ , AddressesInsert++ -- * Request Lenses+ , aiProject+ , aiPayload+ , aiRegion+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.addresses.insert@ method which the+-- 'AddressesInsert' request conforms to.+type AddressesInsertResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "regions" :>+ Capture "region" Text :>+ "addresses" :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] Address :> Post '[JSON] Operation++-- | Creates an address resource in the specified project using the data+-- included in the request.+--+-- /See:/ 'addressesInsert' smart constructor.+data AddressesInsert = AddressesInsert+ { _aiProject :: !Text+ , _aiPayload :: !Address+ , _aiRegion :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AddressesInsert' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aiProject'+--+-- * 'aiPayload'+--+-- * 'aiRegion'+addressesInsert+ :: Text -- ^ 'aiProject'+ -> Address -- ^ 'aiPayload'+ -> Text -- ^ 'aiRegion'+ -> AddressesInsert+addressesInsert pAiProject_ pAiPayload_ pAiRegion_ =+ AddressesInsert+ { _aiProject = pAiProject_+ , _aiPayload = pAiPayload_+ , _aiRegion = pAiRegion_+ }++-- | Project ID for this request.+aiProject :: Lens' AddressesInsert Text+aiProject+ = lens _aiProject (\ s a -> s{_aiProject = a})++-- | Multipart request metadata.+aiPayload :: Lens' AddressesInsert Address+aiPayload+ = lens _aiPayload (\ s a -> s{_aiPayload = a})++-- | The 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{..}+ = go _aiProject _aiRegion (Just AltJSON) _aiPayload+ computeService+ where go+ = buildClient+ (Proxy :: Proxy AddressesInsertResource)+ mempty
+ gen/Network/Google/Resource/Compute/Addresses/List.hs view
@@ -0,0 +1,145 @@+{-# 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.Addresses.List+-- 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)+--+-- Retrieves the list of address resources 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+ (+ -- * REST Resource+ AddressesListResource++ -- * Creating a Request+ , addressesList+ , AddressesList++ -- * Request Lenses+ , alProject+ , alFilter+ , alRegion+ , alPageToken+ , alMaxResults+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.addresses.list@ method which the+-- 'AddressesList' request conforms to.+type AddressesListResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "regions" :>+ Capture "region" Text :>+ "addresses" :>+ QueryParam "filter" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :> Get '[JSON] AddressList++-- | Retrieves the list of address resources contained within the specified+-- region.+--+-- /See:/ 'addressesList' smart constructor.+data AddressesList = AddressesList+ { _alProject :: !Text+ , _alFilter :: !(Maybe Text)+ , _alRegion :: !Text+ , _alPageToken :: !(Maybe Text)+ , _alMaxResults :: !(Textual Word32)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AddressesList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'alProject'+--+-- * 'alFilter'+--+-- * 'alRegion'+--+-- * 'alPageToken'+--+-- * 'alMaxResults'+addressesList+ :: Text -- ^ 'alProject'+ -> Text -- ^ 'alRegion'+ -> AddressesList+addressesList pAlProject_ pAlRegion_ =+ AddressesList+ { _alProject = pAlProject_+ , _alFilter = Nothing+ , _alRegion = pAlRegion_+ , _alPageToken = Nothing+ , _alMaxResults = 500+ }++-- | Project ID for this request.+alProject :: Lens' AddressesList Text+alProject+ = 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+-- 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.+alFilter :: Lens' AddressesList (Maybe Text)+alFilter = lens _alFilter (\ s a -> s{_alFilter = a})++-- | The 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.+alPageToken :: Lens' AddressesList (Maybe Text)+alPageToken+ = lens _alPageToken (\ s a -> s{_alPageToken = a})++-- | Maximum count of results to be returned.+alMaxResults :: Lens' AddressesList Word32+alMaxResults+ = lens _alMaxResults (\ s a -> s{_alMaxResults = a})+ . _Coerce++instance GoogleRequest AddressesList where+ type Rs AddressesList = AddressList+ requestClient AddressesList{..}+ = go _alProject _alRegion _alFilter _alPageToken+ (Just _alMaxResults)+ (Just AltJSON)+ computeService+ where go+ = buildClient (Proxy :: Proxy AddressesListResource)+ mempty
+ gen/Network/Google/Resource/Compute/Autoscalers/AggregatedList.hs view
@@ -0,0 +1,138 @@+{-# 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.Autoscalers.AggregatedList+-- 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)+--+-- Retrieves the list of autoscalers grouped by scope.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.autoscalers.aggregatedList@.+module Network.Google.Resource.Compute.Autoscalers.AggregatedList+ (+ -- * REST Resource+ AutoscalersAggregatedListResource++ -- * Creating a Request+ , autoscalersAggregatedList+ , AutoscalersAggregatedList++ -- * Request Lenses+ , autProject+ , autFilter+ , autPageToken+ , autMaxResults+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.autoscalers.aggregatedList@ method which the+-- 'AutoscalersAggregatedList' request conforms to.+type AutoscalersAggregatedListResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "aggregated" :>+ "autoscalers" :>+ QueryParam "filter" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] AutoscalerAggregatedList++-- | Retrieves the list of autoscalers grouped by scope.+--+-- /See:/ 'autoscalersAggregatedList' smart constructor.+data AutoscalersAggregatedList = AutoscalersAggregatedList+ { _autProject :: !Text+ , _autFilter :: !(Maybe Text)+ , _autPageToken :: !(Maybe Text)+ , _autMaxResults :: !(Textual Word32)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AutoscalersAggregatedList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'autProject'+--+-- * 'autFilter'+--+-- * 'autPageToken'+--+-- * 'autMaxResults'+autoscalersAggregatedList+ :: Text -- ^ 'autProject'+ -> AutoscalersAggregatedList+autoscalersAggregatedList pAutProject_ =+ AutoscalersAggregatedList+ { _autProject = pAutProject_+ , _autFilter = Nothing+ , _autPageToken = Nothing+ , _autMaxResults = 500+ }++-- | Name of the project scoping 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+-- 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.+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.+autPageToken :: Lens' AutoscalersAggregatedList (Maybe Text)+autPageToken+ = lens _autPageToken (\ s a -> s{_autPageToken = a})++-- | Maximum count of results to be returned.+autMaxResults :: Lens' AutoscalersAggregatedList Word32+autMaxResults+ = lens _autMaxResults+ (\ s a -> s{_autMaxResults = a})+ . _Coerce++instance GoogleRequest AutoscalersAggregatedList+ where+ type Rs AutoscalersAggregatedList =+ AutoscalerAggregatedList+ requestClient AutoscalersAggregatedList{..}+ = go _autProject _autFilter _autPageToken+ (Just _autMaxResults)+ (Just AltJSON)+ computeService+ where go+ = buildClient+ (Proxy :: Proxy AutoscalersAggregatedListResource)+ mempty
+ gen/Network/Google/Resource/Compute/Autoscalers/Delete.hs view
@@ -0,0 +1,109 @@+{-# 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.Autoscalers.Delete+-- 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)+--+-- Deletes the specified autoscaler resource.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.autoscalers.delete@.+module Network.Google.Resource.Compute.Autoscalers.Delete+ (+ -- * REST Resource+ AutoscalersDeleteResource++ -- * Creating a Request+ , autoscalersDelete+ , AutoscalersDelete++ -- * Request Lenses+ , adProject+ , adZone+ , adAutoscaler+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.autoscalers.delete@ method which the+-- 'AutoscalersDelete' request conforms to.+type AutoscalersDeleteResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "zones" :>+ Capture "zone" Text :>+ "autoscalers" :>+ Capture "autoscaler" Text :>+ QueryParam "alt" AltJSON :> Delete '[JSON] Operation++-- | Deletes the specified autoscaler resource.+--+-- /See:/ 'autoscalersDelete' smart constructor.+data AutoscalersDelete = AutoscalersDelete+ { _adProject :: !Text+ , _adZone :: !Text+ , _adAutoscaler :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AutoscalersDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'adProject'+--+-- * 'adZone'+--+-- * 'adAutoscaler'+autoscalersDelete+ :: Text -- ^ 'adProject'+ -> Text -- ^ 'adZone'+ -> Text -- ^ 'adAutoscaler'+ -> AutoscalersDelete+autoscalersDelete pAdProject_ pAdZone_ pAdAutoscaler_ =+ AutoscalersDelete+ { _adProject = pAdProject_+ , _adZone = pAdZone_+ , _adAutoscaler = pAdAutoscaler_+ }++-- | Name of the project scoping this request.+adProject :: Lens' AutoscalersDelete Text+adProject+ = lens _adProject (\ s a -> s{_adProject = a})++-- | Name of the zone scoping this request.+adZone :: Lens' AutoscalersDelete Text+adZone = lens _adZone (\ s a -> s{_adZone = a})++-- | Name of the persistent autoscaler resource to delete.+adAutoscaler :: Lens' AutoscalersDelete Text+adAutoscaler+ = lens _adAutoscaler (\ s a -> s{_adAutoscaler = a})++instance GoogleRequest AutoscalersDelete where+ type Rs AutoscalersDelete = Operation+ requestClient AutoscalersDelete{..}+ = go _adProject _adZone _adAutoscaler (Just AltJSON)+ computeService+ where go+ = buildClient+ (Proxy :: Proxy AutoscalersDeleteResource)+ mempty
+ gen/Network/Google/Resource/Compute/Autoscalers/Get.hs view
@@ -0,0 +1,108 @@+{-# 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.Autoscalers.Get+-- 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)+--+-- Returns the specified autoscaler resource.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.autoscalers.get@.+module Network.Google.Resource.Compute.Autoscalers.Get+ (+ -- * REST Resource+ AutoscalersGetResource++ -- * Creating a Request+ , autoscalersGet+ , AutoscalersGet++ -- * Request Lenses+ , agProject+ , agZone+ , agAutoscaler+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.autoscalers.get@ method which the+-- 'AutoscalersGet' request conforms to.+type AutoscalersGetResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "zones" :>+ Capture "zone" Text :>+ "autoscalers" :>+ Capture "autoscaler" Text :>+ QueryParam "alt" AltJSON :> Get '[JSON] Autoscaler++-- | Returns the specified autoscaler resource.+--+-- /See:/ 'autoscalersGet' smart constructor.+data AutoscalersGet = AutoscalersGet+ { _agProject :: !Text+ , _agZone :: !Text+ , _agAutoscaler :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AutoscalersGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'agProject'+--+-- * 'agZone'+--+-- * 'agAutoscaler'+autoscalersGet+ :: Text -- ^ 'agProject'+ -> Text -- ^ 'agZone'+ -> Text -- ^ 'agAutoscaler'+ -> AutoscalersGet+autoscalersGet pAgProject_ pAgZone_ pAgAutoscaler_ =+ AutoscalersGet+ { _agProject = pAgProject_+ , _agZone = pAgZone_+ , _agAutoscaler = pAgAutoscaler_+ }++-- | Name of the project scoping this request.+agProject :: Lens' AutoscalersGet Text+agProject+ = lens _agProject (\ s a -> s{_agProject = a})++-- | Name of the zone scoping this request.+agZone :: Lens' AutoscalersGet Text+agZone = lens _agZone (\ s a -> s{_agZone = a})++-- | Name of the persistent autoscaler resource to return.+agAutoscaler :: Lens' AutoscalersGet Text+agAutoscaler+ = lens _agAutoscaler (\ s a -> s{_agAutoscaler = a})++instance GoogleRequest AutoscalersGet where+ type Rs AutoscalersGet = Autoscaler+ requestClient AutoscalersGet{..}+ = go _agProject _agZone _agAutoscaler (Just AltJSON)+ computeService+ where go+ = buildClient (Proxy :: Proxy AutoscalersGetResource)+ mempty
+ gen/Network/Google/Resource/Compute/Autoscalers/Insert.hs view
@@ -0,0 +1,111 @@+{-# 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.Autoscalers.Insert+-- 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)+--+-- Creates an autoscaler 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.autoscalers.insert@.+module Network.Google.Resource.Compute.Autoscalers.Insert+ (+ -- * REST Resource+ AutoscalersInsertResource++ -- * Creating a Request+ , autoscalersInsert+ , AutoscalersInsert++ -- * Request Lenses+ , aiiProject+ , aiiZone+ , aiiPayload+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.autoscalers.insert@ method which the+-- 'AutoscalersInsert' request conforms to.+type AutoscalersInsertResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "zones" :>+ Capture "zone" Text :>+ "autoscalers" :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] Autoscaler :> Post '[JSON] Operation++-- | Creates an autoscaler resource in the specified project using the data+-- included in the request.+--+-- /See:/ 'autoscalersInsert' smart constructor.+data AutoscalersInsert = AutoscalersInsert+ { _aiiProject :: !Text+ , _aiiZone :: !Text+ , _aiiPayload :: !Autoscaler+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AutoscalersInsert' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aiiProject'+--+-- * 'aiiZone'+--+-- * 'aiiPayload'+autoscalersInsert+ :: Text -- ^ 'aiiProject'+ -> Text -- ^ 'aiiZone'+ -> Autoscaler -- ^ 'aiiPayload'+ -> AutoscalersInsert+autoscalersInsert pAiiProject_ pAiiZone_ pAiiPayload_ =+ AutoscalersInsert+ { _aiiProject = pAiiProject_+ , _aiiZone = pAiiZone_+ , _aiiPayload = pAiiPayload_+ }++-- | Name of the project scoping this request.+aiiProject :: Lens' AutoscalersInsert Text+aiiProject+ = lens _aiiProject (\ s a -> s{_aiiProject = a})++-- | Name of the zone scoping this request.+aiiZone :: Lens' AutoscalersInsert Text+aiiZone = lens _aiiZone (\ s a -> s{_aiiZone = a})++-- | Multipart request metadata.+aiiPayload :: Lens' AutoscalersInsert Autoscaler+aiiPayload+ = lens _aiiPayload (\ s a -> s{_aiiPayload = a})++instance GoogleRequest AutoscalersInsert where+ type Rs AutoscalersInsert = Operation+ requestClient AutoscalersInsert{..}+ = go _aiiProject _aiiZone (Just AltJSON) _aiiPayload+ computeService+ where go+ = buildClient+ (Proxy :: Proxy AutoscalersInsertResource)+ mempty
+ gen/Network/Google/Resource/Compute/Autoscalers/List.hs view
@@ -0,0 +1,146 @@+{-# 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.Autoscalers.List+-- 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)+--+-- Retrieves the list of autoscaler resources 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+ (+ -- * REST Resource+ AutoscalersListResource++ -- * Creating a Request+ , autoscalersList+ , AutoscalersList++ -- * Request Lenses+ , aProject+ , aZone+ , aFilter+ , aPageToken+ , aMaxResults+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.autoscalers.list@ method which the+-- 'AutoscalersList' request conforms to.+type AutoscalersListResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "zones" :>+ Capture "zone" Text :>+ "autoscalers" :>+ QueryParam "filter" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] AutoscalerList++-- | Retrieves the list of autoscaler resources contained within the+-- specified zone.+--+-- /See:/ 'autoscalersList' smart constructor.+data AutoscalersList = AutoscalersList+ { _aProject :: !Text+ , _aZone :: !Text+ , _aFilter :: !(Maybe Text)+ , _aPageToken :: !(Maybe Text)+ , _aMaxResults :: !(Textual Word32)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AutoscalersList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aProject'+--+-- * 'aZone'+--+-- * 'aFilter'+--+-- * 'aPageToken'+--+-- * 'aMaxResults'+autoscalersList+ :: Text -- ^ 'aProject'+ -> Text -- ^ 'aZone'+ -> AutoscalersList+autoscalersList pAProject_ pAZone_ =+ AutoscalersList+ { _aProject = pAProject_+ , _aZone = pAZone_+ , _aFilter = Nothing+ , _aPageToken = Nothing+ , _aMaxResults = 500+ }++-- | Name of the project scoping this request.+aProject :: Lens' AutoscalersList Text+aProject = lens _aProject (\ s a -> s{_aProject = a})++-- | Name of the zone scoping 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+-- 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.+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.+aPageToken :: Lens' AutoscalersList (Maybe Text)+aPageToken+ = lens _aPageToken (\ s a -> s{_aPageToken = a})++-- | Maximum count of results to be returned.+aMaxResults :: Lens' AutoscalersList Word32+aMaxResults+ = lens _aMaxResults (\ s a -> s{_aMaxResults = a}) .+ _Coerce++instance GoogleRequest AutoscalersList where+ type Rs AutoscalersList = AutoscalerList+ requestClient AutoscalersList{..}+ = go _aProject _aZone _aFilter _aPageToken+ (Just _aMaxResults)+ (Just AltJSON)+ computeService+ where go+ = buildClient+ (Proxy :: Proxy AutoscalersListResource)+ mempty
+ gen/Network/Google/Resource/Compute/Autoscalers/Patch.hs view
@@ -0,0 +1,125 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.Compute.Autoscalers.Patch+-- 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)+--+-- Updates an autoscaler resource in the specified project using the data+-- included in the request. This method supports patch semantics.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.autoscalers.patch@.+module Network.Google.Resource.Compute.Autoscalers.Patch+ (+ -- * REST Resource+ AutoscalersPatchResource++ -- * Creating a Request+ , autoscalersPatch+ , AutoscalersPatch++ -- * Request Lenses+ , apProject+ , apZone+ , apPayload+ , apAutoscaler+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.autoscalers.patch@ method which the+-- 'AutoscalersPatch' request conforms to.+type AutoscalersPatchResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "zones" :>+ Capture "zone" Text :>+ "autoscalers" :>+ QueryParam "autoscaler" Text :>+ 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.+--+-- /See:/ 'autoscalersPatch' smart constructor.+data AutoscalersPatch = AutoscalersPatch+ { _apProject :: !Text+ , _apZone :: !Text+ , _apPayload :: !Autoscaler+ , _apAutoscaler :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AutoscalersPatch' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'apProject'+--+-- * 'apZone'+--+-- * 'apPayload'+--+-- * 'apAutoscaler'+autoscalersPatch+ :: Text -- ^ 'apProject'+ -> Text -- ^ 'apZone'+ -> Autoscaler -- ^ 'apPayload'+ -> Text -- ^ 'apAutoscaler'+ -> AutoscalersPatch+autoscalersPatch pApProject_ pApZone_ pApPayload_ pApAutoscaler_ =+ AutoscalersPatch+ { _apProject = pApProject_+ , _apZone = pApZone_+ , _apPayload = pApPayload_+ , _apAutoscaler = pApAutoscaler_+ }++-- | Name of the project scoping this request.+apProject :: Lens' AutoscalersPatch Text+apProject+ = lens _apProject (\ s a -> s{_apProject = a})++-- | Name of the zone scoping this request.+apZone :: Lens' AutoscalersPatch Text+apZone = lens _apZone (\ s a -> s{_apZone = a})++-- | Multipart request metadata.+apPayload :: Lens' AutoscalersPatch Autoscaler+apPayload+ = lens _apPayload (\ s a -> s{_apPayload = a})++-- | Name of the autoscaler resource to update.+apAutoscaler :: Lens' AutoscalersPatch Text+apAutoscaler+ = lens _apAutoscaler (\ s a -> s{_apAutoscaler = a})++instance GoogleRequest AutoscalersPatch where+ type Rs AutoscalersPatch = Operation+ requestClient AutoscalersPatch{..}+ = go _apProject _apZone (Just _apAutoscaler)+ (Just AltJSON)+ _apPayload+ computeService+ where go+ = buildClient+ (Proxy :: Proxy AutoscalersPatchResource)+ mempty
+ gen/Network/Google/Resource/Compute/Autoscalers/Update.hs view
@@ -0,0 +1,123 @@+{-# 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.Autoscalers.Update+-- 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)+--+-- Updates an autoscaler 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.autoscalers.update@.+module Network.Google.Resource.Compute.Autoscalers.Update+ (+ -- * REST Resource+ AutoscalersUpdateResource++ -- * Creating a Request+ , autoscalersUpdate+ , AutoscalersUpdate++ -- * Request Lenses+ , auProject+ , auZone+ , auPayload+ , auAutoscaler+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.autoscalers.update@ method which the+-- 'AutoscalersUpdate' request conforms to.+type AutoscalersUpdateResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "zones" :>+ Capture "zone" Text :>+ "autoscalers" :>+ QueryParam "autoscaler" Text :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] Autoscaler :> Put '[JSON] Operation++-- | Updates an autoscaler resource in the specified project using the data+-- included in the request.+--+-- /See:/ 'autoscalersUpdate' smart constructor.+data AutoscalersUpdate = AutoscalersUpdate+ { _auProject :: !Text+ , _auZone :: !Text+ , _auPayload :: !Autoscaler+ , _auAutoscaler :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AutoscalersUpdate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'auProject'+--+-- * 'auZone'+--+-- * 'auPayload'+--+-- * 'auAutoscaler'+autoscalersUpdate+ :: Text -- ^ 'auProject'+ -> Text -- ^ 'auZone'+ -> Autoscaler -- ^ 'auPayload'+ -> AutoscalersUpdate+autoscalersUpdate pAuProject_ pAuZone_ pAuPayload_ =+ AutoscalersUpdate+ { _auProject = pAuProject_+ , _auZone = pAuZone_+ , _auPayload = pAuPayload_+ , _auAutoscaler = Nothing+ }++-- | Name of the project scoping this request.+auProject :: Lens' AutoscalersUpdate Text+auProject+ = lens _auProject (\ s a -> s{_auProject = a})++-- | Name of the zone scoping this request.+auZone :: Lens' AutoscalersUpdate Text+auZone = lens _auZone (\ s a -> s{_auZone = a})++-- | Multipart request metadata.+auPayload :: Lens' AutoscalersUpdate Autoscaler+auPayload+ = lens _auPayload (\ s a -> s{_auPayload = a})++-- | Name of the autoscaler resource 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{..}+ = go _auProject _auZone _auAutoscaler (Just AltJSON)+ _auPayload+ computeService+ where go+ = buildClient+ (Proxy :: Proxy AutoscalersUpdateResource)+ mempty
+ gen/Network/Google/Resource/Compute/BackendServices/Delete.hs view
@@ -0,0 +1,99 @@+{-# 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.BackendServices.Delete+-- 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)+--+-- Deletes the specified BackendService resource.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.backendServices.delete@.+module Network.Google.Resource.Compute.BackendServices.Delete+ (+ -- * REST Resource+ BackendServicesDeleteResource++ -- * Creating a Request+ , backendServicesDelete+ , BackendServicesDelete++ -- * Request Lenses+ , bsdProject+ , bsdBackendService+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.backendServices.delete@ method which the+-- 'BackendServicesDelete' request conforms to.+type BackendServicesDeleteResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "global" :>+ "backendServices" :>+ Capture "backendService" Text :>+ QueryParam "alt" AltJSON :> Delete '[JSON] Operation++-- | Deletes the specified BackendService resource.+--+-- /See:/ 'backendServicesDelete' smart constructor.+data BackendServicesDelete = BackendServicesDelete+ { _bsdProject :: !Text+ , _bsdBackendService :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'BackendServicesDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bsdProject'+--+-- * 'bsdBackendService'+backendServicesDelete+ :: Text -- ^ 'bsdProject'+ -> Text -- ^ 'bsdBackendService'+ -> BackendServicesDelete+backendServicesDelete pBsdProject_ pBsdBackendService_ =+ BackendServicesDelete+ { _bsdProject = pBsdProject_+ , _bsdBackendService = pBsdBackendService_+ }++-- | Name of the project scoping this request.+bsdProject :: Lens' BackendServicesDelete Text+bsdProject+ = lens _bsdProject (\ s a -> s{_bsdProject = a})++-- | Name of the BackendService resource to delete.+bsdBackendService :: Lens' BackendServicesDelete Text+bsdBackendService+ = lens _bsdBackendService+ (\ s a -> s{_bsdBackendService = a})++instance GoogleRequest BackendServicesDelete where+ type Rs BackendServicesDelete = Operation+ requestClient BackendServicesDelete{..}+ = go _bsdProject _bsdBackendService (Just AltJSON)+ computeService+ where go+ = buildClient+ (Proxy :: Proxy BackendServicesDeleteResource)+ mempty
+ gen/Network/Google/Resource/Compute/BackendServices/Get.hs view
@@ -0,0 +1,100 @@+{-# 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.BackendServices.Get+-- 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)+--+-- Returns the specified BackendService resource.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.backendServices.get@.+module Network.Google.Resource.Compute.BackendServices.Get+ (+ -- * REST Resource+ BackendServicesGetResource++ -- * Creating a Request+ , backendServicesGet+ , BackendServicesGet++ -- * Request Lenses+ , bsgProject+ , bsgBackendService+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.backendServices.get@ method which the+-- 'BackendServicesGet' request conforms to.+type BackendServicesGetResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "global" :>+ "backendServices" :>+ Capture "backendService" Text :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] BackendService++-- | Returns the specified BackendService resource.+--+-- /See:/ 'backendServicesGet' smart constructor.+data BackendServicesGet = BackendServicesGet+ { _bsgProject :: !Text+ , _bsgBackendService :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'BackendServicesGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bsgProject'+--+-- * 'bsgBackendService'+backendServicesGet+ :: Text -- ^ 'bsgProject'+ -> Text -- ^ 'bsgBackendService'+ -> BackendServicesGet+backendServicesGet pBsgProject_ pBsgBackendService_ =+ BackendServicesGet+ { _bsgProject = pBsgProject_+ , _bsgBackendService = pBsgBackendService_+ }++-- | Name of the project scoping this request.+bsgProject :: Lens' BackendServicesGet Text+bsgProject+ = lens _bsgProject (\ s a -> s{_bsgProject = a})++-- | Name of the BackendService resource to return.+bsgBackendService :: Lens' BackendServicesGet Text+bsgBackendService+ = lens _bsgBackendService+ (\ s a -> s{_bsgBackendService = a})++instance GoogleRequest BackendServicesGet where+ type Rs BackendServicesGet = BackendService+ requestClient BackendServicesGet{..}+ = go _bsgProject _bsgBackendService (Just AltJSON)+ computeService+ where go+ = buildClient+ (Proxy :: Proxy BackendServicesGetResource)+ mempty
+ gen/Network/Google/Resource/Compute/BackendServices/GetHealth.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.BackendServices.GetHealth+-- 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)+--+-- Gets the most recent health check results for this BackendService.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.backendServices.getHealth@.+module Network.Google.Resource.Compute.BackendServices.GetHealth+ (+ -- * REST Resource+ BackendServicesGetHealthResource++ -- * Creating a Request+ , backendServicesGetHealth+ , BackendServicesGetHealth++ -- * Request Lenses+ , bsghProject+ , bsghPayload+ , bsghBackendService+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.backendServices.getHealth@ method which the+-- 'BackendServicesGetHealth' request conforms to.+type BackendServicesGetHealthResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "global" :>+ "backendServices" :>+ Capture "backendService" Text :>+ "getHealth" :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] ResourceGroupReference :>+ Post '[JSON] BackendServiceGroupHealth++-- | Gets the most recent health check results for this BackendService.+--+-- /See:/ 'backendServicesGetHealth' smart constructor.+data BackendServicesGetHealth = BackendServicesGetHealth+ { _bsghProject :: !Text+ , _bsghPayload :: !ResourceGroupReference+ , _bsghBackendService :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'BackendServicesGetHealth' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bsghProject'+--+-- * 'bsghPayload'+--+-- * 'bsghBackendService'+backendServicesGetHealth+ :: Text -- ^ 'bsghProject'+ -> ResourceGroupReference -- ^ 'bsghPayload'+ -> Text -- ^ 'bsghBackendService'+ -> BackendServicesGetHealth+backendServicesGetHealth pBsghProject_ pBsghPayload_ pBsghBackendService_ =+ BackendServicesGetHealth+ { _bsghProject = pBsghProject_+ , _bsghPayload = pBsghPayload_+ , _bsghBackendService = pBsghBackendService_+ }++bsghProject :: Lens' BackendServicesGetHealth Text+bsghProject+ = lens _bsghProject (\ s a -> s{_bsghProject = a})++-- | Multipart request metadata.+bsghPayload :: Lens' BackendServicesGetHealth ResourceGroupReference+bsghPayload+ = lens _bsghPayload (\ s a -> s{_bsghPayload = a})++-- | Name of the BackendService resource to which the queried instance+-- belongs.+bsghBackendService :: Lens' BackendServicesGetHealth Text+bsghBackendService+ = lens _bsghBackendService+ (\ s a -> s{_bsghBackendService = a})++instance GoogleRequest BackendServicesGetHealth where+ type Rs BackendServicesGetHealth =+ BackendServiceGroupHealth+ requestClient BackendServicesGetHealth{..}+ = go _bsghProject _bsghBackendService (Just AltJSON)+ _bsghPayload+ computeService+ where go+ = buildClient+ (Proxy :: Proxy BackendServicesGetHealthResource)+ mempty
+ gen/Network/Google/Resource/Compute/BackendServices/Insert.hs view
@@ -0,0 +1,101 @@+{-# 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.BackendServices.Insert+-- 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)+--+-- Creates a BackendService 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.backendServices.insert@.+module Network.Google.Resource.Compute.BackendServices.Insert+ (+ -- * REST Resource+ BackendServicesInsertResource++ -- * Creating a Request+ , backendServicesInsert+ , BackendServicesInsert++ -- * Request Lenses+ , bsiProject+ , bsiPayload+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.backendServices.insert@ method which the+-- 'BackendServicesInsert' request conforms to.+type BackendServicesInsertResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "global" :>+ "backendServices" :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] BackendService :>+ Post '[JSON] Operation++-- | Creates a BackendService resource in the specified project using the+-- data included in the request.+--+-- /See:/ 'backendServicesInsert' smart constructor.+data BackendServicesInsert = BackendServicesInsert+ { _bsiProject :: !Text+ , _bsiPayload :: !BackendService+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'BackendServicesInsert' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bsiProject'+--+-- * 'bsiPayload'+backendServicesInsert+ :: Text -- ^ 'bsiProject'+ -> BackendService -- ^ 'bsiPayload'+ -> BackendServicesInsert+backendServicesInsert pBsiProject_ pBsiPayload_ =+ BackendServicesInsert+ { _bsiProject = pBsiProject_+ , _bsiPayload = pBsiPayload_+ }++-- | Name of the project scoping this request.+bsiProject :: Lens' BackendServicesInsert Text+bsiProject+ = lens _bsiProject (\ s a -> s{_bsiProject = a})++-- | Multipart request metadata.+bsiPayload :: Lens' BackendServicesInsert BackendService+bsiPayload+ = lens _bsiPayload (\ s a -> s{_bsiPayload = a})++instance GoogleRequest BackendServicesInsert where+ type Rs BackendServicesInsert = Operation+ requestClient BackendServicesInsert{..}+ = go _bsiProject (Just AltJSON) _bsiPayload+ computeService+ where go+ = buildClient+ (Proxy :: Proxy BackendServicesInsertResource)+ mempty
+ gen/Network/Google/Resource/Compute/BackendServices/List.hs view
@@ -0,0 +1,138 @@+{-# 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.BackendServices.List+-- 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)+--+-- Retrieves the list of BackendService resources available to the+-- specified project.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.backendServices.list@.+module Network.Google.Resource.Compute.BackendServices.List+ (+ -- * REST Resource+ BackendServicesListResource++ -- * Creating a Request+ , backendServicesList+ , BackendServicesList++ -- * Request Lenses+ , bslProject+ , bslFilter+ , bslPageToken+ , bslMaxResults+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.backendServices.list@ method which the+-- 'BackendServicesList' request conforms to.+type BackendServicesListResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "global" :>+ "backendServices" :>+ QueryParam "filter" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] BackendServiceList++-- | Retrieves the list of BackendService resources available to the+-- specified project.+--+-- /See:/ 'backendServicesList' smart constructor.+data BackendServicesList = BackendServicesList+ { _bslProject :: !Text+ , _bslFilter :: !(Maybe Text)+ , _bslPageToken :: !(Maybe Text)+ , _bslMaxResults :: !(Textual Word32)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'BackendServicesList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bslProject'+--+-- * 'bslFilter'+--+-- * 'bslPageToken'+--+-- * 'bslMaxResults'+backendServicesList+ :: Text -- ^ 'bslProject'+ -> BackendServicesList+backendServicesList pBslProject_ =+ BackendServicesList+ { _bslProject = pBslProject_+ , _bslFilter = Nothing+ , _bslPageToken = Nothing+ , _bslMaxResults = 500+ }++-- | Name of the project scoping 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+-- 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.+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.+bslPageToken :: Lens' BackendServicesList (Maybe Text)+bslPageToken+ = lens _bslPageToken (\ s a -> s{_bslPageToken = a})++-- | Maximum count of results to be returned.+bslMaxResults :: Lens' BackendServicesList Word32+bslMaxResults+ = lens _bslMaxResults+ (\ s a -> s{_bslMaxResults = a})+ . _Coerce++instance GoogleRequest BackendServicesList where+ type Rs BackendServicesList = BackendServiceList+ requestClient BackendServicesList{..}+ = go _bslProject _bslFilter _bslPageToken+ (Just _bslMaxResults)+ (Just AltJSON)+ computeService+ where go+ = buildClient+ (Proxy :: Proxy BackendServicesListResource)+ mempty
+ gen/Network/Google/Resource/Compute/BackendServices/Patch.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.BackendServices.Patch+-- 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)+--+-- Update the entire content of the BackendService resource. 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+ (+ -- * REST Resource+ BackendServicesPatchResource++ -- * Creating a Request+ , backendServicesPatch+ , BackendServicesPatch++ -- * Request Lenses+ , bspProject+ , bspPayload+ , bspBackendService+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.backendServices.patch@ method which the+-- 'BackendServicesPatch' request conforms to.+type BackendServicesPatchResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "global" :>+ "backendServices" :>+ Capture "backendService" Text :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] BackendService :>+ Patch '[JSON] Operation++-- | Update the entire content of the BackendService resource. This method+-- supports patch semantics.+--+-- /See:/ 'backendServicesPatch' smart constructor.+data BackendServicesPatch = BackendServicesPatch+ { _bspProject :: !Text+ , _bspPayload :: !BackendService+ , _bspBackendService :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'BackendServicesPatch' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bspProject'+--+-- * 'bspPayload'+--+-- * 'bspBackendService'+backendServicesPatch+ :: Text -- ^ 'bspProject'+ -> BackendService -- ^ 'bspPayload'+ -> Text -- ^ 'bspBackendService'+ -> BackendServicesPatch+backendServicesPatch pBspProject_ pBspPayload_ pBspBackendService_ =+ BackendServicesPatch+ { _bspProject = pBspProject_+ , _bspPayload = pBspPayload_+ , _bspBackendService = pBspBackendService_+ }++-- | Name of the project scoping this request.+bspProject :: Lens' BackendServicesPatch Text+bspProject+ = lens _bspProject (\ s a -> s{_bspProject = a})++-- | Multipart request metadata.+bspPayload :: Lens' BackendServicesPatch BackendService+bspPayload+ = lens _bspPayload (\ s a -> s{_bspPayload = a})++-- | Name of the BackendService resource to update.+bspBackendService :: Lens' BackendServicesPatch Text+bspBackendService+ = lens _bspBackendService+ (\ s a -> s{_bspBackendService = a})++instance GoogleRequest BackendServicesPatch where+ type Rs BackendServicesPatch = Operation+ requestClient BackendServicesPatch{..}+ = go _bspProject _bspBackendService (Just AltJSON)+ _bspPayload+ computeService+ where go+ = buildClient+ (Proxy :: Proxy BackendServicesPatchResource)+ mempty
+ gen/Network/Google/Resource/Compute/BackendServices/Update.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.BackendServices.Update+-- 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)+--+-- Update the entire content of the BackendService resource.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.backendServices.update@.+module Network.Google.Resource.Compute.BackendServices.Update+ (+ -- * REST Resource+ BackendServicesUpdateResource++ -- * Creating a Request+ , backendServicesUpdate+ , BackendServicesUpdate++ -- * Request Lenses+ , bsuProject+ , bsuPayload+ , bsuBackendService+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.backendServices.update@ method which the+-- 'BackendServicesUpdate' request conforms to.+type BackendServicesUpdateResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "global" :>+ "backendServices" :>+ Capture "backendService" Text :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] BackendService :>+ Put '[JSON] Operation++-- | Update the entire content of the BackendService resource.+--+-- /See:/ 'backendServicesUpdate' smart constructor.+data BackendServicesUpdate = BackendServicesUpdate+ { _bsuProject :: !Text+ , _bsuPayload :: !BackendService+ , _bsuBackendService :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'BackendServicesUpdate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bsuProject'+--+-- * 'bsuPayload'+--+-- * 'bsuBackendService'+backendServicesUpdate+ :: Text -- ^ 'bsuProject'+ -> BackendService -- ^ 'bsuPayload'+ -> Text -- ^ 'bsuBackendService'+ -> BackendServicesUpdate+backendServicesUpdate pBsuProject_ pBsuPayload_ pBsuBackendService_ =+ BackendServicesUpdate+ { _bsuProject = pBsuProject_+ , _bsuPayload = pBsuPayload_+ , _bsuBackendService = pBsuBackendService_+ }++-- | Name of the project scoping this request.+bsuProject :: Lens' BackendServicesUpdate Text+bsuProject+ = lens _bsuProject (\ s a -> s{_bsuProject = a})++-- | Multipart request metadata.+bsuPayload :: Lens' BackendServicesUpdate BackendService+bsuPayload+ = lens _bsuPayload (\ s a -> s{_bsuPayload = a})++-- | Name of the BackendService resource to update.+bsuBackendService :: Lens' BackendServicesUpdate Text+bsuBackendService+ = lens _bsuBackendService+ (\ s a -> s{_bsuBackendService = a})++instance GoogleRequest BackendServicesUpdate where+ type Rs BackendServicesUpdate = Operation+ requestClient BackendServicesUpdate{..}+ = go _bsuProject _bsuBackendService (Just AltJSON)+ _bsuPayload+ computeService+ where go+ = buildClient+ (Proxy :: Proxy BackendServicesUpdateResource)+ mempty
+ gen/Network/Google/Resource/Compute/DiskTypes/AggregatedList.hs view
@@ -0,0 +1,138 @@+{-# 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.DiskTypes.AggregatedList+-- 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)+--+-- Retrieves the list of disk type resources grouped by scope.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.diskTypes.aggregatedList@.+module Network.Google.Resource.Compute.DiskTypes.AggregatedList+ (+ -- * REST Resource+ DiskTypesAggregatedListResource++ -- * Creating a Request+ , diskTypesAggregatedList+ , DiskTypesAggregatedList++ -- * Request Lenses+ , dtalProject+ , dtalFilter+ , dtalPageToken+ , dtalMaxResults+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.diskTypes.aggregatedList@ method which the+-- 'DiskTypesAggregatedList' request conforms to.+type DiskTypesAggregatedListResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "aggregated" :>+ "diskTypes" :>+ QueryParam "filter" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] DiskTypeAggregatedList++-- | Retrieves the list of disk type resources grouped by scope.+--+-- /See:/ 'diskTypesAggregatedList' smart constructor.+data DiskTypesAggregatedList = DiskTypesAggregatedList+ { _dtalProject :: !Text+ , _dtalFilter :: !(Maybe Text)+ , _dtalPageToken :: !(Maybe Text)+ , _dtalMaxResults :: !(Textual Word32)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DiskTypesAggregatedList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dtalProject'+--+-- * 'dtalFilter'+--+-- * 'dtalPageToken'+--+-- * 'dtalMaxResults'+diskTypesAggregatedList+ :: Text -- ^ 'dtalProject'+ -> DiskTypesAggregatedList+diskTypesAggregatedList pDtalProject_ =+ DiskTypesAggregatedList+ { _dtalProject = pDtalProject_+ , _dtalFilter = Nothing+ , _dtalPageToken = Nothing+ , _dtalMaxResults = 500+ }++-- | Project ID for this request.+dtalProject :: Lens' DiskTypesAggregatedList Text+dtalProject+ = 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+-- 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.+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.+dtalPageToken :: Lens' DiskTypesAggregatedList (Maybe Text)+dtalPageToken+ = lens _dtalPageToken+ (\ s a -> s{_dtalPageToken = a})++-- | Maximum count of results to be returned.+dtalMaxResults :: Lens' DiskTypesAggregatedList Word32+dtalMaxResults+ = lens _dtalMaxResults+ (\ s a -> s{_dtalMaxResults = a})+ . _Coerce++instance GoogleRequest DiskTypesAggregatedList where+ type Rs DiskTypesAggregatedList =+ DiskTypeAggregatedList+ requestClient DiskTypesAggregatedList{..}+ = go _dtalProject _dtalFilter _dtalPageToken+ (Just _dtalMaxResults)+ (Just AltJSON)+ computeService+ where go+ = buildClient+ (Proxy :: Proxy DiskTypesAggregatedListResource)+ mempty
+ gen/Network/Google/Resource/Compute/DiskTypes/Get.hs view
@@ -0,0 +1,108 @@+{-# 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.DiskTypes.Get+-- 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)+--+-- Returns the specified disk type resource.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.diskTypes.get@.+module Network.Google.Resource.Compute.DiskTypes.Get+ (+ -- * REST Resource+ DiskTypesGetResource++ -- * Creating a Request+ , diskTypesGet+ , DiskTypesGet++ -- * Request Lenses+ , dtgProject+ , dtgZone+ , dtgDiskType+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.diskTypes.get@ method which the+-- 'DiskTypesGet' request conforms to.+type DiskTypesGetResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "zones" :>+ Capture "zone" Text :>+ "diskTypes" :>+ Capture "diskType" Text :>+ QueryParam "alt" AltJSON :> Get '[JSON] DiskType++-- | Returns the specified disk type resource.+--+-- /See:/ 'diskTypesGet' smart constructor.+data DiskTypesGet = DiskTypesGet+ { _dtgProject :: !Text+ , _dtgZone :: !Text+ , _dtgDiskType :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DiskTypesGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dtgProject'+--+-- * 'dtgZone'+--+-- * 'dtgDiskType'+diskTypesGet+ :: Text -- ^ 'dtgProject'+ -> Text -- ^ 'dtgZone'+ -> Text -- ^ 'dtgDiskType'+ -> DiskTypesGet+diskTypesGet pDtgProject_ pDtgZone_ pDtgDiskType_ =+ DiskTypesGet+ { _dtgProject = pDtgProject_+ , _dtgZone = pDtgZone_+ , _dtgDiskType = pDtgDiskType_+ }++-- | Project ID for this request.+dtgProject :: Lens' DiskTypesGet Text+dtgProject+ = lens _dtgProject (\ s a -> s{_dtgProject = a})++-- | The name of the zone for this request.+dtgZone :: Lens' DiskTypesGet Text+dtgZone = lens _dtgZone (\ s a -> s{_dtgZone = a})++-- | Name of the disk type resource to return.+dtgDiskType :: Lens' DiskTypesGet Text+dtgDiskType+ = lens _dtgDiskType (\ s a -> s{_dtgDiskType = a})++instance GoogleRequest DiskTypesGet where+ type Rs DiskTypesGet = DiskType+ requestClient DiskTypesGet{..}+ = go _dtgProject _dtgZone _dtgDiskType (Just AltJSON)+ computeService+ where go+ = buildClient (Proxy :: Proxy DiskTypesGetResource)+ mempty
+ gen/Network/Google/Resource/Compute/DiskTypes/List.hs view
@@ -0,0 +1,147 @@+{-# 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.DiskTypes.List+-- 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)+--+-- Retrieves the list of disk type resources 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+ (+ -- * REST Resource+ DiskTypesListResource++ -- * Creating a Request+ , diskTypesList+ , DiskTypesList++ -- * Request Lenses+ , dtlProject+ , dtlZone+ , dtlFilter+ , dtlPageToken+ , dtlMaxResults+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.diskTypes.list@ method which the+-- 'DiskTypesList' request conforms to.+type DiskTypesListResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "zones" :>+ Capture "zone" Text :>+ "diskTypes" :>+ QueryParam "filter" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :> Get '[JSON] DiskTypeList++-- | Retrieves the list of disk type resources available to the specified+-- project.+--+-- /See:/ 'diskTypesList' smart constructor.+data DiskTypesList = DiskTypesList+ { _dtlProject :: !Text+ , _dtlZone :: !Text+ , _dtlFilter :: !(Maybe Text)+ , _dtlPageToken :: !(Maybe Text)+ , _dtlMaxResults :: !(Textual Word32)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DiskTypesList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dtlProject'+--+-- * 'dtlZone'+--+-- * 'dtlFilter'+--+-- * 'dtlPageToken'+--+-- * 'dtlMaxResults'+diskTypesList+ :: Text -- ^ 'dtlProject'+ -> Text -- ^ 'dtlZone'+ -> DiskTypesList+diskTypesList pDtlProject_ pDtlZone_ =+ DiskTypesList+ { _dtlProject = pDtlProject_+ , _dtlZone = pDtlZone_+ , _dtlFilter = Nothing+ , _dtlPageToken = Nothing+ , _dtlMaxResults = 500+ }++-- | Project ID for this request.+dtlProject :: Lens' DiskTypesList Text+dtlProject+ = lens _dtlProject (\ s a -> s{_dtlProject = a})++-- | The name of the zone for this request.+dtlZone :: Lens' DiskTypesList Text+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+-- 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.+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.+dtlPageToken :: Lens' DiskTypesList (Maybe Text)+dtlPageToken+ = lens _dtlPageToken (\ s a -> s{_dtlPageToken = a})++-- | Maximum count of results to be returned.+dtlMaxResults :: Lens' DiskTypesList Word32+dtlMaxResults+ = lens _dtlMaxResults+ (\ s a -> s{_dtlMaxResults = a})+ . _Coerce++instance GoogleRequest DiskTypesList where+ type Rs DiskTypesList = DiskTypeList+ requestClient DiskTypesList{..}+ = go _dtlProject _dtlZone _dtlFilter _dtlPageToken+ (Just _dtlMaxResults)+ (Just AltJSON)+ computeService+ where go+ = buildClient (Proxy :: Proxy DiskTypesListResource)+ mempty
+ gen/Network/Google/Resource/Compute/Disks/AggregatedList.hs view
@@ -0,0 +1,136 @@+{-# 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.AggregatedList+-- 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)+--+-- Retrieves the list of disks grouped by scope.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.disks.aggregatedList@.+module Network.Google.Resource.Compute.Disks.AggregatedList+ (+ -- * REST Resource+ DisksAggregatedListResource++ -- * Creating a Request+ , disksAggregatedList+ , DisksAggregatedList++ -- * Request Lenses+ , dalProject+ , dalFilter+ , dalPageToken+ , dalMaxResults+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.disks.aggregatedList@ method which the+-- 'DisksAggregatedList' request conforms to.+type DisksAggregatedListResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "aggregated" :>+ "disks" :>+ QueryParam "filter" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] DiskAggregatedList++-- | Retrieves the list of disks grouped by scope.+--+-- /See:/ 'disksAggregatedList' smart constructor.+data DisksAggregatedList = DisksAggregatedList+ { _dalProject :: !Text+ , _dalFilter :: !(Maybe Text)+ , _dalPageToken :: !(Maybe Text)+ , _dalMaxResults :: !(Textual Word32)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DisksAggregatedList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dalProject'+--+-- * 'dalFilter'+--+-- * 'dalPageToken'+--+-- * 'dalMaxResults'+disksAggregatedList+ :: Text -- ^ 'dalProject'+ -> DisksAggregatedList+disksAggregatedList pDalProject_ =+ DisksAggregatedList+ { _dalProject = pDalProject_+ , _dalFilter = Nothing+ , _dalPageToken = Nothing+ , _dalMaxResults = 500+ }++-- | Project ID for this request.+dalProject :: Lens' DisksAggregatedList Text+dalProject+ = 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+-- 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.+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.+dalPageToken :: Lens' DisksAggregatedList (Maybe Text)+dalPageToken+ = lens _dalPageToken (\ s a -> s{_dalPageToken = a})++-- | Maximum count of results to be returned.+dalMaxResults :: Lens' DisksAggregatedList Word32+dalMaxResults+ = lens _dalMaxResults+ (\ s a -> s{_dalMaxResults = a})+ . _Coerce++instance GoogleRequest DisksAggregatedList where+ type Rs DisksAggregatedList = DiskAggregatedList+ requestClient DisksAggregatedList{..}+ = go _dalProject _dalFilter _dalPageToken+ (Just _dalMaxResults)+ (Just AltJSON)+ computeService+ where go+ = buildClient+ (Proxy :: Proxy DisksAggregatedListResource)+ mempty
+ gen/Network/Google/Resource/Compute/Disks/CreateSnapshot.hs view
@@ -0,0 +1,122 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.Compute.Disks.CreateSnapshot+-- 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)+--+-- Creates a snapshot of this 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+ (+ -- * REST Resource+ DisksCreateSnapshotResource++ -- * Creating a Request+ , disksCreateSnapshot+ , DisksCreateSnapshot++ -- * Request Lenses+ , dcsProject+ , dcsDisk+ , dcsZone+ , dcsPayload+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.disks.createSnapshot@ method which the+-- 'DisksCreateSnapshot' request conforms to.+type DisksCreateSnapshotResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "zones" :>+ Capture "zone" Text :>+ "disks" :>+ Capture "disk" Text :>+ "createSnapshot" :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] Snapshot :> Post '[JSON] Operation++-- | Creates a snapshot of this disk.+--+-- /See:/ 'disksCreateSnapshot' smart constructor.+data DisksCreateSnapshot = DisksCreateSnapshot+ { _dcsProject :: !Text+ , _dcsDisk :: !Text+ , _dcsZone :: !Text+ , _dcsPayload :: !Snapshot+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DisksCreateSnapshot' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dcsProject'+--+-- * 'dcsDisk'+--+-- * 'dcsZone'+--+-- * 'dcsPayload'+disksCreateSnapshot+ :: Text -- ^ 'dcsProject'+ -> Text -- ^ 'dcsDisk'+ -> Text -- ^ 'dcsZone'+ -> Snapshot -- ^ 'dcsPayload'+ -> DisksCreateSnapshot+disksCreateSnapshot pDcsProject_ pDcsDisk_ pDcsZone_ pDcsPayload_ =+ DisksCreateSnapshot+ { _dcsProject = pDcsProject_+ , _dcsDisk = pDcsDisk_+ , _dcsZone = pDcsZone_+ , _dcsPayload = pDcsPayload_+ }++-- | Project ID for this request.+dcsProject :: Lens' DisksCreateSnapshot Text+dcsProject+ = lens _dcsProject (\ s a -> s{_dcsProject = a})++-- | Name of the persistent disk to snapshot.+dcsDisk :: Lens' DisksCreateSnapshot Text+dcsDisk = lens _dcsDisk (\ s a -> s{_dcsDisk = a})++-- | The name of the zone for this request.+dcsZone :: Lens' DisksCreateSnapshot Text+dcsZone = lens _dcsZone (\ s a -> s{_dcsZone = a})++-- | Multipart request metadata.+dcsPayload :: Lens' DisksCreateSnapshot Snapshot+dcsPayload+ = lens _dcsPayload (\ s a -> s{_dcsPayload = a})++instance GoogleRequest DisksCreateSnapshot where+ type Rs DisksCreateSnapshot = Operation+ requestClient DisksCreateSnapshot{..}+ = go _dcsProject _dcsZone _dcsDisk (Just AltJSON)+ _dcsPayload+ computeService+ where go+ = buildClient+ (Proxy :: Proxy DisksCreateSnapshotResource)+ mempty
+ gen/Network/Google/Resource/Compute/Disks/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.Disks.Delete+-- 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)+--+-- Deletes the specified persistent disk. Deleting a disk removes its data+-- permanently and is irreversible. However, deleting a disk does not+-- delete any snapshots previously made from the disk. You must separately+-- delete snapshots.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.disks.delete@.+module Network.Google.Resource.Compute.Disks.Delete+ (+ -- * REST Resource+ DisksDeleteResource++ -- * Creating a Request+ , disksDelete+ , DisksDelete++ -- * Request Lenses+ , ddProject+ , ddDisk+ , ddZone+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.disks.delete@ method which the+-- 'DisksDelete' request conforms to.+type DisksDeleteResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "zones" :>+ Capture "zone" Text :>+ "disks" :>+ Capture "disk" Text :>+ QueryParam "alt" AltJSON :> Delete '[JSON] Operation++-- | Deletes the specified persistent disk. Deleting a disk removes its data+-- permanently and is irreversible. However, deleting a disk does not+-- delete any snapshots previously made from the disk. You must separately+-- delete snapshots.+--+-- /See:/ 'disksDelete' smart constructor.+data DisksDelete = DisksDelete+ { _ddProject :: !Text+ , _ddDisk :: !Text+ , _ddZone :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DisksDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ddProject'+--+-- * 'ddDisk'+--+-- * 'ddZone'+disksDelete+ :: Text -- ^ 'ddProject'+ -> Text -- ^ 'ddDisk'+ -> Text -- ^ 'ddZone'+ -> DisksDelete+disksDelete pDdProject_ pDdDisk_ pDdZone_ =+ DisksDelete+ { _ddProject = pDdProject_+ , _ddDisk = pDdDisk_+ , _ddZone = pDdZone_+ }++-- | Project ID for this request.+ddProject :: Lens' DisksDelete Text+ddProject+ = lens _ddProject (\ s a -> s{_ddProject = a})++-- | Name of the persistent disk to delete.+ddDisk :: Lens' DisksDelete Text+ddDisk = lens _ddDisk (\ s a -> s{_ddDisk = a})++-- | The name of the zone for this request.+ddZone :: Lens' DisksDelete Text+ddZone = lens _ddZone (\ s a -> s{_ddZone = a})++instance GoogleRequest DisksDelete where+ type Rs DisksDelete = Operation+ requestClient DisksDelete{..}+ = go _ddProject _ddZone _ddDisk (Just AltJSON)+ computeService+ where go+ = buildClient (Proxy :: Proxy DisksDeleteResource)+ mempty
+ gen/Network/Google/Resource/Compute/Disks/Get.hs view
@@ -0,0 +1,107 @@+{-# 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.Get+-- 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)+--+-- Returns a specified persistent disk.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.disks.get@.+module Network.Google.Resource.Compute.Disks.Get+ (+ -- * REST Resource+ DisksGetResource++ -- * Creating a Request+ , disksGet+ , DisksGet++ -- * Request Lenses+ , dgProject+ , dgDisk+ , dgZone+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.disks.get@ method which the+-- 'DisksGet' request conforms to.+type DisksGetResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "zones" :>+ Capture "zone" Text :>+ "disks" :>+ Capture "disk" Text :>+ QueryParam "alt" AltJSON :> Get '[JSON] Disk++-- | Returns a specified persistent disk.+--+-- /See:/ 'disksGet' smart constructor.+data DisksGet = DisksGet+ { _dgProject :: !Text+ , _dgDisk :: !Text+ , _dgZone :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DisksGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dgProject'+--+-- * 'dgDisk'+--+-- * 'dgZone'+disksGet+ :: Text -- ^ 'dgProject'+ -> Text -- ^ 'dgDisk'+ -> Text -- ^ 'dgZone'+ -> DisksGet+disksGet pDgProject_ pDgDisk_ pDgZone_ =+ DisksGet+ { _dgProject = pDgProject_+ , _dgDisk = pDgDisk_+ , _dgZone = pDgZone_+ }++-- | Project ID for this request.+dgProject :: Lens' DisksGet Text+dgProject+ = lens _dgProject (\ s a -> s{_dgProject = a})++-- | Name of the persistent disk to return.+dgDisk :: Lens' DisksGet Text+dgDisk = lens _dgDisk (\ s a -> s{_dgDisk = a})++-- | The name of the zone for this request.+dgZone :: Lens' DisksGet Text+dgZone = lens _dgZone (\ s a -> s{_dgZone = a})++instance GoogleRequest DisksGet where+ type Rs DisksGet = Disk+ requestClient DisksGet{..}+ = go _dgProject _dgZone _dgDisk (Just AltJSON)+ computeService+ where go+ = buildClient (Proxy :: Proxy DisksGetResource)+ mempty
+ gen/Network/Google/Resource/Compute/Disks/Insert.hs view
@@ -0,0 +1,123 @@+{-# 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.Insert+-- 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)+--+-- Creates a persistent disk 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.disks.insert@.+module Network.Google.Resource.Compute.Disks.Insert+ (+ -- * REST Resource+ DisksInsertResource++ -- * Creating a Request+ , disksInsert+ , DisksInsert++ -- * Request Lenses+ , diSourceImage+ , diProject+ , diZone+ , diPayload+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.disks.insert@ method which the+-- 'DisksInsert' request conforms to.+type DisksInsertResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "zones" :>+ Capture "zone" Text :>+ "disks" :>+ QueryParam "sourceImage" Text :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] Disk :> Post '[JSON] Operation++-- | Creates a persistent disk in the specified project using the data+-- included in the request.+--+-- /See:/ 'disksInsert' smart constructor.+data DisksInsert = DisksInsert+ { _diSourceImage :: !(Maybe Text)+ , _diProject :: !Text+ , _diZone :: !Text+ , _diPayload :: !Disk+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DisksInsert' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'diSourceImage'+--+-- * 'diProject'+--+-- * 'diZone'+--+-- * 'diPayload'+disksInsert+ :: Text -- ^ 'diProject'+ -> Text -- ^ 'diZone'+ -> Disk -- ^ 'diPayload'+ -> DisksInsert+disksInsert pDiProject_ pDiZone_ pDiPayload_ =+ DisksInsert+ { _diSourceImage = Nothing+ , _diProject = pDiProject_+ , _diZone = pDiZone_+ , _diPayload = pDiPayload_+ }++-- | Optional. Source image to restore onto a disk.+diSourceImage :: Lens' DisksInsert (Maybe Text)+diSourceImage+ = lens _diSourceImage+ (\ s a -> s{_diSourceImage = a})++-- | Project ID for this request.+diProject :: Lens' DisksInsert Text+diProject+ = lens _diProject (\ s a -> s{_diProject = a})++-- | The name of the zone for this request.+diZone :: Lens' DisksInsert Text+diZone = lens _diZone (\ s a -> s{_diZone = a})++-- | Multipart request metadata.+diPayload :: Lens' DisksInsert Disk+diPayload+ = lens _diPayload (\ s a -> s{_diPayload = a})++instance GoogleRequest DisksInsert where+ type Rs DisksInsert = Operation+ requestClient DisksInsert{..}+ = go _diProject _diZone _diSourceImage (Just AltJSON)+ _diPayload+ computeService+ where go+ = buildClient (Proxy :: Proxy DisksInsertResource)+ mempty
+ gen/Network/Google/Resource/Compute/Disks/List.hs view
@@ -0,0 +1,145 @@+{-# 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.List+-- 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)+--+-- Retrieves the 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@.+module Network.Google.Resource.Compute.Disks.List+ (+ -- * REST Resource+ DisksListResource++ -- * Creating a Request+ , disksList+ , DisksList++ -- * Request Lenses+ , dlProject+ , dlZone+ , dlFilter+ , dlPageToken+ , dlMaxResults+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.disks.list@ method which the+-- 'DisksList' request conforms to.+type DisksListResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "zones" :>+ Capture "zone" Text :>+ "disks" :>+ QueryParam "filter" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :> Get '[JSON] DiskList++-- | Retrieves the list of persistent disks contained within the specified+-- zone.+--+-- /See:/ 'disksList' smart constructor.+data DisksList = DisksList+ { _dlProject :: !Text+ , _dlZone :: !Text+ , _dlFilter :: !(Maybe Text)+ , _dlPageToken :: !(Maybe Text)+ , _dlMaxResults :: !(Textual Word32)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'DisksList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dlProject'+--+-- * 'dlZone'+--+-- * 'dlFilter'+--+-- * 'dlPageToken'+--+-- * 'dlMaxResults'+disksList+ :: Text -- ^ 'dlProject'+ -> Text -- ^ 'dlZone'+ -> DisksList+disksList pDlProject_ pDlZone_ =+ DisksList+ { _dlProject = pDlProject_+ , _dlZone = pDlZone_+ , _dlFilter = Nothing+ , _dlPageToken = Nothing+ , _dlMaxResults = 500+ }++-- | Project ID for this request.+dlProject :: Lens' DisksList Text+dlProject+ = lens _dlProject (\ s a -> s{_dlProject = a})++-- | The name of the zone for this request.+dlZone :: Lens' DisksList Text+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+-- 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.+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.+dlPageToken :: Lens' DisksList (Maybe Text)+dlPageToken+ = lens _dlPageToken (\ s a -> s{_dlPageToken = a})++-- | Maximum count of results to be returned.+dlMaxResults :: Lens' DisksList Word32+dlMaxResults+ = lens _dlMaxResults (\ s a -> s{_dlMaxResults = a})+ . _Coerce++instance GoogleRequest DisksList where+ type Rs DisksList = DiskList+ requestClient DisksList{..}+ = go _dlProject _dlZone _dlFilter _dlPageToken+ (Just _dlMaxResults)+ (Just AltJSON)+ computeService+ where go+ = buildClient (Proxy :: Proxy DisksListResource)+ mempty
+ gen/Network/Google/Resource/Compute/Firewalls/Delete.hs view
@@ -0,0 +1,98 @@+{-# 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.Firewalls.Delete+-- 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)+--+-- Deletes the specified firewall resource.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.firewalls.delete@.+module Network.Google.Resource.Compute.Firewalls.Delete+ (+ -- * REST Resource+ FirewallsDeleteResource++ -- * Creating a Request+ , firewallsDelete+ , FirewallsDelete++ -- * Request Lenses+ , fdProject+ , fdFirewall+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.firewalls.delete@ method which the+-- 'FirewallsDelete' request conforms to.+type FirewallsDeleteResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "global" :>+ "firewalls" :>+ Capture "firewall" Text :>+ QueryParam "alt" AltJSON :> Delete '[JSON] Operation++-- | Deletes the specified firewall resource.+--+-- /See:/ 'firewallsDelete' smart constructor.+data FirewallsDelete = FirewallsDelete+ { _fdProject :: !Text+ , _fdFirewall :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FirewallsDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fdProject'+--+-- * 'fdFirewall'+firewallsDelete+ :: Text -- ^ 'fdProject'+ -> Text -- ^ 'fdFirewall'+ -> FirewallsDelete+firewallsDelete pFdProject_ pFdFirewall_ =+ FirewallsDelete+ { _fdProject = pFdProject_+ , _fdFirewall = pFdFirewall_+ }++-- | Project ID for this request.+fdProject :: Lens' FirewallsDelete Text+fdProject+ = lens _fdProject (\ s a -> s{_fdProject = a})++-- | Name of the firewall resource to delete.+fdFirewall :: Lens' FirewallsDelete Text+fdFirewall+ = lens _fdFirewall (\ s a -> s{_fdFirewall = a})++instance GoogleRequest FirewallsDelete where+ type Rs FirewallsDelete = Operation+ requestClient FirewallsDelete{..}+ = go _fdProject _fdFirewall (Just AltJSON)+ computeService+ where go+ = buildClient+ (Proxy :: Proxy FirewallsDeleteResource)+ mempty
+ gen/Network/Google/Resource/Compute/Firewalls/Get.hs view
@@ -0,0 +1,97 @@+{-# 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.Firewalls.Get+-- 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)+--+-- Returns the specified firewall resource.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.firewalls.get@.+module Network.Google.Resource.Compute.Firewalls.Get+ (+ -- * REST Resource+ FirewallsGetResource++ -- * Creating a Request+ , firewallsGet+ , FirewallsGet++ -- * Request Lenses+ , fgProject+ , fgFirewall+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.firewalls.get@ method which the+-- 'FirewallsGet' request conforms to.+type FirewallsGetResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "global" :>+ "firewalls" :>+ Capture "firewall" Text :>+ QueryParam "alt" AltJSON :> Get '[JSON] Firewall++-- | Returns the specified firewall resource.+--+-- /See:/ 'firewallsGet' smart constructor.+data FirewallsGet = FirewallsGet+ { _fgProject :: !Text+ , _fgFirewall :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FirewallsGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fgProject'+--+-- * 'fgFirewall'+firewallsGet+ :: Text -- ^ 'fgProject'+ -> Text -- ^ 'fgFirewall'+ -> FirewallsGet+firewallsGet pFgProject_ pFgFirewall_ =+ FirewallsGet+ { _fgProject = pFgProject_+ , _fgFirewall = pFgFirewall_+ }++-- | Project ID for this request.+fgProject :: Lens' FirewallsGet Text+fgProject+ = lens _fgProject (\ s a -> s{_fgProject = a})++-- | Name of the firewall resource to return.+fgFirewall :: Lens' FirewallsGet Text+fgFirewall+ = lens _fgFirewall (\ s a -> s{_fgFirewall = a})++instance GoogleRequest FirewallsGet where+ type Rs FirewallsGet = Firewall+ requestClient FirewallsGet{..}+ = go _fgProject _fgFirewall (Just AltJSON)+ computeService+ where go+ = buildClient (Proxy :: Proxy FirewallsGetResource)+ mempty
+ gen/Network/Google/Resource/Compute/Firewalls/Insert.hs view
@@ -0,0 +1,100 @@+{-# 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.Firewalls.Insert+-- 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)+--+-- Creates a firewall 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.firewalls.insert@.+module Network.Google.Resource.Compute.Firewalls.Insert+ (+ -- * REST Resource+ FirewallsInsertResource++ -- * Creating a Request+ , firewallsInsert+ , FirewallsInsert++ -- * Request Lenses+ , fiProject+ , fiPayload+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.firewalls.insert@ method which the+-- 'FirewallsInsert' request conforms to.+type FirewallsInsertResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "global" :>+ "firewalls" :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] Firewall :> Post '[JSON] Operation++-- | Creates a firewall resource in the specified project using the data+-- included in the request.+--+-- /See:/ 'firewallsInsert' smart constructor.+data FirewallsInsert = FirewallsInsert+ { _fiProject :: !Text+ , _fiPayload :: !Firewall+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FirewallsInsert' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fiProject'+--+-- * 'fiPayload'+firewallsInsert+ :: Text -- ^ 'fiProject'+ -> Firewall -- ^ 'fiPayload'+ -> FirewallsInsert+firewallsInsert pFiProject_ pFiPayload_ =+ FirewallsInsert+ { _fiProject = pFiProject_+ , _fiPayload = pFiPayload_+ }++-- | Project ID for this request.+fiProject :: Lens' FirewallsInsert Text+fiProject+ = lens _fiProject (\ s a -> s{_fiProject = a})++-- | Multipart request metadata.+fiPayload :: Lens' FirewallsInsert Firewall+fiPayload+ = lens _fiPayload (\ s a -> s{_fiPayload = a})++instance GoogleRequest FirewallsInsert where+ type Rs FirewallsInsert = Operation+ requestClient FirewallsInsert{..}+ = go _fiProject (Just AltJSON) _fiPayload+ computeService+ where go+ = buildClient+ (Proxy :: Proxy FirewallsInsertResource)+ mempty
+ gen/Network/Google/Resource/Compute/Firewalls/List.hs view
@@ -0,0 +1,134 @@+{-# 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.Firewalls.List+-- 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)+--+-- Retrieves the list of firewall resources 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+ (+ -- * REST Resource+ FirewallsListResource++ -- * Creating a Request+ , firewallsList+ , FirewallsList++ -- * Request Lenses+ , flProject+ , flFilter+ , flPageToken+ , flMaxResults+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.firewalls.list@ method which the+-- 'FirewallsList' request conforms to.+type FirewallsListResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "global" :>+ "firewalls" :>+ QueryParam "filter" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :> Get '[JSON] FirewallList++-- | Retrieves the list of firewall resources available to the specified+-- project.+--+-- /See:/ 'firewallsList' smart constructor.+data FirewallsList = FirewallsList+ { _flProject :: !Text+ , _flFilter :: !(Maybe Text)+ , _flPageToken :: !(Maybe Text)+ , _flMaxResults :: !(Textual Word32)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FirewallsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'flProject'+--+-- * 'flFilter'+--+-- * 'flPageToken'+--+-- * 'flMaxResults'+firewallsList+ :: Text -- ^ 'flProject'+ -> FirewallsList+firewallsList pFlProject_ =+ FirewallsList+ { _flProject = pFlProject_+ , _flFilter = Nothing+ , _flPageToken = Nothing+ , _flMaxResults = 500+ }++-- | Project ID for this request.+flProject :: Lens' FirewallsList Text+flProject+ = 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+-- 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.+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.+flPageToken :: Lens' FirewallsList (Maybe Text)+flPageToken+ = lens _flPageToken (\ s a -> s{_flPageToken = a})++-- | Maximum count of results to be returned.+flMaxResults :: Lens' FirewallsList Word32+flMaxResults+ = lens _flMaxResults (\ s a -> s{_flMaxResults = a})+ . _Coerce++instance GoogleRequest FirewallsList where+ type Rs FirewallsList = FirewallList+ requestClient FirewallsList{..}+ = go _flProject _flFilter _flPageToken+ (Just _flMaxResults)+ (Just AltJSON)+ computeService+ where go+ = buildClient (Proxy :: Proxy FirewallsListResource)+ mempty
+ gen/Network/Google/Resource/Compute/Firewalls/Patch.hs view
@@ -0,0 +1,111 @@+{-# 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.Firewalls.Patch+-- 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)+--+-- Updates the specified firewall resource with the data included in the+-- request. This method supports patch semantics.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.firewalls.patch@.+module Network.Google.Resource.Compute.Firewalls.Patch+ (+ -- * REST Resource+ FirewallsPatchResource++ -- * Creating a Request+ , firewallsPatch+ , FirewallsPatch++ -- * Request Lenses+ , fpProject+ , fpPayload+ , fpFirewall+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.firewalls.patch@ method which the+-- 'FirewallsPatch' request conforms to.+type FirewallsPatchResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "global" :>+ "firewalls" :>+ Capture "firewall" Text :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] Firewall :> Patch '[JSON] Operation++-- | Updates the specified firewall resource with the data included in the+-- request. This method supports patch semantics.+--+-- /See:/ 'firewallsPatch' smart constructor.+data FirewallsPatch = FirewallsPatch+ { _fpProject :: !Text+ , _fpPayload :: !Firewall+ , _fpFirewall :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FirewallsPatch' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fpProject'+--+-- * 'fpPayload'+--+-- * 'fpFirewall'+firewallsPatch+ :: Text -- ^ 'fpProject'+ -> Firewall -- ^ 'fpPayload'+ -> Text -- ^ 'fpFirewall'+ -> FirewallsPatch+firewallsPatch pFpProject_ pFpPayload_ pFpFirewall_ =+ FirewallsPatch+ { _fpProject = pFpProject_+ , _fpPayload = pFpPayload_+ , _fpFirewall = pFpFirewall_+ }++-- | Project ID for this request.+fpProject :: Lens' FirewallsPatch Text+fpProject+ = lens _fpProject (\ s a -> s{_fpProject = a})++-- | Multipart request metadata.+fpPayload :: Lens' FirewallsPatch Firewall+fpPayload+ = lens _fpPayload (\ s a -> s{_fpPayload = a})++-- | Name of the firewall resource to update.+fpFirewall :: Lens' FirewallsPatch Text+fpFirewall+ = lens _fpFirewall (\ s a -> s{_fpFirewall = a})++instance GoogleRequest FirewallsPatch where+ type Rs FirewallsPatch = Operation+ requestClient FirewallsPatch{..}+ = go _fpProject _fpFirewall (Just AltJSON) _fpPayload+ computeService+ where go+ = buildClient (Proxy :: Proxy FirewallsPatchResource)+ mempty
+ gen/Network/Google/Resource/Compute/Firewalls/Update.hs view
@@ -0,0 +1,112 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.Compute.Firewalls.Update+-- 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)+--+-- Updates the specified firewall resource with the data included in the+-- request.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.firewalls.update@.+module Network.Google.Resource.Compute.Firewalls.Update+ (+ -- * REST Resource+ FirewallsUpdateResource++ -- * Creating a Request+ , firewallsUpdate+ , FirewallsUpdate++ -- * Request Lenses+ , fuProject+ , fuPayload+ , fuFirewall+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.firewalls.update@ method which the+-- 'FirewallsUpdate' request conforms to.+type FirewallsUpdateResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "global" :>+ "firewalls" :>+ Capture "firewall" Text :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] Firewall :> Put '[JSON] Operation++-- | Updates the specified firewall resource with the data included in the+-- request.+--+-- /See:/ 'firewallsUpdate' smart constructor.+data FirewallsUpdate = FirewallsUpdate+ { _fuProject :: !Text+ , _fuPayload :: !Firewall+ , _fuFirewall :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FirewallsUpdate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fuProject'+--+-- * 'fuPayload'+--+-- * 'fuFirewall'+firewallsUpdate+ :: Text -- ^ 'fuProject'+ -> Firewall -- ^ 'fuPayload'+ -> Text -- ^ 'fuFirewall'+ -> FirewallsUpdate+firewallsUpdate pFuProject_ pFuPayload_ pFuFirewall_ =+ FirewallsUpdate+ { _fuProject = pFuProject_+ , _fuPayload = pFuPayload_+ , _fuFirewall = pFuFirewall_+ }++-- | Project ID for this request.+fuProject :: Lens' FirewallsUpdate Text+fuProject+ = lens _fuProject (\ s a -> s{_fuProject = a})++-- | Multipart request metadata.+fuPayload :: Lens' FirewallsUpdate Firewall+fuPayload+ = lens _fuPayload (\ s a -> s{_fuPayload = a})++-- | Name of the firewall resource to update.+fuFirewall :: Lens' FirewallsUpdate Text+fuFirewall+ = lens _fuFirewall (\ s a -> s{_fuFirewall = a})++instance GoogleRequest FirewallsUpdate where+ type Rs FirewallsUpdate = Operation+ requestClient FirewallsUpdate{..}+ = go _fuProject _fuFirewall (Just AltJSON) _fuPayload+ computeService+ where go+ = buildClient+ (Proxy :: Proxy FirewallsUpdateResource)+ mempty
+ gen/Network/Google/Resource/Compute/ForwardingRules/AggregatedList.hs view
@@ -0,0 +1,140 @@+{-# 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.ForwardingRules.AggregatedList+-- 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)+--+-- Retrieves the list of forwarding rules grouped by scope.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.forwardingRules.aggregatedList@.+module Network.Google.Resource.Compute.ForwardingRules.AggregatedList+ (+ -- * REST Resource+ ForwardingRulesAggregatedListResource++ -- * Creating a Request+ , forwardingRulesAggregatedList+ , ForwardingRulesAggregatedList++ -- * Request Lenses+ , fralProject+ , fralFilter+ , fralPageToken+ , fralMaxResults+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.forwardingRules.aggregatedList@ method which the+-- 'ForwardingRulesAggregatedList' request conforms to.+type ForwardingRulesAggregatedListResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "aggregated" :>+ "forwardingRules" :>+ QueryParam "filter" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] ForwardingRuleAggregatedList++-- | Retrieves the list of forwarding rules grouped by scope.+--+-- /See:/ 'forwardingRulesAggregatedList' smart constructor.+data ForwardingRulesAggregatedList = ForwardingRulesAggregatedList+ { _fralProject :: !Text+ , _fralFilter :: !(Maybe Text)+ , _fralPageToken :: !(Maybe Text)+ , _fralMaxResults :: !(Textual Word32)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ForwardingRulesAggregatedList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fralProject'+--+-- * 'fralFilter'+--+-- * 'fralPageToken'+--+-- * 'fralMaxResults'+forwardingRulesAggregatedList+ :: Text -- ^ 'fralProject'+ -> ForwardingRulesAggregatedList+forwardingRulesAggregatedList pFralProject_ =+ ForwardingRulesAggregatedList+ { _fralProject = pFralProject_+ , _fralFilter = Nothing+ , _fralPageToken = Nothing+ , _fralMaxResults = 500+ }++-- | Name of the project scoping 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+-- 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.+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.+fralPageToken :: Lens' ForwardingRulesAggregatedList (Maybe Text)+fralPageToken+ = lens _fralPageToken+ (\ s a -> s{_fralPageToken = a})++-- | Maximum count of results to be returned.+fralMaxResults :: Lens' ForwardingRulesAggregatedList Word32+fralMaxResults+ = lens _fralMaxResults+ (\ s a -> s{_fralMaxResults = a})+ . _Coerce++instance GoogleRequest ForwardingRulesAggregatedList+ where+ type Rs ForwardingRulesAggregatedList =+ ForwardingRuleAggregatedList+ requestClient ForwardingRulesAggregatedList{..}+ = go _fralProject _fralFilter _fralPageToken+ (Just _fralMaxResults)+ (Just AltJSON)+ computeService+ where go+ = buildClient+ (Proxy ::+ Proxy ForwardingRulesAggregatedListResource)+ mempty
+ gen/Network/Google/Resource/Compute/ForwardingRules/Delete.hs view
@@ -0,0 +1,112 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.Compute.ForwardingRules.Delete+-- 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)+--+-- Deletes the specified ForwardingRule resource.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.forwardingRules.delete@.+module Network.Google.Resource.Compute.ForwardingRules.Delete+ (+ -- * REST Resource+ ForwardingRulesDeleteResource++ -- * Creating a Request+ , forwardingRulesDelete+ , ForwardingRulesDelete++ -- * Request Lenses+ , frdProject+ , frdForwardingRule+ , frdRegion+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.forwardingRules.delete@ method which the+-- 'ForwardingRulesDelete' request conforms to.+type ForwardingRulesDeleteResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "regions" :>+ Capture "region" Text :>+ "forwardingRules" :>+ Capture "forwardingRule" Text :>+ QueryParam "alt" AltJSON :> Delete '[JSON] Operation++-- | Deletes the specified ForwardingRule resource.+--+-- /See:/ 'forwardingRulesDelete' smart constructor.+data ForwardingRulesDelete = ForwardingRulesDelete+ { _frdProject :: !Text+ , _frdForwardingRule :: !Text+ , _frdRegion :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ForwardingRulesDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'frdProject'+--+-- * 'frdForwardingRule'+--+-- * 'frdRegion'+forwardingRulesDelete+ :: Text -- ^ 'frdProject'+ -> Text -- ^ 'frdForwardingRule'+ -> Text -- ^ 'frdRegion'+ -> ForwardingRulesDelete+forwardingRulesDelete pFrdProject_ pFrdForwardingRule_ pFrdRegion_ =+ ForwardingRulesDelete+ { _frdProject = pFrdProject_+ , _frdForwardingRule = pFrdForwardingRule_+ , _frdRegion = pFrdRegion_+ }++-- | Name of the project scoping this request.+frdProject :: Lens' ForwardingRulesDelete Text+frdProject+ = lens _frdProject (\ s a -> s{_frdProject = a})++-- | Name of the ForwardingRule resource to delete.+frdForwardingRule :: Lens' ForwardingRulesDelete Text+frdForwardingRule+ = lens _frdForwardingRule+ (\ s a -> s{_frdForwardingRule = a})++-- | Name of the region scoping this request.+frdRegion :: Lens' ForwardingRulesDelete Text+frdRegion+ = lens _frdRegion (\ s a -> s{_frdRegion = a})++instance GoogleRequest ForwardingRulesDelete where+ type Rs ForwardingRulesDelete = Operation+ requestClient ForwardingRulesDelete{..}+ = go _frdProject _frdRegion _frdForwardingRule+ (Just AltJSON)+ computeService+ where go+ = buildClient+ (Proxy :: Proxy ForwardingRulesDeleteResource)+ mempty
+ gen/Network/Google/Resource/Compute/ForwardingRules/Get.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.ForwardingRules.Get+-- 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)+--+-- Returns the specified ForwardingRule resource.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.forwardingRules.get@.+module Network.Google.Resource.Compute.ForwardingRules.Get+ (+ -- * REST Resource+ ForwardingRulesGetResource++ -- * Creating a Request+ , forwardingRulesGet+ , ForwardingRulesGet++ -- * Request Lenses+ , frgProject+ , frgForwardingRule+ , frgRegion+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.forwardingRules.get@ method which the+-- 'ForwardingRulesGet' request conforms to.+type ForwardingRulesGetResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "regions" :>+ Capture "region" Text :>+ "forwardingRules" :>+ Capture "forwardingRule" Text :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] ForwardingRule++-- | Returns the specified ForwardingRule resource.+--+-- /See:/ 'forwardingRulesGet' smart constructor.+data ForwardingRulesGet = ForwardingRulesGet+ { _frgProject :: !Text+ , _frgForwardingRule :: !Text+ , _frgRegion :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ForwardingRulesGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'frgProject'+--+-- * 'frgForwardingRule'+--+-- * 'frgRegion'+forwardingRulesGet+ :: Text -- ^ 'frgProject'+ -> Text -- ^ 'frgForwardingRule'+ -> Text -- ^ 'frgRegion'+ -> ForwardingRulesGet+forwardingRulesGet pFrgProject_ pFrgForwardingRule_ pFrgRegion_ =+ ForwardingRulesGet+ { _frgProject = pFrgProject_+ , _frgForwardingRule = pFrgForwardingRule_+ , _frgRegion = pFrgRegion_+ }++-- | Name of the project scoping this request.+frgProject :: Lens' ForwardingRulesGet Text+frgProject+ = lens _frgProject (\ s a -> s{_frgProject = a})++-- | Name of the ForwardingRule resource to return.+frgForwardingRule :: Lens' ForwardingRulesGet Text+frgForwardingRule+ = lens _frgForwardingRule+ (\ s a -> s{_frgForwardingRule = a})++-- | Name of the region scoping this request.+frgRegion :: Lens' ForwardingRulesGet Text+frgRegion+ = lens _frgRegion (\ s a -> s{_frgRegion = a})++instance GoogleRequest ForwardingRulesGet where+ type Rs ForwardingRulesGet = ForwardingRule+ requestClient ForwardingRulesGet{..}+ = go _frgProject _frgRegion _frgForwardingRule+ (Just AltJSON)+ computeService+ where go+ = buildClient+ (Proxy :: Proxy ForwardingRulesGetResource)+ mempty
+ gen/Network/Google/Resource/Compute/ForwardingRules/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.ForwardingRules.Insert+-- 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)+--+-- Creates a ForwardingRule resource in the specified project and region+-- using the data included in the request.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.forwardingRules.insert@.+module Network.Google.Resource.Compute.ForwardingRules.Insert+ (+ -- * REST Resource+ ForwardingRulesInsertResource++ -- * Creating a Request+ , forwardingRulesInsert+ , ForwardingRulesInsert++ -- * Request Lenses+ , friProject+ , friPayload+ , friRegion+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.forwardingRules.insert@ method which the+-- 'ForwardingRulesInsert' request conforms to.+type ForwardingRulesInsertResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "regions" :>+ Capture "region" Text :>+ "forwardingRules" :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] ForwardingRule :>+ Post '[JSON] Operation++-- | Creates a ForwardingRule resource in the specified project and region+-- using the data included in the request.+--+-- /See:/ 'forwardingRulesInsert' smart constructor.+data ForwardingRulesInsert = ForwardingRulesInsert+ { _friProject :: !Text+ , _friPayload :: !ForwardingRule+ , _friRegion :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ForwardingRulesInsert' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'friProject'+--+-- * 'friPayload'+--+-- * 'friRegion'+forwardingRulesInsert+ :: Text -- ^ 'friProject'+ -> ForwardingRule -- ^ 'friPayload'+ -> Text -- ^ 'friRegion'+ -> ForwardingRulesInsert+forwardingRulesInsert pFriProject_ pFriPayload_ pFriRegion_ =+ ForwardingRulesInsert+ { _friProject = pFriProject_+ , _friPayload = pFriPayload_+ , _friRegion = pFriRegion_+ }++-- | Name of the project scoping this request.+friProject :: Lens' ForwardingRulesInsert Text+friProject+ = lens _friProject (\ s a -> s{_friProject = a})++-- | Multipart request metadata.+friPayload :: Lens' ForwardingRulesInsert ForwardingRule+friPayload+ = lens _friPayload (\ s a -> s{_friPayload = a})++-- | Name of the region scoping this request.+friRegion :: Lens' ForwardingRulesInsert Text+friRegion+ = lens _friRegion (\ s a -> s{_friRegion = a})++instance GoogleRequest ForwardingRulesInsert where+ type Rs ForwardingRulesInsert = Operation+ requestClient ForwardingRulesInsert{..}+ = go _friProject _friRegion (Just AltJSON)+ _friPayload+ computeService+ where go+ = buildClient+ (Proxy :: Proxy ForwardingRulesInsertResource)+ mempty
+ gen/Network/Google/Resource/Compute/ForwardingRules/List.hs view
@@ -0,0 +1,150 @@+{-# 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.ForwardingRules.List+-- 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)+--+-- Retrieves the 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+ (+ -- * REST Resource+ ForwardingRulesListResource++ -- * Creating a Request+ , forwardingRulesList+ , ForwardingRulesList++ -- * Request Lenses+ , frlProject+ , frlFilter+ , frlRegion+ , frlPageToken+ , frlMaxResults+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.forwardingRules.list@ method which the+-- 'ForwardingRulesList' request conforms to.+type ForwardingRulesListResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "regions" :>+ Capture "region" Text :>+ "forwardingRules" :>+ QueryParam "filter" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] ForwardingRuleList++-- | Retrieves the list of ForwardingRule resources available to the+-- specified project and region.+--+-- /See:/ 'forwardingRulesList' smart constructor.+data ForwardingRulesList = ForwardingRulesList+ { _frlProject :: !Text+ , _frlFilter :: !(Maybe Text)+ , _frlRegion :: !Text+ , _frlPageToken :: !(Maybe Text)+ , _frlMaxResults :: !(Textual Word32)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ForwardingRulesList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'frlProject'+--+-- * 'frlFilter'+--+-- * 'frlRegion'+--+-- * 'frlPageToken'+--+-- * 'frlMaxResults'+forwardingRulesList+ :: Text -- ^ 'frlProject'+ -> Text -- ^ 'frlRegion'+ -> ForwardingRulesList+forwardingRulesList pFrlProject_ pFrlRegion_ =+ ForwardingRulesList+ { _frlProject = pFrlProject_+ , _frlFilter = Nothing+ , _frlRegion = pFrlRegion_+ , _frlPageToken = Nothing+ , _frlMaxResults = 500+ }++-- | Name of the project scoping 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+-- 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.+frlFilter :: Lens' ForwardingRulesList (Maybe Text)+frlFilter+ = lens _frlFilter (\ s a -> s{_frlFilter = a})++-- | Name of the region scoping this request.+frlRegion :: Lens' ForwardingRulesList Text+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.+frlPageToken :: Lens' ForwardingRulesList (Maybe Text)+frlPageToken+ = lens _frlPageToken (\ s a -> s{_frlPageToken = a})++-- | Maximum count of results to be returned.+frlMaxResults :: Lens' ForwardingRulesList Word32+frlMaxResults+ = lens _frlMaxResults+ (\ s a -> s{_frlMaxResults = a})+ . _Coerce++instance GoogleRequest ForwardingRulesList where+ type Rs ForwardingRulesList = ForwardingRuleList+ requestClient ForwardingRulesList{..}+ = go _frlProject _frlRegion _frlFilter _frlPageToken+ (Just _frlMaxResults)+ (Just AltJSON)+ computeService+ where go+ = buildClient+ (Proxy :: Proxy ForwardingRulesListResource)+ mempty
+ gen/Network/Google/Resource/Compute/ForwardingRules/SetTarget.hs view
@@ -0,0 +1,127 @@+{-# 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.ForwardingRules.SetTarget+-- 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)+--+-- Changes target url for forwarding rule.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.forwardingRules.setTarget@.+module Network.Google.Resource.Compute.ForwardingRules.SetTarget+ (+ -- * REST Resource+ ForwardingRulesSetTargetResource++ -- * Creating a Request+ , forwardingRulesSetTarget+ , ForwardingRulesSetTarget++ -- * Request Lenses+ , frstProject+ , frstForwardingRule+ , frstPayload+ , frstRegion+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.forwardingRules.setTarget@ method which the+-- 'ForwardingRulesSetTarget' request conforms to.+type ForwardingRulesSetTargetResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "regions" :>+ Capture "region" Text :>+ "forwardingRules" :>+ Capture "forwardingRule" Text :>+ "setTarget" :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] TargetReference :>+ Post '[JSON] Operation++-- | Changes target url for forwarding rule.+--+-- /See:/ 'forwardingRulesSetTarget' smart constructor.+data ForwardingRulesSetTarget = ForwardingRulesSetTarget+ { _frstProject :: !Text+ , _frstForwardingRule :: !Text+ , _frstPayload :: !TargetReference+ , _frstRegion :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ForwardingRulesSetTarget' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'frstProject'+--+-- * 'frstForwardingRule'+--+-- * 'frstPayload'+--+-- * 'frstRegion'+forwardingRulesSetTarget+ :: Text -- ^ 'frstProject'+ -> Text -- ^ 'frstForwardingRule'+ -> TargetReference -- ^ 'frstPayload'+ -> Text -- ^ 'frstRegion'+ -> ForwardingRulesSetTarget+forwardingRulesSetTarget pFrstProject_ pFrstForwardingRule_ pFrstPayload_ pFrstRegion_ =+ ForwardingRulesSetTarget+ { _frstProject = pFrstProject_+ , _frstForwardingRule = pFrstForwardingRule_+ , _frstPayload = pFrstPayload_+ , _frstRegion = pFrstRegion_+ }++-- | Name of the project scoping this request.+frstProject :: Lens' ForwardingRulesSetTarget Text+frstProject+ = lens _frstProject (\ s a -> s{_frstProject = a})++-- | Name of the ForwardingRule resource in which target is to be set.+frstForwardingRule :: Lens' ForwardingRulesSetTarget Text+frstForwardingRule+ = lens _frstForwardingRule+ (\ s a -> s{_frstForwardingRule = a})++-- | Multipart request metadata.+frstPayload :: Lens' ForwardingRulesSetTarget TargetReference+frstPayload+ = lens _frstPayload (\ s a -> s{_frstPayload = a})++-- | Name of the region scoping this request.+frstRegion :: Lens' ForwardingRulesSetTarget Text+frstRegion+ = lens _frstRegion (\ s a -> s{_frstRegion = a})++instance GoogleRequest ForwardingRulesSetTarget where+ type Rs ForwardingRulesSetTarget = Operation+ requestClient ForwardingRulesSetTarget{..}+ = go _frstProject _frstRegion _frstForwardingRule+ (Just AltJSON)+ _frstPayload+ computeService+ where go+ = buildClient+ (Proxy :: Proxy ForwardingRulesSetTargetResource)+ mempty
+ gen/Network/Google/Resource/Compute/GlobalAddresses/Delete.hs view
@@ -0,0 +1,98 @@+{-# 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.GlobalAddresses.Delete+-- 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)+--+-- Deletes the specified address resource.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.globalAddresses.delete@.+module Network.Google.Resource.Compute.GlobalAddresses.Delete+ (+ -- * REST Resource+ GlobalAddressesDeleteResource++ -- * Creating a Request+ , globalAddressesDelete+ , GlobalAddressesDelete++ -- * Request Lenses+ , gadProject+ , gadAddress+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.globalAddresses.delete@ method which the+-- 'GlobalAddressesDelete' request conforms to.+type GlobalAddressesDeleteResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "global" :>+ "addresses" :>+ Capture "address" Text :>+ QueryParam "alt" AltJSON :> Delete '[JSON] Operation++-- | Deletes the specified address resource.+--+-- /See:/ 'globalAddressesDelete' smart constructor.+data GlobalAddressesDelete = GlobalAddressesDelete+ { _gadProject :: !Text+ , _gadAddress :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'GlobalAddressesDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gadProject'+--+-- * 'gadAddress'+globalAddressesDelete+ :: Text -- ^ 'gadProject'+ -> Text -- ^ 'gadAddress'+ -> GlobalAddressesDelete+globalAddressesDelete pGadProject_ pGadAddress_ =+ GlobalAddressesDelete+ { _gadProject = pGadProject_+ , _gadAddress = pGadAddress_+ }++-- | Project ID for this request.+gadProject :: Lens' GlobalAddressesDelete Text+gadProject+ = lens _gadProject (\ s a -> s{_gadProject = a})++-- | Name of the address resource to delete.+gadAddress :: Lens' GlobalAddressesDelete Text+gadAddress+ = lens _gadAddress (\ s a -> s{_gadAddress = a})++instance GoogleRequest GlobalAddressesDelete where+ type Rs GlobalAddressesDelete = Operation+ requestClient GlobalAddressesDelete{..}+ = go _gadProject _gadAddress (Just AltJSON)+ computeService+ where go+ = buildClient+ (Proxy :: Proxy GlobalAddressesDeleteResource)+ mempty
+ gen/Network/Google/Resource/Compute/GlobalAddresses/Get.hs view
@@ -0,0 +1,98 @@+{-# 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.GlobalAddresses.Get+-- 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)+--+-- Returns the specified address resource.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.globalAddresses.get@.+module Network.Google.Resource.Compute.GlobalAddresses.Get+ (+ -- * REST Resource+ GlobalAddressesGetResource++ -- * Creating a Request+ , globalAddressesGet+ , GlobalAddressesGet++ -- * Request Lenses+ , gagProject+ , gagAddress+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.globalAddresses.get@ method which the+-- 'GlobalAddressesGet' request conforms to.+type GlobalAddressesGetResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "global" :>+ "addresses" :>+ Capture "address" Text :>+ QueryParam "alt" AltJSON :> Get '[JSON] Address++-- | Returns the specified address resource.+--+-- /See:/ 'globalAddressesGet' smart constructor.+data GlobalAddressesGet = GlobalAddressesGet+ { _gagProject :: !Text+ , _gagAddress :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'GlobalAddressesGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gagProject'+--+-- * 'gagAddress'+globalAddressesGet+ :: Text -- ^ 'gagProject'+ -> Text -- ^ 'gagAddress'+ -> GlobalAddressesGet+globalAddressesGet pGagProject_ pGagAddress_ =+ GlobalAddressesGet+ { _gagProject = pGagProject_+ , _gagAddress = pGagAddress_+ }++-- | Project ID for this request.+gagProject :: Lens' GlobalAddressesGet Text+gagProject+ = lens _gagProject (\ s a -> s{_gagProject = a})++-- | Name of the address resource to return.+gagAddress :: Lens' GlobalAddressesGet Text+gagAddress+ = lens _gagAddress (\ s a -> s{_gagAddress = a})++instance GoogleRequest GlobalAddressesGet where+ type Rs GlobalAddressesGet = Address+ requestClient GlobalAddressesGet{..}+ = go _gagProject _gagAddress (Just AltJSON)+ computeService+ where go+ = buildClient+ (Proxy :: Proxy GlobalAddressesGetResource)+ mempty
+ gen/Network/Google/Resource/Compute/GlobalAddresses/Insert.hs view
@@ -0,0 +1,100 @@+{-# 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.GlobalAddresses.Insert+-- 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)+--+-- Creates an address 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.globalAddresses.insert@.+module Network.Google.Resource.Compute.GlobalAddresses.Insert+ (+ -- * REST Resource+ GlobalAddressesInsertResource++ -- * Creating a Request+ , globalAddressesInsert+ , GlobalAddressesInsert++ -- * Request Lenses+ , gaiProject+ , gaiPayload+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.globalAddresses.insert@ method which the+-- 'GlobalAddressesInsert' request conforms to.+type GlobalAddressesInsertResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "global" :>+ "addresses" :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] Address :> Post '[JSON] Operation++-- | Creates an address resource in the specified project using the data+-- included in the request.+--+-- /See:/ 'globalAddressesInsert' smart constructor.+data GlobalAddressesInsert = GlobalAddressesInsert+ { _gaiProject :: !Text+ , _gaiPayload :: !Address+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'GlobalAddressesInsert' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gaiProject'+--+-- * 'gaiPayload'+globalAddressesInsert+ :: Text -- ^ 'gaiProject'+ -> Address -- ^ 'gaiPayload'+ -> GlobalAddressesInsert+globalAddressesInsert pGaiProject_ pGaiPayload_ =+ GlobalAddressesInsert+ { _gaiProject = pGaiProject_+ , _gaiPayload = pGaiPayload_+ }++-- | Project ID for this request.+gaiProject :: Lens' GlobalAddressesInsert Text+gaiProject+ = lens _gaiProject (\ s a -> s{_gaiProject = a})++-- | Multipart request metadata.+gaiPayload :: Lens' GlobalAddressesInsert Address+gaiPayload+ = lens _gaiPayload (\ s a -> s{_gaiPayload = a})++instance GoogleRequest GlobalAddressesInsert where+ type Rs GlobalAddressesInsert = Operation+ requestClient GlobalAddressesInsert{..}+ = go _gaiProject (Just AltJSON) _gaiPayload+ computeService+ where go+ = buildClient+ (Proxy :: Proxy GlobalAddressesInsertResource)+ mempty
+ gen/Network/Google/Resource/Compute/GlobalAddresses/List.hs view
@@ -0,0 +1,135 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.Compute.GlobalAddresses.List+-- 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)+--+-- Retrieves the list of global address resources.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.globalAddresses.list@.+module Network.Google.Resource.Compute.GlobalAddresses.List+ (+ -- * REST Resource+ GlobalAddressesListResource++ -- * Creating a Request+ , globalAddressesList+ , GlobalAddressesList++ -- * Request Lenses+ , galProject+ , galFilter+ , galPageToken+ , galMaxResults+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.globalAddresses.list@ method which the+-- 'GlobalAddressesList' request conforms to.+type GlobalAddressesListResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "global" :>+ "addresses" :>+ QueryParam "filter" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :> Get '[JSON] AddressList++-- | Retrieves the list of global address resources.+--+-- /See:/ 'globalAddressesList' smart constructor.+data GlobalAddressesList = GlobalAddressesList+ { _galProject :: !Text+ , _galFilter :: !(Maybe Text)+ , _galPageToken :: !(Maybe Text)+ , _galMaxResults :: !(Textual Word32)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'GlobalAddressesList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'galProject'+--+-- * 'galFilter'+--+-- * 'galPageToken'+--+-- * 'galMaxResults'+globalAddressesList+ :: Text -- ^ 'galProject'+ -> GlobalAddressesList+globalAddressesList pGalProject_ =+ GlobalAddressesList+ { _galProject = pGalProject_+ , _galFilter = Nothing+ , _galPageToken = Nothing+ , _galMaxResults = 500+ }++-- | Project ID for this request.+galProject :: Lens' GlobalAddressesList Text+galProject+ = 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+-- 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.+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.+galPageToken :: Lens' GlobalAddressesList (Maybe Text)+galPageToken+ = lens _galPageToken (\ s a -> s{_galPageToken = a})++-- | Maximum count of results to be returned.+galMaxResults :: Lens' GlobalAddressesList Word32+galMaxResults+ = lens _galMaxResults+ (\ s a -> s{_galMaxResults = a})+ . _Coerce++instance GoogleRequest GlobalAddressesList where+ type Rs GlobalAddressesList = AddressList+ requestClient GlobalAddressesList{..}+ = go _galProject _galFilter _galPageToken+ (Just _galMaxResults)+ (Just AltJSON)+ computeService+ where go+ = buildClient+ (Proxy :: Proxy GlobalAddressesListResource)+ mempty
+ gen/Network/Google/Resource/Compute/GlobalForwardingRules/Delete.hs view
@@ -0,0 +1,100 @@+{-# 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.GlobalForwardingRules.Delete+-- 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)+--+-- Deletes the specified ForwardingRule resource.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.globalForwardingRules.delete@.+module Network.Google.Resource.Compute.GlobalForwardingRules.Delete+ (+ -- * REST Resource+ GlobalForwardingRulesDeleteResource++ -- * Creating a Request+ , globalForwardingRulesDelete+ , GlobalForwardingRulesDelete++ -- * Request Lenses+ , gfrdProject+ , gfrdForwardingRule+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.globalForwardingRules.delete@ method which the+-- 'GlobalForwardingRulesDelete' request conforms to.+type GlobalForwardingRulesDeleteResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "global" :>+ "forwardingRules" :>+ Capture "forwardingRule" Text :>+ QueryParam "alt" AltJSON :> Delete '[JSON] Operation++-- | Deletes the specified ForwardingRule resource.+--+-- /See:/ 'globalForwardingRulesDelete' smart constructor.+data GlobalForwardingRulesDelete = GlobalForwardingRulesDelete+ { _gfrdProject :: !Text+ , _gfrdForwardingRule :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'GlobalForwardingRulesDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gfrdProject'+--+-- * 'gfrdForwardingRule'+globalForwardingRulesDelete+ :: Text -- ^ 'gfrdProject'+ -> Text -- ^ 'gfrdForwardingRule'+ -> GlobalForwardingRulesDelete+globalForwardingRulesDelete pGfrdProject_ pGfrdForwardingRule_ =+ GlobalForwardingRulesDelete+ { _gfrdProject = pGfrdProject_+ , _gfrdForwardingRule = pGfrdForwardingRule_+ }++-- | Name of the project scoping this request.+gfrdProject :: Lens' GlobalForwardingRulesDelete Text+gfrdProject+ = lens _gfrdProject (\ s a -> s{_gfrdProject = a})++-- | Name of the ForwardingRule resource to delete.+gfrdForwardingRule :: Lens' GlobalForwardingRulesDelete Text+gfrdForwardingRule+ = lens _gfrdForwardingRule+ (\ s a -> s{_gfrdForwardingRule = a})++instance GoogleRequest GlobalForwardingRulesDelete+ where+ type Rs GlobalForwardingRulesDelete = Operation+ requestClient GlobalForwardingRulesDelete{..}+ = go _gfrdProject _gfrdForwardingRule (Just AltJSON)+ computeService+ where go+ = buildClient+ (Proxy :: Proxy GlobalForwardingRulesDeleteResource)+ mempty
+ gen/Network/Google/Resource/Compute/GlobalForwardingRules/Get.hs view
@@ -0,0 +1,100 @@+{-# 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.GlobalForwardingRules.Get+-- 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)+--+-- Returns the specified ForwardingRule resource.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.globalForwardingRules.get@.+module Network.Google.Resource.Compute.GlobalForwardingRules.Get+ (+ -- * REST Resource+ GlobalForwardingRulesGetResource++ -- * Creating a Request+ , globalForwardingRulesGet+ , GlobalForwardingRulesGet++ -- * Request Lenses+ , gfrgProject+ , gfrgForwardingRule+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.globalForwardingRules.get@ method which the+-- 'GlobalForwardingRulesGet' request conforms to.+type GlobalForwardingRulesGetResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "global" :>+ "forwardingRules" :>+ Capture "forwardingRule" Text :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] ForwardingRule++-- | Returns the specified ForwardingRule resource.+--+-- /See:/ 'globalForwardingRulesGet' smart constructor.+data GlobalForwardingRulesGet = GlobalForwardingRulesGet+ { _gfrgProject :: !Text+ , _gfrgForwardingRule :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'GlobalForwardingRulesGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gfrgProject'+--+-- * 'gfrgForwardingRule'+globalForwardingRulesGet+ :: Text -- ^ 'gfrgProject'+ -> Text -- ^ 'gfrgForwardingRule'+ -> GlobalForwardingRulesGet+globalForwardingRulesGet pGfrgProject_ pGfrgForwardingRule_ =+ GlobalForwardingRulesGet+ { _gfrgProject = pGfrgProject_+ , _gfrgForwardingRule = pGfrgForwardingRule_+ }++-- | Name of the project scoping this request.+gfrgProject :: Lens' GlobalForwardingRulesGet Text+gfrgProject+ = lens _gfrgProject (\ s a -> s{_gfrgProject = a})++-- | Name of the ForwardingRule resource to return.+gfrgForwardingRule :: Lens' GlobalForwardingRulesGet Text+gfrgForwardingRule+ = lens _gfrgForwardingRule+ (\ s a -> s{_gfrgForwardingRule = a})++instance GoogleRequest GlobalForwardingRulesGet where+ type Rs GlobalForwardingRulesGet = ForwardingRule+ requestClient GlobalForwardingRulesGet{..}+ = go _gfrgProject _gfrgForwardingRule (Just AltJSON)+ computeService+ where go+ = buildClient+ (Proxy :: Proxy GlobalForwardingRulesGetResource)+ mempty
+ gen/Network/Google/Resource/Compute/GlobalForwardingRules/Insert.hs view
@@ -0,0 +1,102 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.Compute.GlobalForwardingRules.Insert+-- 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)+--+-- Creates a ForwardingRule resource in the specified project and region+-- using the data included in the request.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.globalForwardingRules.insert@.+module Network.Google.Resource.Compute.GlobalForwardingRules.Insert+ (+ -- * REST Resource+ GlobalForwardingRulesInsertResource++ -- * Creating a Request+ , globalForwardingRulesInsert+ , GlobalForwardingRulesInsert++ -- * Request Lenses+ , gfriProject+ , gfriPayload+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.globalForwardingRules.insert@ method which the+-- 'GlobalForwardingRulesInsert' request conforms to.+type GlobalForwardingRulesInsertResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "global" :>+ "forwardingRules" :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] ForwardingRule :>+ Post '[JSON] Operation++-- | Creates a ForwardingRule resource in the specified project and region+-- using the data included in the request.+--+-- /See:/ 'globalForwardingRulesInsert' smart constructor.+data GlobalForwardingRulesInsert = GlobalForwardingRulesInsert+ { _gfriProject :: !Text+ , _gfriPayload :: !ForwardingRule+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'GlobalForwardingRulesInsert' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gfriProject'+--+-- * 'gfriPayload'+globalForwardingRulesInsert+ :: Text -- ^ 'gfriProject'+ -> ForwardingRule -- ^ 'gfriPayload'+ -> GlobalForwardingRulesInsert+globalForwardingRulesInsert pGfriProject_ pGfriPayload_ =+ GlobalForwardingRulesInsert+ { _gfriProject = pGfriProject_+ , _gfriPayload = pGfriPayload_+ }++-- | Name of the project scoping this request.+gfriProject :: Lens' GlobalForwardingRulesInsert Text+gfriProject+ = lens _gfriProject (\ s a -> s{_gfriProject = a})++-- | Multipart request metadata.+gfriPayload :: Lens' GlobalForwardingRulesInsert ForwardingRule+gfriPayload+ = lens _gfriPayload (\ s a -> s{_gfriPayload = a})++instance GoogleRequest GlobalForwardingRulesInsert+ where+ type Rs GlobalForwardingRulesInsert = Operation+ requestClient GlobalForwardingRulesInsert{..}+ = go _gfriProject (Just AltJSON) _gfriPayload+ computeService+ where go+ = buildClient+ (Proxy :: Proxy GlobalForwardingRulesInsertResource)+ mempty
+ gen/Network/Google/Resource/Compute/GlobalForwardingRules/List.hs view
@@ -0,0 +1,141 @@+{-# 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.GlobalForwardingRules.List+-- 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)+--+-- Retrieves the 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+ (+ -- * REST Resource+ GlobalForwardingRulesListResource++ -- * Creating a Request+ , globalForwardingRulesList+ , GlobalForwardingRulesList++ -- * Request Lenses+ , gfrlProject+ , gfrlFilter+ , gfrlPageToken+ , gfrlMaxResults+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.globalForwardingRules.list@ method which the+-- 'GlobalForwardingRulesList' request conforms to.+type GlobalForwardingRulesListResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "global" :>+ "forwardingRules" :>+ QueryParam "filter" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] ForwardingRuleList++-- | Retrieves the list of ForwardingRule resources available to the+-- specified project.+--+-- /See:/ 'globalForwardingRulesList' smart constructor.+data GlobalForwardingRulesList = GlobalForwardingRulesList+ { _gfrlProject :: !Text+ , _gfrlFilter :: !(Maybe Text)+ , _gfrlPageToken :: !(Maybe Text)+ , _gfrlMaxResults :: !(Textual Word32)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'GlobalForwardingRulesList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gfrlProject'+--+-- * 'gfrlFilter'+--+-- * 'gfrlPageToken'+--+-- * 'gfrlMaxResults'+globalForwardingRulesList+ :: Text -- ^ 'gfrlProject'+ -> GlobalForwardingRulesList+globalForwardingRulesList pGfrlProject_ =+ GlobalForwardingRulesList+ { _gfrlProject = pGfrlProject_+ , _gfrlFilter = Nothing+ , _gfrlPageToken = Nothing+ , _gfrlMaxResults = 500+ }++-- | Name of the project scoping 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+-- 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.+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.+gfrlPageToken :: Lens' GlobalForwardingRulesList (Maybe Text)+gfrlPageToken+ = lens _gfrlPageToken+ (\ s a -> s{_gfrlPageToken = a})++-- | Maximum count of results to be returned.+gfrlMaxResults :: Lens' GlobalForwardingRulesList Word32+gfrlMaxResults+ = lens _gfrlMaxResults+ (\ s a -> s{_gfrlMaxResults = a})+ . _Coerce++instance GoogleRequest GlobalForwardingRulesList+ where+ type Rs GlobalForwardingRulesList =+ ForwardingRuleList+ requestClient GlobalForwardingRulesList{..}+ = go _gfrlProject _gfrlFilter _gfrlPageToken+ (Just _gfrlMaxResults)+ (Just AltJSON)+ computeService+ where go+ = buildClient+ (Proxy :: Proxy GlobalForwardingRulesListResource)+ mempty
+ gen/Network/Google/Resource/Compute/GlobalForwardingRules/SetTarget.hs view
@@ -0,0 +1,117 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.Compute.GlobalForwardingRules.SetTarget+-- 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)+--+-- Changes target url for forwarding rule.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.globalForwardingRules.setTarget@.+module Network.Google.Resource.Compute.GlobalForwardingRules.SetTarget+ (+ -- * REST Resource+ GlobalForwardingRulesSetTargetResource++ -- * Creating a Request+ , globalForwardingRulesSetTarget+ , GlobalForwardingRulesSetTarget++ -- * Request Lenses+ , gfrstProject+ , gfrstForwardingRule+ , gfrstPayload+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.globalForwardingRules.setTarget@ method which the+-- 'GlobalForwardingRulesSetTarget' request conforms to.+type GlobalForwardingRulesSetTargetResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "global" :>+ "forwardingRules" :>+ Capture "forwardingRule" Text :>+ "setTarget" :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] TargetReference :>+ Post '[JSON] Operation++-- | Changes target url for forwarding rule.+--+-- /See:/ 'globalForwardingRulesSetTarget' smart constructor.+data GlobalForwardingRulesSetTarget = GlobalForwardingRulesSetTarget+ { _gfrstProject :: !Text+ , _gfrstForwardingRule :: !Text+ , _gfrstPayload :: !TargetReference+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'GlobalForwardingRulesSetTarget' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gfrstProject'+--+-- * 'gfrstForwardingRule'+--+-- * 'gfrstPayload'+globalForwardingRulesSetTarget+ :: Text -- ^ 'gfrstProject'+ -> Text -- ^ 'gfrstForwardingRule'+ -> TargetReference -- ^ 'gfrstPayload'+ -> GlobalForwardingRulesSetTarget+globalForwardingRulesSetTarget pGfrstProject_ pGfrstForwardingRule_ pGfrstPayload_ =+ GlobalForwardingRulesSetTarget+ { _gfrstProject = pGfrstProject_+ , _gfrstForwardingRule = pGfrstForwardingRule_+ , _gfrstPayload = pGfrstPayload_+ }++-- | Name of the project scoping this request.+gfrstProject :: Lens' GlobalForwardingRulesSetTarget Text+gfrstProject+ = lens _gfrstProject (\ s a -> s{_gfrstProject = a})++-- | Name of the ForwardingRule resource in which target is to be set.+gfrstForwardingRule :: Lens' GlobalForwardingRulesSetTarget Text+gfrstForwardingRule+ = lens _gfrstForwardingRule+ (\ s a -> s{_gfrstForwardingRule = a})++-- | Multipart request metadata.+gfrstPayload :: Lens' GlobalForwardingRulesSetTarget TargetReference+gfrstPayload+ = lens _gfrstPayload (\ s a -> s{_gfrstPayload = a})++instance GoogleRequest GlobalForwardingRulesSetTarget+ where+ type Rs GlobalForwardingRulesSetTarget = Operation+ requestClient GlobalForwardingRulesSetTarget{..}+ = go _gfrstProject _gfrstForwardingRule+ (Just AltJSON)+ _gfrstPayload+ computeService+ where go+ = buildClient+ (Proxy ::+ Proxy GlobalForwardingRulesSetTargetResource)+ mempty
+ gen/Network/Google/Resource/Compute/GlobalOperations/AggregatedList.hs view
@@ -0,0 +1,140 @@+{-# 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.GlobalOperations.AggregatedList+-- 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)+--+-- Retrieves the list of all operations grouped by scope.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.globalOperations.aggregatedList@.+module Network.Google.Resource.Compute.GlobalOperations.AggregatedList+ (+ -- * REST Resource+ GlobalOperationsAggregatedListResource++ -- * Creating a Request+ , globalOperationsAggregatedList+ , GlobalOperationsAggregatedList++ -- * Request Lenses+ , goalProject+ , goalFilter+ , goalPageToken+ , goalMaxResults+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.globalOperations.aggregatedList@ method which the+-- 'GlobalOperationsAggregatedList' request conforms to.+type GlobalOperationsAggregatedListResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "aggregated" :>+ "operations" :>+ QueryParam "filter" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] OperationAggregatedList++-- | Retrieves the list of all operations grouped by scope.+--+-- /See:/ 'globalOperationsAggregatedList' smart constructor.+data GlobalOperationsAggregatedList = GlobalOperationsAggregatedList+ { _goalProject :: !Text+ , _goalFilter :: !(Maybe Text)+ , _goalPageToken :: !(Maybe Text)+ , _goalMaxResults :: !(Textual Word32)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'GlobalOperationsAggregatedList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'goalProject'+--+-- * 'goalFilter'+--+-- * 'goalPageToken'+--+-- * 'goalMaxResults'+globalOperationsAggregatedList+ :: Text -- ^ 'goalProject'+ -> GlobalOperationsAggregatedList+globalOperationsAggregatedList pGoalProject_ =+ GlobalOperationsAggregatedList+ { _goalProject = pGoalProject_+ , _goalFilter = Nothing+ , _goalPageToken = Nothing+ , _goalMaxResults = 500+ }++-- | Project ID for this request.+goalProject :: Lens' GlobalOperationsAggregatedList Text+goalProject+ = 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+-- 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.+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.+goalPageToken :: Lens' GlobalOperationsAggregatedList (Maybe Text)+goalPageToken+ = lens _goalPageToken+ (\ s a -> s{_goalPageToken = a})++-- | Maximum count of results to be returned.+goalMaxResults :: Lens' GlobalOperationsAggregatedList Word32+goalMaxResults+ = lens _goalMaxResults+ (\ s a -> s{_goalMaxResults = a})+ . _Coerce++instance GoogleRequest GlobalOperationsAggregatedList+ where+ type Rs GlobalOperationsAggregatedList =+ OperationAggregatedList+ requestClient GlobalOperationsAggregatedList{..}+ = go _goalProject _goalFilter _goalPageToken+ (Just _goalMaxResults)+ (Just AltJSON)+ computeService+ where go+ = buildClient+ (Proxy ::+ Proxy GlobalOperationsAggregatedListResource)+ mempty
+ gen/Network/Google/Resource/Compute/GlobalOperations/Delete.hs view
@@ -0,0 +1,98 @@+{-# 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.GlobalOperations.Delete+-- 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)+--+-- Deletes the specified Operations resource.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.globalOperations.delete@.+module Network.Google.Resource.Compute.GlobalOperations.Delete+ (+ -- * REST Resource+ GlobalOperationsDeleteResource++ -- * Creating a Request+ , globalOperationsDelete+ , GlobalOperationsDelete++ -- * Request Lenses+ , godProject+ , godOperation+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.globalOperations.delete@ method which the+-- 'GlobalOperationsDelete' request conforms to.+type GlobalOperationsDeleteResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "global" :>+ "operations" :>+ Capture "operation" Text :>+ QueryParam "alt" AltJSON :> Delete '[JSON] ()++-- | Deletes the specified Operations resource.+--+-- /See:/ 'globalOperationsDelete' smart constructor.+data GlobalOperationsDelete = GlobalOperationsDelete+ { _godProject :: !Text+ , _godOperation :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'GlobalOperationsDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'godProject'+--+-- * 'godOperation'+globalOperationsDelete+ :: Text -- ^ 'godProject'+ -> Text -- ^ 'godOperation'+ -> GlobalOperationsDelete+globalOperationsDelete pGodProject_ pGodOperation_ =+ GlobalOperationsDelete+ { _godProject = pGodProject_+ , _godOperation = pGodOperation_+ }++-- | Project ID for this request.+godProject :: Lens' GlobalOperationsDelete Text+godProject+ = lens _godProject (\ s a -> s{_godProject = a})++-- | Name of the Operations resource to delete.+godOperation :: Lens' GlobalOperationsDelete Text+godOperation+ = lens _godOperation (\ s a -> s{_godOperation = a})++instance GoogleRequest GlobalOperationsDelete where+ type Rs GlobalOperationsDelete = ()+ requestClient GlobalOperationsDelete{..}+ = go _godProject _godOperation (Just AltJSON)+ computeService+ where go+ = buildClient+ (Proxy :: Proxy GlobalOperationsDeleteResource)+ mempty
+ gen/Network/Google/Resource/Compute/GlobalOperations/Get.hs view
@@ -0,0 +1,98 @@+{-# 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.GlobalOperations.Get+-- 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)+--+-- Retrieves the specified Operations resource.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.globalOperations.get@.+module Network.Google.Resource.Compute.GlobalOperations.Get+ (+ -- * REST Resource+ GlobalOperationsGetResource++ -- * Creating a Request+ , globalOperationsGet+ , GlobalOperationsGet++ -- * Request Lenses+ , gogProject+ , gogOperation+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.globalOperations.get@ method which the+-- 'GlobalOperationsGet' request conforms to.+type GlobalOperationsGetResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "global" :>+ "operations" :>+ Capture "operation" Text :>+ QueryParam "alt" AltJSON :> Get '[JSON] Operation++-- | Retrieves the specified Operations resource.+--+-- /See:/ 'globalOperationsGet' smart constructor.+data GlobalOperationsGet = GlobalOperationsGet+ { _gogProject :: !Text+ , _gogOperation :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'GlobalOperationsGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gogProject'+--+-- * 'gogOperation'+globalOperationsGet+ :: Text -- ^ 'gogProject'+ -> Text -- ^ 'gogOperation'+ -> GlobalOperationsGet+globalOperationsGet pGogProject_ pGogOperation_ =+ GlobalOperationsGet+ { _gogProject = pGogProject_+ , _gogOperation = pGogOperation_+ }++-- | Project ID for this request.+gogProject :: Lens' GlobalOperationsGet Text+gogProject+ = lens _gogProject (\ s a -> s{_gogProject = a})++-- | Name of the Operations resource to return.+gogOperation :: Lens' GlobalOperationsGet Text+gogOperation+ = lens _gogOperation (\ s a -> s{_gogOperation = a})++instance GoogleRequest GlobalOperationsGet where+ type Rs GlobalOperationsGet = Operation+ requestClient GlobalOperationsGet{..}+ = go _gogProject _gogOperation (Just AltJSON)+ computeService+ where go+ = buildClient+ (Proxy :: Proxy GlobalOperationsGetResource)+ mempty
+ gen/Network/Google/Resource/Compute/GlobalOperations/List.hs view
@@ -0,0 +1,137 @@+{-# 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.GlobalOperations.List+-- 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)+--+-- Retrieves the 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@.+module Network.Google.Resource.Compute.GlobalOperations.List+ (+ -- * REST Resource+ GlobalOperationsListResource++ -- * Creating a Request+ , globalOperationsList+ , GlobalOperationsList++ -- * Request Lenses+ , golProject+ , golFilter+ , golPageToken+ , golMaxResults+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.globalOperations.list@ method which the+-- 'GlobalOperationsList' request conforms to.+type GlobalOperationsListResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "global" :>+ "operations" :>+ QueryParam "filter" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :> Get '[JSON] OperationList++-- | Retrieves the list of Operation resources contained within the specified+-- project.+--+-- /See:/ 'globalOperationsList' smart constructor.+data GlobalOperationsList = GlobalOperationsList+ { _golProject :: !Text+ , _golFilter :: !(Maybe Text)+ , _golPageToken :: !(Maybe Text)+ , _golMaxResults :: !(Textual Word32)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'GlobalOperationsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'golProject'+--+-- * 'golFilter'+--+-- * 'golPageToken'+--+-- * 'golMaxResults'+globalOperationsList+ :: Text -- ^ 'golProject'+ -> GlobalOperationsList+globalOperationsList pGolProject_ =+ GlobalOperationsList+ { _golProject = pGolProject_+ , _golFilter = Nothing+ , _golPageToken = Nothing+ , _golMaxResults = 500+ }++-- | Project ID for this request.+golProject :: Lens' GlobalOperationsList Text+golProject+ = 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+-- 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.+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.+golPageToken :: Lens' GlobalOperationsList (Maybe Text)+golPageToken+ = lens _golPageToken (\ s a -> s{_golPageToken = a})++-- | Maximum count of results to be returned.+golMaxResults :: Lens' GlobalOperationsList Word32+golMaxResults+ = lens _golMaxResults+ (\ s a -> s{_golMaxResults = a})+ . _Coerce++instance GoogleRequest GlobalOperationsList where+ type Rs GlobalOperationsList = OperationList+ requestClient GlobalOperationsList{..}+ = go _golProject _golFilter _golPageToken+ (Just _golMaxResults)+ (Just AltJSON)+ computeService+ where go+ = buildClient+ (Proxy :: Proxy GlobalOperationsListResource)+ mempty
+ gen/Network/Google/Resource/Compute/HTTPHealthChecks/Delete.hs view
@@ -0,0 +1,101 @@+{-# 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.HTTPHealthChecks.Delete+-- 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)+--+-- Deletes the specified HttpHealthCheck resource.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.httpHealthChecks.delete@.+module Network.Google.Resource.Compute.HTTPHealthChecks.Delete+ (+ -- * REST Resource+ HTTPHealthChecksDeleteResource++ -- * Creating a Request+ , hTTPHealthChecksDelete+ , HTTPHealthChecksDelete++ -- * Request Lenses+ , httphcdProject+ , httphcdHTTPHealthCheck+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.httpHealthChecks.delete@ method which the+-- 'HTTPHealthChecksDelete' request conforms to.+type HTTPHealthChecksDeleteResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "global" :>+ "httpHealthChecks" :>+ Capture "httpHealthCheck" Text :>+ QueryParam "alt" AltJSON :> Delete '[JSON] Operation++-- | Deletes the specified HttpHealthCheck resource.+--+-- /See:/ 'hTTPHealthChecksDelete' smart constructor.+data HTTPHealthChecksDelete = HTTPHealthChecksDelete+ { _httphcdProject :: !Text+ , _httphcdHTTPHealthCheck :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'HTTPHealthChecksDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'httphcdProject'+--+-- * 'httphcdHTTPHealthCheck'+hTTPHealthChecksDelete+ :: Text -- ^ 'httphcdProject'+ -> Text -- ^ 'httphcdHTTPHealthCheck'+ -> HTTPHealthChecksDelete+hTTPHealthChecksDelete pHttphcdProject_ pHttphcdHTTPHealthCheck_ =+ HTTPHealthChecksDelete+ { _httphcdProject = pHttphcdProject_+ , _httphcdHTTPHealthCheck = pHttphcdHTTPHealthCheck_+ }++-- | Name of the project scoping this request.+httphcdProject :: Lens' HTTPHealthChecksDelete Text+httphcdProject+ = lens _httphcdProject+ (\ s a -> s{_httphcdProject = a})++-- | Name of the HttpHealthCheck resource to delete.+httphcdHTTPHealthCheck :: Lens' HTTPHealthChecksDelete Text+httphcdHTTPHealthCheck+ = lens _httphcdHTTPHealthCheck+ (\ s a -> s{_httphcdHTTPHealthCheck = a})++instance GoogleRequest HTTPHealthChecksDelete where+ type Rs HTTPHealthChecksDelete = Operation+ requestClient HTTPHealthChecksDelete{..}+ = go _httphcdProject _httphcdHTTPHealthCheck+ (Just AltJSON)+ computeService+ where go+ = buildClient+ (Proxy :: Proxy HTTPHealthChecksDeleteResource)+ mempty
+ gen/Network/Google/Resource/Compute/HTTPHealthChecks/Get.hs view
@@ -0,0 +1,102 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.Compute.HTTPHealthChecks.Get+-- 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)+--+-- Returns the specified HttpHealthCheck resource.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.httpHealthChecks.get@.+module Network.Google.Resource.Compute.HTTPHealthChecks.Get+ (+ -- * REST Resource+ HTTPHealthChecksGetResource++ -- * Creating a Request+ , hTTPHealthChecksGet+ , HTTPHealthChecksGet++ -- * Request Lenses+ , httphcgProject+ , httphcgHTTPHealthCheck+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.httpHealthChecks.get@ method which the+-- 'HTTPHealthChecksGet' request conforms to.+type HTTPHealthChecksGetResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "global" :>+ "httpHealthChecks" :>+ Capture "httpHealthCheck" Text :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] HTTPHealthCheck++-- | Returns the specified HttpHealthCheck resource.+--+-- /See:/ 'hTTPHealthChecksGet' smart constructor.+data HTTPHealthChecksGet = HTTPHealthChecksGet+ { _httphcgProject :: !Text+ , _httphcgHTTPHealthCheck :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'HTTPHealthChecksGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'httphcgProject'+--+-- * 'httphcgHTTPHealthCheck'+hTTPHealthChecksGet+ :: Text -- ^ 'httphcgProject'+ -> Text -- ^ 'httphcgHTTPHealthCheck'+ -> HTTPHealthChecksGet+hTTPHealthChecksGet pHttphcgProject_ pHttphcgHTTPHealthCheck_ =+ HTTPHealthChecksGet+ { _httphcgProject = pHttphcgProject_+ , _httphcgHTTPHealthCheck = pHttphcgHTTPHealthCheck_+ }++-- | Name of the project scoping this request.+httphcgProject :: Lens' HTTPHealthChecksGet Text+httphcgProject+ = lens _httphcgProject+ (\ s a -> s{_httphcgProject = a})++-- | Name of the HttpHealthCheck resource to return.+httphcgHTTPHealthCheck :: Lens' HTTPHealthChecksGet Text+httphcgHTTPHealthCheck+ = lens _httphcgHTTPHealthCheck+ (\ s a -> s{_httphcgHTTPHealthCheck = a})++instance GoogleRequest HTTPHealthChecksGet where+ type Rs HTTPHealthChecksGet = HTTPHealthCheck+ requestClient HTTPHealthChecksGet{..}+ = go _httphcgProject _httphcgHTTPHealthCheck+ (Just AltJSON)+ computeService+ where go+ = buildClient+ (Proxy :: Proxy HTTPHealthChecksGetResource)+ mempty
+ gen/Network/Google/Resource/Compute/HTTPHealthChecks/Insert.hs view
@@ -0,0 +1,103 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.Compute.HTTPHealthChecks.Insert+-- 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)+--+-- Creates a HttpHealthCheck 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.httpHealthChecks.insert@.+module Network.Google.Resource.Compute.HTTPHealthChecks.Insert+ (+ -- * REST Resource+ HTTPHealthChecksInsertResource++ -- * Creating a Request+ , hTTPHealthChecksInsert+ , HTTPHealthChecksInsert++ -- * Request Lenses+ , httphciProject+ , httphciPayload+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.httpHealthChecks.insert@ method which the+-- 'HTTPHealthChecksInsert' request conforms to.+type HTTPHealthChecksInsertResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "global" :>+ "httpHealthChecks" :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] HTTPHealthCheck :>+ Post '[JSON] Operation++-- | Creates a HttpHealthCheck resource in the specified project using the+-- data included in the request.+--+-- /See:/ 'hTTPHealthChecksInsert' smart constructor.+data HTTPHealthChecksInsert = HTTPHealthChecksInsert+ { _httphciProject :: !Text+ , _httphciPayload :: !HTTPHealthCheck+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'HTTPHealthChecksInsert' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'httphciProject'+--+-- * 'httphciPayload'+hTTPHealthChecksInsert+ :: Text -- ^ 'httphciProject'+ -> HTTPHealthCheck -- ^ 'httphciPayload'+ -> HTTPHealthChecksInsert+hTTPHealthChecksInsert pHttphciProject_ pHttphciPayload_ =+ HTTPHealthChecksInsert+ { _httphciProject = pHttphciProject_+ , _httphciPayload = pHttphciPayload_+ }++-- | Name of the project scoping this request.+httphciProject :: Lens' HTTPHealthChecksInsert Text+httphciProject+ = lens _httphciProject+ (\ s a -> s{_httphciProject = a})++-- | Multipart request metadata.+httphciPayload :: Lens' HTTPHealthChecksInsert HTTPHealthCheck+httphciPayload+ = lens _httphciPayload+ (\ s a -> s{_httphciPayload = a})++instance GoogleRequest HTTPHealthChecksInsert where+ type Rs HTTPHealthChecksInsert = Operation+ requestClient HTTPHealthChecksInsert{..}+ = go _httphciProject (Just AltJSON) _httphciPayload+ computeService+ where go+ = buildClient+ (Proxy :: Proxy HTTPHealthChecksInsertResource)+ mempty
+ gen/Network/Google/Resource/Compute/HTTPHealthChecks/List.hs view
@@ -0,0 +1,141 @@+{-# 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.HTTPHealthChecks.List+-- 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)+--+-- Retrieves the list of HttpHealthCheck resources available to the+-- specified project.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.httpHealthChecks.list@.+module Network.Google.Resource.Compute.HTTPHealthChecks.List+ (+ -- * REST Resource+ HTTPHealthChecksListResource++ -- * Creating a Request+ , hTTPHealthChecksList+ , HTTPHealthChecksList++ -- * Request Lenses+ , httphclProject+ , httphclFilter+ , httphclPageToken+ , httphclMaxResults+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.httpHealthChecks.list@ method which the+-- 'HTTPHealthChecksList' request conforms to.+type HTTPHealthChecksListResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "global" :>+ "httpHealthChecks" :>+ QueryParam "filter" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] HTTPHealthCheckList++-- | Retrieves the list of HttpHealthCheck resources available to the+-- specified project.+--+-- /See:/ 'hTTPHealthChecksList' smart constructor.+data HTTPHealthChecksList = HTTPHealthChecksList+ { _httphclProject :: !Text+ , _httphclFilter :: !(Maybe Text)+ , _httphclPageToken :: !(Maybe Text)+ , _httphclMaxResults :: !(Textual Word32)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'HTTPHealthChecksList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'httphclProject'+--+-- * 'httphclFilter'+--+-- * 'httphclPageToken'+--+-- * 'httphclMaxResults'+hTTPHealthChecksList+ :: Text -- ^ 'httphclProject'+ -> HTTPHealthChecksList+hTTPHealthChecksList pHttphclProject_ =+ HTTPHealthChecksList+ { _httphclProject = pHttphclProject_+ , _httphclFilter = Nothing+ , _httphclPageToken = Nothing+ , _httphclMaxResults = 500+ }++-- | Name of the project scoping 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+-- 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.+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.+httphclPageToken :: Lens' HTTPHealthChecksList (Maybe Text)+httphclPageToken+ = lens _httphclPageToken+ (\ s a -> s{_httphclPageToken = a})++-- | Maximum count of results to be returned.+httphclMaxResults :: Lens' HTTPHealthChecksList Word32+httphclMaxResults+ = lens _httphclMaxResults+ (\ s a -> s{_httphclMaxResults = a})+ . _Coerce++instance GoogleRequest HTTPHealthChecksList where+ type Rs HTTPHealthChecksList = HTTPHealthCheckList+ requestClient HTTPHealthChecksList{..}+ = go _httphclProject _httphclFilter _httphclPageToken+ (Just _httphclMaxResults)+ (Just AltJSON)+ computeService+ where go+ = buildClient+ (Proxy :: Proxy HTTPHealthChecksListResource)+ mempty
+ gen/Network/Google/Resource/Compute/HTTPHealthChecks/Patch.hs view
@@ -0,0 +1,118 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.Compute.HTTPHealthChecks.Patch+-- 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)+--+-- Updates a HttpHealthCheck resource in the specified project using the+-- data included in the request. This method supports patch semantics.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.httpHealthChecks.patch@.+module Network.Google.Resource.Compute.HTTPHealthChecks.Patch+ (+ -- * REST Resource+ HTTPHealthChecksPatchResource++ -- * Creating a Request+ , hTTPHealthChecksPatch+ , HTTPHealthChecksPatch++ -- * Request Lenses+ , httphcpProject+ , httphcpPayload+ , httphcpHTTPHealthCheck+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.httpHealthChecks.patch@ method which the+-- 'HTTPHealthChecksPatch' request conforms to.+type HTTPHealthChecksPatchResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "global" :>+ "httpHealthChecks" :>+ Capture "httpHealthCheck" Text :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] HTTPHealthCheck :>+ Patch '[JSON] Operation++-- | Updates a HttpHealthCheck resource in the specified project using the+-- data included in the request. This method supports patch semantics.+--+-- /See:/ 'hTTPHealthChecksPatch' smart constructor.+data HTTPHealthChecksPatch = HTTPHealthChecksPatch+ { _httphcpProject :: !Text+ , _httphcpPayload :: !HTTPHealthCheck+ , _httphcpHTTPHealthCheck :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'HTTPHealthChecksPatch' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'httphcpProject'+--+-- * 'httphcpPayload'+--+-- * 'httphcpHTTPHealthCheck'+hTTPHealthChecksPatch+ :: Text -- ^ 'httphcpProject'+ -> HTTPHealthCheck -- ^ 'httphcpPayload'+ -> Text -- ^ 'httphcpHTTPHealthCheck'+ -> HTTPHealthChecksPatch+hTTPHealthChecksPatch pHttphcpProject_ pHttphcpPayload_ pHttphcpHTTPHealthCheck_ =+ HTTPHealthChecksPatch+ { _httphcpProject = pHttphcpProject_+ , _httphcpPayload = pHttphcpPayload_+ , _httphcpHTTPHealthCheck = pHttphcpHTTPHealthCheck_+ }++-- | Name of the project scoping this request.+httphcpProject :: Lens' HTTPHealthChecksPatch Text+httphcpProject+ = lens _httphcpProject+ (\ s a -> s{_httphcpProject = a})++-- | Multipart request metadata.+httphcpPayload :: Lens' HTTPHealthChecksPatch HTTPHealthCheck+httphcpPayload+ = lens _httphcpPayload+ (\ s a -> s{_httphcpPayload = a})++-- | Name of the HttpHealthCheck resource to update.+httphcpHTTPHealthCheck :: Lens' HTTPHealthChecksPatch Text+httphcpHTTPHealthCheck+ = lens _httphcpHTTPHealthCheck+ (\ s a -> s{_httphcpHTTPHealthCheck = a})++instance GoogleRequest HTTPHealthChecksPatch where+ type Rs HTTPHealthChecksPatch = Operation+ requestClient HTTPHealthChecksPatch{..}+ = go _httphcpProject _httphcpHTTPHealthCheck+ (Just AltJSON)+ _httphcpPayload+ computeService+ where go+ = buildClient+ (Proxy :: Proxy HTTPHealthChecksPatchResource)+ mempty
+ gen/Network/Google/Resource/Compute/HTTPHealthChecks/Update.hs view
@@ -0,0 +1,118 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.Compute.HTTPHealthChecks.Update+-- 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)+--+-- Updates a HttpHealthCheck 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.httpHealthChecks.update@.+module Network.Google.Resource.Compute.HTTPHealthChecks.Update+ (+ -- * REST Resource+ HTTPHealthChecksUpdateResource++ -- * Creating a Request+ , hTTPHealthChecksUpdate+ , HTTPHealthChecksUpdate++ -- * Request Lenses+ , httphcuProject+ , httphcuPayload+ , httphcuHTTPHealthCheck+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.httpHealthChecks.update@ method which the+-- 'HTTPHealthChecksUpdate' request conforms to.+type HTTPHealthChecksUpdateResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "global" :>+ "httpHealthChecks" :>+ Capture "httpHealthCheck" Text :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] HTTPHealthCheck :>+ Put '[JSON] Operation++-- | Updates a HttpHealthCheck resource in the specified project using the+-- data included in the request.+--+-- /See:/ 'hTTPHealthChecksUpdate' smart constructor.+data HTTPHealthChecksUpdate = HTTPHealthChecksUpdate+ { _httphcuProject :: !Text+ , _httphcuPayload :: !HTTPHealthCheck+ , _httphcuHTTPHealthCheck :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'HTTPHealthChecksUpdate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'httphcuProject'+--+-- * 'httphcuPayload'+--+-- * 'httphcuHTTPHealthCheck'+hTTPHealthChecksUpdate+ :: Text -- ^ 'httphcuProject'+ -> HTTPHealthCheck -- ^ 'httphcuPayload'+ -> Text -- ^ 'httphcuHTTPHealthCheck'+ -> HTTPHealthChecksUpdate+hTTPHealthChecksUpdate pHttphcuProject_ pHttphcuPayload_ pHttphcuHTTPHealthCheck_ =+ HTTPHealthChecksUpdate+ { _httphcuProject = pHttphcuProject_+ , _httphcuPayload = pHttphcuPayload_+ , _httphcuHTTPHealthCheck = pHttphcuHTTPHealthCheck_+ }++-- | Name of the project scoping this request.+httphcuProject :: Lens' HTTPHealthChecksUpdate Text+httphcuProject+ = lens _httphcuProject+ (\ s a -> s{_httphcuProject = a})++-- | Multipart request metadata.+httphcuPayload :: Lens' HTTPHealthChecksUpdate HTTPHealthCheck+httphcuPayload+ = lens _httphcuPayload+ (\ s a -> s{_httphcuPayload = a})++-- | Name of the HttpHealthCheck resource to update.+httphcuHTTPHealthCheck :: Lens' HTTPHealthChecksUpdate Text+httphcuHTTPHealthCheck+ = lens _httphcuHTTPHealthCheck+ (\ s a -> s{_httphcuHTTPHealthCheck = a})++instance GoogleRequest HTTPHealthChecksUpdate where+ type Rs HTTPHealthChecksUpdate = Operation+ requestClient HTTPHealthChecksUpdate{..}+ = go _httphcuProject _httphcuHTTPHealthCheck+ (Just AltJSON)+ _httphcuPayload+ computeService+ where go+ = buildClient+ (Proxy :: Proxy HTTPHealthChecksUpdateResource)+ mempty
+ gen/Network/Google/Resource/Compute/HTTPSHealthChecks/Delete.hs view
@@ -0,0 +1,100 @@+{-# 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.HTTPSHealthChecks.Delete+-- 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)+--+-- Deletes the specified HttpsHealthCheck resource.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.httpsHealthChecks.delete@.+module Network.Google.Resource.Compute.HTTPSHealthChecks.Delete+ (+ -- * REST Resource+ HTTPSHealthChecksDeleteResource++ -- * Creating a Request+ , httpsHealthChecksDelete+ , HTTPSHealthChecksDelete++ -- * Request Lenses+ , hhcdProject+ , hhcdHTTPSHealthCheck+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.httpsHealthChecks.delete@ method which the+-- 'HTTPSHealthChecksDelete' request conforms to.+type HTTPSHealthChecksDeleteResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "global" :>+ "httpsHealthChecks" :>+ Capture "httpsHealthCheck" Text :>+ QueryParam "alt" AltJSON :> Delete '[JSON] Operation++-- | Deletes the specified HttpsHealthCheck resource.+--+-- /See:/ 'httpsHealthChecksDelete' smart constructor.+data HTTPSHealthChecksDelete = HTTPSHealthChecksDelete+ { _hhcdProject :: !Text+ , _hhcdHTTPSHealthCheck :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'HTTPSHealthChecksDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'hhcdProject'+--+-- * 'hhcdHTTPSHealthCheck'+httpsHealthChecksDelete+ :: Text -- ^ 'hhcdProject'+ -> Text -- ^ 'hhcdHTTPSHealthCheck'+ -> HTTPSHealthChecksDelete+httpsHealthChecksDelete pHhcdProject_ pHhcdHTTPSHealthCheck_ =+ HTTPSHealthChecksDelete+ { _hhcdProject = pHhcdProject_+ , _hhcdHTTPSHealthCheck = pHhcdHTTPSHealthCheck_+ }++-- | Name of the project scoping this request.+hhcdProject :: Lens' HTTPSHealthChecksDelete Text+hhcdProject+ = lens _hhcdProject (\ s a -> s{_hhcdProject = a})++-- | Name of the HttpsHealthCheck resource to delete.+hhcdHTTPSHealthCheck :: Lens' HTTPSHealthChecksDelete Text+hhcdHTTPSHealthCheck+ = lens _hhcdHTTPSHealthCheck+ (\ s a -> s{_hhcdHTTPSHealthCheck = a})++instance GoogleRequest HTTPSHealthChecksDelete where+ type Rs HTTPSHealthChecksDelete = Operation+ requestClient HTTPSHealthChecksDelete{..}+ = go _hhcdProject _hhcdHTTPSHealthCheck+ (Just AltJSON)+ computeService+ where go+ = buildClient+ (Proxy :: Proxy HTTPSHealthChecksDeleteResource)+ mempty
+ gen/Network/Google/Resource/Compute/HTTPSHealthChecks/Get.hs view
@@ -0,0 +1,101 @@+{-# 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.HTTPSHealthChecks.Get+-- 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)+--+-- Returns the specified HttpsHealthCheck resource.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.httpsHealthChecks.get@.+module Network.Google.Resource.Compute.HTTPSHealthChecks.Get+ (+ -- * REST Resource+ HTTPSHealthChecksGetResource++ -- * Creating a Request+ , httpsHealthChecksGet+ , HTTPSHealthChecksGet++ -- * Request Lenses+ , hhcgProject+ , hhcgHTTPSHealthCheck+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.httpsHealthChecks.get@ method which the+-- 'HTTPSHealthChecksGet' request conforms to.+type HTTPSHealthChecksGetResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "global" :>+ "httpsHealthChecks" :>+ Capture "httpsHealthCheck" Text :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] HTTPSHealthCheck++-- | Returns the specified HttpsHealthCheck resource.+--+-- /See:/ 'httpsHealthChecksGet' smart constructor.+data HTTPSHealthChecksGet = HTTPSHealthChecksGet+ { _hhcgProject :: !Text+ , _hhcgHTTPSHealthCheck :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'HTTPSHealthChecksGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'hhcgProject'+--+-- * 'hhcgHTTPSHealthCheck'+httpsHealthChecksGet+ :: Text -- ^ 'hhcgProject'+ -> Text -- ^ 'hhcgHTTPSHealthCheck'+ -> HTTPSHealthChecksGet+httpsHealthChecksGet pHhcgProject_ pHhcgHTTPSHealthCheck_ =+ HTTPSHealthChecksGet+ { _hhcgProject = pHhcgProject_+ , _hhcgHTTPSHealthCheck = pHhcgHTTPSHealthCheck_+ }++-- | Name of the project scoping this request.+hhcgProject :: Lens' HTTPSHealthChecksGet Text+hhcgProject+ = lens _hhcgProject (\ s a -> s{_hhcgProject = a})++-- | Name of the HttpsHealthCheck resource to return.+hhcgHTTPSHealthCheck :: Lens' HTTPSHealthChecksGet Text+hhcgHTTPSHealthCheck+ = lens _hhcgHTTPSHealthCheck+ (\ s a -> s{_hhcgHTTPSHealthCheck = a})++instance GoogleRequest HTTPSHealthChecksGet where+ type Rs HTTPSHealthChecksGet = HTTPSHealthCheck+ requestClient HTTPSHealthChecksGet{..}+ = go _hhcgProject _hhcgHTTPSHealthCheck+ (Just AltJSON)+ computeService+ where go+ = buildClient+ (Proxy :: Proxy HTTPSHealthChecksGetResource)+ mempty
+ gen/Network/Google/Resource/Compute/HTTPSHealthChecks/Insert.hs view
@@ -0,0 +1,101 @@+{-# 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.HTTPSHealthChecks.Insert+-- 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)+--+-- Creates a HttpsHealthCheck 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.httpsHealthChecks.insert@.+module Network.Google.Resource.Compute.HTTPSHealthChecks.Insert+ (+ -- * REST Resource+ HTTPSHealthChecksInsertResource++ -- * Creating a Request+ , httpsHealthChecksInsert+ , HTTPSHealthChecksInsert++ -- * Request Lenses+ , hhciProject+ , hhciPayload+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.httpsHealthChecks.insert@ method which the+-- 'HTTPSHealthChecksInsert' request conforms to.+type HTTPSHealthChecksInsertResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "global" :>+ "httpsHealthChecks" :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] HTTPSHealthCheck :>+ Post '[JSON] Operation++-- | Creates a HttpsHealthCheck resource in the specified project using the+-- data included in the request.+--+-- /See:/ 'httpsHealthChecksInsert' smart constructor.+data HTTPSHealthChecksInsert = HTTPSHealthChecksInsert+ { _hhciProject :: !Text+ , _hhciPayload :: !HTTPSHealthCheck+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'HTTPSHealthChecksInsert' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'hhciProject'+--+-- * 'hhciPayload'+httpsHealthChecksInsert+ :: Text -- ^ 'hhciProject'+ -> HTTPSHealthCheck -- ^ 'hhciPayload'+ -> HTTPSHealthChecksInsert+httpsHealthChecksInsert pHhciProject_ pHhciPayload_ =+ HTTPSHealthChecksInsert+ { _hhciProject = pHhciProject_+ , _hhciPayload = pHhciPayload_+ }++-- | Name of the project scoping this request.+hhciProject :: Lens' HTTPSHealthChecksInsert Text+hhciProject+ = lens _hhciProject (\ s a -> s{_hhciProject = a})++-- | Multipart request metadata.+hhciPayload :: Lens' HTTPSHealthChecksInsert HTTPSHealthCheck+hhciPayload+ = lens _hhciPayload (\ s a -> s{_hhciPayload = a})++instance GoogleRequest HTTPSHealthChecksInsert where+ type Rs HTTPSHealthChecksInsert = Operation+ requestClient HTTPSHealthChecksInsert{..}+ = go _hhciProject (Just AltJSON) _hhciPayload+ computeService+ where go+ = buildClient+ (Proxy :: Proxy HTTPSHealthChecksInsertResource)+ mempty
+ gen/Network/Google/Resource/Compute/HTTPSHealthChecks/List.hs view
@@ -0,0 +1,139 @@+{-# 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.HTTPSHealthChecks.List+-- 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)+--+-- Retrieves the list of HttpsHealthCheck resources available to the+-- specified project.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.httpsHealthChecks.list@.+module Network.Google.Resource.Compute.HTTPSHealthChecks.List+ (+ -- * REST Resource+ HTTPSHealthChecksListResource++ -- * Creating a Request+ , httpsHealthChecksList+ , HTTPSHealthChecksList++ -- * Request Lenses+ , hhclProject+ , hhclFilter+ , hhclPageToken+ , hhclMaxResults+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.httpsHealthChecks.list@ method which the+-- 'HTTPSHealthChecksList' request conforms to.+type HTTPSHealthChecksListResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "global" :>+ "httpsHealthChecks" :>+ QueryParam "filter" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] HTTPSHealthCheckList++-- | Retrieves the list of HttpsHealthCheck resources available to the+-- specified project.+--+-- /See:/ 'httpsHealthChecksList' smart constructor.+data HTTPSHealthChecksList = HTTPSHealthChecksList+ { _hhclProject :: !Text+ , _hhclFilter :: !(Maybe Text)+ , _hhclPageToken :: !(Maybe Text)+ , _hhclMaxResults :: !(Textual Word32)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'HTTPSHealthChecksList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'hhclProject'+--+-- * 'hhclFilter'+--+-- * 'hhclPageToken'+--+-- * 'hhclMaxResults'+httpsHealthChecksList+ :: Text -- ^ 'hhclProject'+ -> HTTPSHealthChecksList+httpsHealthChecksList pHhclProject_ =+ HTTPSHealthChecksList+ { _hhclProject = pHhclProject_+ , _hhclFilter = Nothing+ , _hhclPageToken = Nothing+ , _hhclMaxResults = 500+ }++-- | Name of the project scoping 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+-- 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.+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.+hhclPageToken :: Lens' HTTPSHealthChecksList (Maybe Text)+hhclPageToken+ = lens _hhclPageToken+ (\ s a -> s{_hhclPageToken = a})++-- | Maximum count of results to be returned.+hhclMaxResults :: Lens' HTTPSHealthChecksList Word32+hhclMaxResults+ = lens _hhclMaxResults+ (\ s a -> s{_hhclMaxResults = a})+ . _Coerce++instance GoogleRequest HTTPSHealthChecksList where+ type Rs HTTPSHealthChecksList = HTTPSHealthCheckList+ requestClient HTTPSHealthChecksList{..}+ = go _hhclProject _hhclFilter _hhclPageToken+ (Just _hhclMaxResults)+ (Just AltJSON)+ computeService+ where go+ = buildClient+ (Proxy :: Proxy HTTPSHealthChecksListResource)+ mempty
+ gen/Network/Google/Resource/Compute/HTTPSHealthChecks/Patch.hs view
@@ -0,0 +1,116 @@+{-# 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.HTTPSHealthChecks.Patch+-- 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)+--+-- Updates a HttpsHealthCheck resource in the specified project using the+-- data included in the request. This method supports patch semantics.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.httpsHealthChecks.patch@.+module Network.Google.Resource.Compute.HTTPSHealthChecks.Patch+ (+ -- * REST Resource+ HTTPSHealthChecksPatchResource++ -- * Creating a Request+ , httpsHealthChecksPatch+ , HTTPSHealthChecksPatch++ -- * Request Lenses+ , hhcpProject+ , hhcpPayload+ , hhcpHTTPSHealthCheck+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.httpsHealthChecks.patch@ method which the+-- 'HTTPSHealthChecksPatch' request conforms to.+type HTTPSHealthChecksPatchResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "global" :>+ "httpsHealthChecks" :>+ Capture "httpsHealthCheck" Text :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] HTTPSHealthCheck :>+ Patch '[JSON] Operation++-- | Updates a HttpsHealthCheck resource in the specified project using the+-- data included in the request. This method supports patch semantics.+--+-- /See:/ 'httpsHealthChecksPatch' smart constructor.+data HTTPSHealthChecksPatch = HTTPSHealthChecksPatch+ { _hhcpProject :: !Text+ , _hhcpPayload :: !HTTPSHealthCheck+ , _hhcpHTTPSHealthCheck :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'HTTPSHealthChecksPatch' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'hhcpProject'+--+-- * 'hhcpPayload'+--+-- * 'hhcpHTTPSHealthCheck'+httpsHealthChecksPatch+ :: Text -- ^ 'hhcpProject'+ -> HTTPSHealthCheck -- ^ 'hhcpPayload'+ -> Text -- ^ 'hhcpHTTPSHealthCheck'+ -> HTTPSHealthChecksPatch+httpsHealthChecksPatch pHhcpProject_ pHhcpPayload_ pHhcpHTTPSHealthCheck_ =+ HTTPSHealthChecksPatch+ { _hhcpProject = pHhcpProject_+ , _hhcpPayload = pHhcpPayload_+ , _hhcpHTTPSHealthCheck = pHhcpHTTPSHealthCheck_+ }++-- | Name of the project scoping this request.+hhcpProject :: Lens' HTTPSHealthChecksPatch Text+hhcpProject+ = lens _hhcpProject (\ s a -> s{_hhcpProject = a})++-- | Multipart request metadata.+hhcpPayload :: Lens' HTTPSHealthChecksPatch HTTPSHealthCheck+hhcpPayload+ = lens _hhcpPayload (\ s a -> s{_hhcpPayload = a})++-- | Name of the HttpsHealthCheck resource to update.+hhcpHTTPSHealthCheck :: Lens' HTTPSHealthChecksPatch Text+hhcpHTTPSHealthCheck+ = lens _hhcpHTTPSHealthCheck+ (\ s a -> s{_hhcpHTTPSHealthCheck = a})++instance GoogleRequest HTTPSHealthChecksPatch where+ type Rs HTTPSHealthChecksPatch = Operation+ requestClient HTTPSHealthChecksPatch{..}+ = go _hhcpProject _hhcpHTTPSHealthCheck+ (Just AltJSON)+ _hhcpPayload+ computeService+ where go+ = buildClient+ (Proxy :: Proxy HTTPSHealthChecksPatchResource)+ mempty
+ gen/Network/Google/Resource/Compute/HTTPSHealthChecks/Update.hs view
@@ -0,0 +1,116 @@+{-# 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.HTTPSHealthChecks.Update+-- 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)+--+-- Updates a HttpsHealthCheck 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.httpsHealthChecks.update@.+module Network.Google.Resource.Compute.HTTPSHealthChecks.Update+ (+ -- * REST Resource+ HTTPSHealthChecksUpdateResource++ -- * Creating a Request+ , httpsHealthChecksUpdate+ , HTTPSHealthChecksUpdate++ -- * Request Lenses+ , hhcuProject+ , hhcuPayload+ , hhcuHTTPSHealthCheck+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.httpsHealthChecks.update@ method which the+-- 'HTTPSHealthChecksUpdate' request conforms to.+type HTTPSHealthChecksUpdateResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "global" :>+ "httpsHealthChecks" :>+ Capture "httpsHealthCheck" Text :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] HTTPSHealthCheck :>+ Put '[JSON] Operation++-- | Updates a HttpsHealthCheck resource in the specified project using the+-- data included in the request.+--+-- /See:/ 'httpsHealthChecksUpdate' smart constructor.+data HTTPSHealthChecksUpdate = HTTPSHealthChecksUpdate+ { _hhcuProject :: !Text+ , _hhcuPayload :: !HTTPSHealthCheck+ , _hhcuHTTPSHealthCheck :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'HTTPSHealthChecksUpdate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'hhcuProject'+--+-- * 'hhcuPayload'+--+-- * 'hhcuHTTPSHealthCheck'+httpsHealthChecksUpdate+ :: Text -- ^ 'hhcuProject'+ -> HTTPSHealthCheck -- ^ 'hhcuPayload'+ -> Text -- ^ 'hhcuHTTPSHealthCheck'+ -> HTTPSHealthChecksUpdate+httpsHealthChecksUpdate pHhcuProject_ pHhcuPayload_ pHhcuHTTPSHealthCheck_ =+ HTTPSHealthChecksUpdate+ { _hhcuProject = pHhcuProject_+ , _hhcuPayload = pHhcuPayload_+ , _hhcuHTTPSHealthCheck = pHhcuHTTPSHealthCheck_+ }++-- | Name of the project scoping this request.+hhcuProject :: Lens' HTTPSHealthChecksUpdate Text+hhcuProject+ = lens _hhcuProject (\ s a -> s{_hhcuProject = a})++-- | Multipart request metadata.+hhcuPayload :: Lens' HTTPSHealthChecksUpdate HTTPSHealthCheck+hhcuPayload+ = lens _hhcuPayload (\ s a -> s{_hhcuPayload = a})++-- | Name of the HttpsHealthCheck resource to update.+hhcuHTTPSHealthCheck :: Lens' HTTPSHealthChecksUpdate Text+hhcuHTTPSHealthCheck+ = lens _hhcuHTTPSHealthCheck+ (\ s a -> s{_hhcuHTTPSHealthCheck = a})++instance GoogleRequest HTTPSHealthChecksUpdate where+ type Rs HTTPSHealthChecksUpdate = Operation+ requestClient HTTPSHealthChecksUpdate{..}+ = go _hhcuProject _hhcuHTTPSHealthCheck+ (Just AltJSON)+ _hhcuPayload+ computeService+ where go+ = buildClient+ (Proxy :: Proxy HTTPSHealthChecksUpdateResource)+ mempty
+ gen/Network/Google/Resource/Compute/Images/Delete.hs view
@@ -0,0 +1,96 @@+{-# 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.Delete+-- 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)+--+-- Deletes the specified image resource.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.images.delete@.+module Network.Google.Resource.Compute.Images.Delete+ (+ -- * REST Resource+ ImagesDeleteResource++ -- * Creating a Request+ , imagesDelete+ , ImagesDelete++ -- * Request Lenses+ , imaImage+ , imaProject+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.images.delete@ method which the+-- 'ImagesDelete' request conforms to.+type ImagesDeleteResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "global" :>+ "images" :>+ Capture "image" Text :>+ QueryParam "alt" AltJSON :> Delete '[JSON] Operation++-- | Deletes the specified image resource.+--+-- /See:/ 'imagesDelete' smart constructor.+data ImagesDelete = ImagesDelete+ { _imaImage :: !Text+ , _imaProject :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ImagesDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'imaImage'+--+-- * 'imaProject'+imagesDelete+ :: Text -- ^ 'imaImage'+ -> Text -- ^ 'imaProject'+ -> ImagesDelete+imagesDelete pImaImage_ pImaProject_ =+ ImagesDelete+ { _imaImage = pImaImage_+ , _imaProject = pImaProject_+ }++-- | Name of the image resource to delete.+imaImage :: Lens' ImagesDelete Text+imaImage = lens _imaImage (\ s a -> s{_imaImage = a})++-- | Project ID for this request.+imaProject :: Lens' ImagesDelete Text+imaProject+ = lens _imaProject (\ s a -> s{_imaProject = a})++instance GoogleRequest ImagesDelete where+ type Rs ImagesDelete = Operation+ requestClient ImagesDelete{..}+ = go _imaProject _imaImage (Just AltJSON)+ computeService+ where go+ = buildClient (Proxy :: Proxy ImagesDeleteResource)+ mempty
+ gen/Network/Google/Resource/Compute/Images/Deprecate.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.Images.Deprecate+-- 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)+--+-- Sets the deprecation status of an image. If an empty request body is+-- given, clears the deprecation status instead.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.images.deprecate@.+module Network.Google.Resource.Compute.Images.Deprecate+ (+ -- * REST Resource+ ImagesDeprecateResource++ -- * Creating a Request+ , imagesDeprecate+ , ImagesDeprecate++ -- * Request Lenses+ , imamImage+ , imamProject+ , imamPayload+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.images.deprecate@ method which the+-- 'ImagesDeprecate' request conforms to.+type ImagesDeprecateResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "global" :>+ "images" :>+ Capture "image" Text :>+ "deprecate" :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] DeprecationStatus :>+ Post '[JSON] Operation++-- | Sets the deprecation status of an image. If an empty request body is+-- given, clears the deprecation status instead.+--+-- /See:/ 'imagesDeprecate' smart constructor.+data ImagesDeprecate = ImagesDeprecate+ { _imamImage :: !Text+ , _imamProject :: !Text+ , _imamPayload :: !DeprecationStatus+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ImagesDeprecate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'imamImage'+--+-- * 'imamProject'+--+-- * 'imamPayload'+imagesDeprecate+ :: Text -- ^ 'imamImage'+ -> Text -- ^ 'imamProject'+ -> DeprecationStatus -- ^ 'imamPayload'+ -> ImagesDeprecate+imagesDeprecate pImamImage_ pImamProject_ pImamPayload_ =+ ImagesDeprecate+ { _imamImage = pImamImage_+ , _imamProject = pImamProject_+ , _imamPayload = pImamPayload_+ }++-- | Image name.+imamImage :: Lens' ImagesDeprecate Text+imamImage+ = lens _imamImage (\ s a -> s{_imamImage = a})++-- | Project ID for this request.+imamProject :: Lens' ImagesDeprecate Text+imamProject+ = lens _imamProject (\ s a -> s{_imamProject = a})++-- | Multipart request metadata.+imamPayload :: Lens' ImagesDeprecate DeprecationStatus+imamPayload+ = lens _imamPayload (\ s a -> s{_imamPayload = a})++instance GoogleRequest ImagesDeprecate where+ type Rs ImagesDeprecate = Operation+ requestClient ImagesDeprecate{..}+ = go _imamProject _imamImage (Just AltJSON)+ _imamPayload+ computeService+ where go+ = buildClient+ (Proxy :: Proxy ImagesDeprecateResource)+ mempty
+ gen/Network/Google/Resource/Compute/Images/Get.hs view
@@ -0,0 +1,94 @@+{-# 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.Get+-- 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)+--+-- Returns the specified image resource.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.images.get@.+module Network.Google.Resource.Compute.Images.Get+ (+ -- * REST Resource+ ImagesGetResource++ -- * Creating a Request+ , imagesGet+ , ImagesGet++ -- * Request Lenses+ , iImage+ , iProject+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.images.get@ method which the+-- 'ImagesGet' request conforms to.+type ImagesGetResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "global" :>+ "images" :>+ Capture "image" Text :>+ QueryParam "alt" AltJSON :> Get '[JSON] Image++-- | Returns the specified image resource.+--+-- /See:/ 'imagesGet' smart constructor.+data ImagesGet = ImagesGet+ { _iImage :: !Text+ , _iProject :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ImagesGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'iImage'+--+-- * 'iProject'+imagesGet+ :: Text -- ^ 'iImage'+ -> Text -- ^ 'iProject'+ -> ImagesGet+imagesGet pIImage_ pIProject_ =+ ImagesGet+ { _iImage = pIImage_+ , _iProject = pIProject_+ }++-- | Name of the image resource to return.+iImage :: Lens' ImagesGet Text+iImage = lens _iImage (\ s a -> s{_iImage = a})++-- | Project ID for this request.+iProject :: Lens' ImagesGet Text+iProject = lens _iProject (\ s a -> s{_iProject = a})++instance GoogleRequest ImagesGet where+ type Rs ImagesGet = Image+ requestClient ImagesGet{..}+ = go _iProject _iImage (Just AltJSON) computeService+ where go+ = buildClient (Proxy :: Proxy ImagesGetResource)+ mempty
+ gen/Network/Google/Resource/Compute/Images/Insert.hs view
@@ -0,0 +1,99 @@+{-# 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.Insert+-- 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)+--+-- Creates an image 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.images.insert@.+module Network.Google.Resource.Compute.Images.Insert+ (+ -- * REST Resource+ ImagesInsertResource++ -- * Creating a Request+ , imagesInsert+ , ImagesInsert++ -- * Request Lenses+ , iiProject+ , iiPayload+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.images.insert@ method which the+-- 'ImagesInsert' request conforms to.+type ImagesInsertResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "global" :>+ "images" :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] Image :> Post '[JSON] Operation++-- | Creates an image resource in the specified project using the data+-- included in the request.+--+-- /See:/ 'imagesInsert' smart constructor.+data ImagesInsert = ImagesInsert+ { _iiProject :: !Text+ , _iiPayload :: !Image+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ImagesInsert' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'iiProject'+--+-- * 'iiPayload'+imagesInsert+ :: Text -- ^ 'iiProject'+ -> Image -- ^ 'iiPayload'+ -> ImagesInsert+imagesInsert pIiProject_ pIiPayload_ =+ ImagesInsert+ { _iiProject = pIiProject_+ , _iiPayload = pIiPayload_+ }++-- | Project ID for this request.+iiProject :: Lens' ImagesInsert Text+iiProject+ = lens _iiProject (\ s a -> s{_iiProject = a})++-- | Multipart request metadata.+iiPayload :: Lens' ImagesInsert Image+iiPayload+ = lens _iiPayload (\ s a -> s{_iiPayload = a})++instance GoogleRequest ImagesInsert where+ type Rs ImagesInsert = Operation+ requestClient ImagesInsert{..}+ = go _iiProject (Just AltJSON) _iiPayload+ computeService+ where go+ = buildClient (Proxy :: Proxy ImagesInsertResource)+ mempty
+ gen/Network/Google/Resource/Compute/Images/List.hs view
@@ -0,0 +1,146 @@+{-# 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.List+-- 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)+--+-- Retrieves the list of private images available to the specified project.+-- Private images are images you create that belong to your project. This+-- method does not get any images that belong to other projects, including+-- publicly-available images, like Debian 7. If you want to get a list of+-- publicly-available images, use this method to make a request to the+-- respective image project, such as debian-cloud or windows-cloud. See+-- Accessing images for more information.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.images.list@.+module Network.Google.Resource.Compute.Images.List+ (+ -- * REST Resource+ ImagesListResource++ -- * Creating a Request+ , imagesList+ , ImagesList++ -- * Request Lenses+ , illProject+ , illFilter+ , illPageToken+ , illMaxResults+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.images.list@ method which the+-- 'ImagesList' request conforms to.+type ImagesListResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "global" :>+ "images" :>+ QueryParam "filter" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :> Get '[JSON] ImageList++-- | Retrieves the list of private images available to the specified project.+-- Private images are images you create that belong to your project. This+-- method does not get any images that belong to other projects, including+-- publicly-available images, like Debian 7. If you want to get a list of+-- publicly-available images, use this method to make a request to the+-- respective image project, such as debian-cloud or windows-cloud. See+-- Accessing images for more information.+--+-- /See:/ 'imagesList' smart constructor.+data ImagesList = ImagesList+ { _illProject :: !Text+ , _illFilter :: !(Maybe Text)+ , _illPageToken :: !(Maybe Text)+ , _illMaxResults :: !(Textual Word32)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ImagesList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'illProject'+--+-- * 'illFilter'+--+-- * 'illPageToken'+--+-- * 'illMaxResults'+imagesList+ :: Text -- ^ 'illProject'+ -> ImagesList+imagesList pIllProject_ =+ ImagesList+ { _illProject = pIllProject_+ , _illFilter = Nothing+ , _illPageToken = Nothing+ , _illMaxResults = 500+ }++-- | Project ID for this request.+illProject :: Lens' ImagesList Text+illProject+ = 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+-- 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.+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.+illPageToken :: Lens' ImagesList (Maybe Text)+illPageToken+ = lens _illPageToken (\ s a -> s{_illPageToken = a})++-- | Maximum count of results to be returned.+illMaxResults :: Lens' ImagesList Word32+illMaxResults+ = lens _illMaxResults+ (\ s a -> s{_illMaxResults = a})+ . _Coerce++instance GoogleRequest ImagesList where+ type Rs ImagesList = ImageList+ requestClient ImagesList{..}+ = go _illProject _illFilter _illPageToken+ (Just _illMaxResults)+ (Just AltJSON)+ computeService+ where go+ = buildClient (Proxy :: Proxy ImagesListResource)+ mempty
+ gen/Network/Google/Resource/Compute/InstanceGroupManagers/AbandonInstances.hs view
@@ -0,0 +1,149 @@+{-# 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.InstanceGroupManagers.AbandonInstances+-- 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)+--+-- Schedules a group action to remove the specified instances from the+-- managed instance group. Abandoning an instance does not delete the+-- instance, but it does remove the instance from any target pools that are+-- applied by the managed instance group. This method reduces the+-- targetSize of the managed instance group by the number of instances that+-- you abandon. This operation is marked as DONE when the action is+-- scheduled even if the instances have not yet been removed from the+-- group. You must separately verify the status of the abandoning action+-- with the listmanagedinstances method.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.instanceGroupManagers.abandonInstances@.+module Network.Google.Resource.Compute.InstanceGroupManagers.AbandonInstances+ (+ -- * REST Resource+ InstanceGroupManagersAbandonInstancesResource++ -- * Creating a Request+ , instanceGroupManagersAbandonInstances+ , InstanceGroupManagersAbandonInstances++ -- * Request Lenses+ , igmaiProject+ , igmaiInstanceGroupManager+ , igmaiZone+ , igmaiPayload+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.instanceGroupManagers.abandonInstances@ method which the+-- 'InstanceGroupManagersAbandonInstances' request conforms to.+type InstanceGroupManagersAbandonInstancesResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "zones" :>+ Capture "zone" Text :>+ "instanceGroupManagers" :>+ Capture "instanceGroupManager" Text :>+ "abandonInstances" :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON]+ InstanceGroupManagersAbandonInstancesRequest+ :> Post '[JSON] Operation++-- | Schedules a group action to remove the specified instances from the+-- managed instance group. Abandoning an instance does not delete the+-- instance, but it does remove the instance from any target pools that are+-- applied by the managed instance group. This method reduces the+-- targetSize of the managed instance group by the number of instances that+-- you abandon. This operation is marked as DONE when the action is+-- scheduled even if the instances have not yet been removed from the+-- group. You must separately verify the status of the abandoning action+-- with the listmanagedinstances method.+--+-- /See:/ 'instanceGroupManagersAbandonInstances' smart constructor.+data InstanceGroupManagersAbandonInstances = InstanceGroupManagersAbandonInstances+ { _igmaiProject :: !Text+ , _igmaiInstanceGroupManager :: !Text+ , _igmaiZone :: !Text+ , _igmaiPayload :: !InstanceGroupManagersAbandonInstancesRequest+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstanceGroupManagersAbandonInstances' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'igmaiProject'+--+-- * 'igmaiInstanceGroupManager'+--+-- * 'igmaiZone'+--+-- * 'igmaiPayload'+instanceGroupManagersAbandonInstances+ :: Text -- ^ 'igmaiProject'+ -> Text -- ^ 'igmaiInstanceGroupManager'+ -> Text -- ^ 'igmaiZone'+ -> InstanceGroupManagersAbandonInstancesRequest -- ^ 'igmaiPayload'+ -> InstanceGroupManagersAbandonInstances+instanceGroupManagersAbandonInstances pIgmaiProject_ pIgmaiInstanceGroupManager_ pIgmaiZone_ pIgmaiPayload_ =+ InstanceGroupManagersAbandonInstances+ { _igmaiProject = pIgmaiProject_+ , _igmaiInstanceGroupManager = pIgmaiInstanceGroupManager_+ , _igmaiZone = pIgmaiZone_+ , _igmaiPayload = pIgmaiPayload_+ }++-- | The project ID for this request.+igmaiProject :: Lens' InstanceGroupManagersAbandonInstances Text+igmaiProject+ = lens _igmaiProject (\ s a -> s{_igmaiProject = a})++-- | The name of the managed instance group.+igmaiInstanceGroupManager :: Lens' InstanceGroupManagersAbandonInstances Text+igmaiInstanceGroupManager+ = lens _igmaiInstanceGroupManager+ (\ s a -> s{_igmaiInstanceGroupManager = a})++-- | The name of the zone where the managed instance group is located.+igmaiZone :: Lens' InstanceGroupManagersAbandonInstances Text+igmaiZone+ = lens _igmaiZone (\ s a -> s{_igmaiZone = a})++-- | Multipart request metadata.+igmaiPayload :: Lens' InstanceGroupManagersAbandonInstances InstanceGroupManagersAbandonInstancesRequest+igmaiPayload+ = lens _igmaiPayload (\ s a -> s{_igmaiPayload = a})++instance GoogleRequest+ InstanceGroupManagersAbandonInstances where+ type Rs InstanceGroupManagersAbandonInstances =+ Operation+ requestClient+ InstanceGroupManagersAbandonInstances{..}+ = go _igmaiProject _igmaiZone+ _igmaiInstanceGroupManager+ (Just AltJSON)+ _igmaiPayload+ computeService+ where go+ = buildClient+ (Proxy ::+ Proxy InstanceGroupManagersAbandonInstancesResource)+ mempty
+ gen/Network/Google/Resource/Compute/InstanceGroupManagers/AggregatedList.hs view
@@ -0,0 +1,140 @@+{-# 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.InstanceGroupManagers.AggregatedList+-- 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)+--+-- Retrieves the list of managed instance groups and groups them by zone.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.instanceGroupManagers.aggregatedList@.+module Network.Google.Resource.Compute.InstanceGroupManagers.AggregatedList+ (+ -- * REST Resource+ InstanceGroupManagersAggregatedListResource++ -- * Creating a Request+ , instanceGroupManagersAggregatedList+ , InstanceGroupManagersAggregatedList++ -- * Request Lenses+ , igmalProject+ , igmalFilter+ , igmalPageToken+ , igmalMaxResults+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.instanceGroupManagers.aggregatedList@ method which the+-- 'InstanceGroupManagersAggregatedList' request conforms to.+type InstanceGroupManagersAggregatedListResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "aggregated" :>+ "instanceGroupManagers" :>+ QueryParam "filter" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] InstanceGroupManagerAggregatedList++-- | Retrieves the list of managed instance groups and groups them by zone.+--+-- /See:/ 'instanceGroupManagersAggregatedList' smart constructor.+data InstanceGroupManagersAggregatedList = InstanceGroupManagersAggregatedList+ { _igmalProject :: !Text+ , _igmalFilter :: !(Maybe Text)+ , _igmalPageToken :: !(Maybe Text)+ , _igmalMaxResults :: !(Textual Word32)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstanceGroupManagersAggregatedList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'igmalProject'+--+-- * 'igmalFilter'+--+-- * 'igmalPageToken'+--+-- * 'igmalMaxResults'+instanceGroupManagersAggregatedList+ :: Text -- ^ 'igmalProject'+ -> InstanceGroupManagersAggregatedList+instanceGroupManagersAggregatedList pIgmalProject_ =+ InstanceGroupManagersAggregatedList+ { _igmalProject = pIgmalProject_+ , _igmalFilter = Nothing+ , _igmalPageToken = Nothing+ , _igmalMaxResults = 500+ }++-- | The 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+-- 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.+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.+igmalPageToken :: Lens' InstanceGroupManagersAggregatedList (Maybe Text)+igmalPageToken+ = lens _igmalPageToken+ (\ s a -> s{_igmalPageToken = a})++-- | Maximum count of results to be returned.+igmalMaxResults :: Lens' InstanceGroupManagersAggregatedList Word32+igmalMaxResults+ = lens _igmalMaxResults+ (\ s a -> s{_igmalMaxResults = a})+ . _Coerce++instance GoogleRequest+ InstanceGroupManagersAggregatedList where+ type Rs InstanceGroupManagersAggregatedList =+ InstanceGroupManagerAggregatedList+ requestClient InstanceGroupManagersAggregatedList{..}+ = go _igmalProject _igmalFilter _igmalPageToken+ (Just _igmalMaxResults)+ (Just AltJSON)+ computeService+ where go+ = buildClient+ (Proxy ::+ Proxy InstanceGroupManagersAggregatedListResource)+ mempty
+ gen/Network/Google/Resource/Compute/InstanceGroupManagers/Delete.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.InstanceGroupManagers.Delete+-- 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)+--+-- Deletes the specified managed instance group and all of the instances in+-- that group.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.instanceGroupManagers.delete@.+module Network.Google.Resource.Compute.InstanceGroupManagers.Delete+ (+ -- * REST Resource+ InstanceGroupManagersDeleteResource++ -- * Creating a Request+ , instanceGroupManagersDelete+ , InstanceGroupManagersDelete++ -- * Request Lenses+ , igmdProject+ , igmdInstanceGroupManager+ , igmdZone+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.instanceGroupManagers.delete@ method which the+-- 'InstanceGroupManagersDelete' request conforms to.+type InstanceGroupManagersDeleteResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "zones" :>+ Capture "zone" Text :>+ "instanceGroupManagers" :>+ Capture "instanceGroupManager" Text :>+ QueryParam "alt" AltJSON :> Delete '[JSON] Operation++-- | Deletes the specified managed instance group and all of the instances in+-- that group.+--+-- /See:/ 'instanceGroupManagersDelete' smart constructor.+data InstanceGroupManagersDelete = InstanceGroupManagersDelete+ { _igmdProject :: !Text+ , _igmdInstanceGroupManager :: !Text+ , _igmdZone :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstanceGroupManagersDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'igmdProject'+--+-- * 'igmdInstanceGroupManager'+--+-- * 'igmdZone'+instanceGroupManagersDelete+ :: Text -- ^ 'igmdProject'+ -> Text -- ^ 'igmdInstanceGroupManager'+ -> Text -- ^ 'igmdZone'+ -> InstanceGroupManagersDelete+instanceGroupManagersDelete pIgmdProject_ pIgmdInstanceGroupManager_ pIgmdZone_ =+ InstanceGroupManagersDelete+ { _igmdProject = pIgmdProject_+ , _igmdInstanceGroupManager = pIgmdInstanceGroupManager_+ , _igmdZone = pIgmdZone_+ }++-- | The project ID for this request.+igmdProject :: Lens' InstanceGroupManagersDelete Text+igmdProject+ = lens _igmdProject (\ s a -> s{_igmdProject = a})++-- | The name of the managed instance group to delete.+igmdInstanceGroupManager :: Lens' InstanceGroupManagersDelete Text+igmdInstanceGroupManager+ = lens _igmdInstanceGroupManager+ (\ s a -> s{_igmdInstanceGroupManager = a})++-- | The name of the zone where the managed instance group is located.+igmdZone :: Lens' InstanceGroupManagersDelete Text+igmdZone = lens _igmdZone (\ s a -> s{_igmdZone = a})++instance GoogleRequest InstanceGroupManagersDelete+ where+ type Rs InstanceGroupManagersDelete = Operation+ requestClient InstanceGroupManagersDelete{..}+ = go _igmdProject _igmdZone _igmdInstanceGroupManager+ (Just AltJSON)+ computeService+ where go+ = buildClient+ (Proxy :: Proxy InstanceGroupManagersDeleteResource)+ mempty
+ gen/Network/Google/Resource/Compute/InstanceGroupManagers/DeleteInstances.hs view
@@ -0,0 +1,145 @@+{-# 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.InstanceGroupManagers.DeleteInstances+-- 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)+--+-- Schedules a group action to delete the specified instances in the+-- managed instance group. The instances are also removed from any target+-- pools of which they were a member. This method reduces the targetSize of+-- the managed instance group by the number of instances that you delete.+-- This operation is marked as DONE when the action is scheduled even if+-- the instances are still being deleted. You must separately verify the+-- status of the deleting action with the listmanagedinstances method.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.instanceGroupManagers.deleteInstances@.+module Network.Google.Resource.Compute.InstanceGroupManagers.DeleteInstances+ (+ -- * REST Resource+ InstanceGroupManagersDeleteInstancesResource++ -- * Creating a Request+ , instanceGroupManagersDeleteInstances+ , InstanceGroupManagersDeleteInstances++ -- * Request Lenses+ , igmdiProject+ , igmdiInstanceGroupManager+ , igmdiZone+ , igmdiPayload+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.instanceGroupManagers.deleteInstances@ method which the+-- 'InstanceGroupManagersDeleteInstances' request conforms to.+type InstanceGroupManagersDeleteInstancesResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "zones" :>+ Capture "zone" Text :>+ "instanceGroupManagers" :>+ Capture "instanceGroupManager" Text :>+ "deleteInstances" :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON]+ InstanceGroupManagersDeleteInstancesRequest+ :> Post '[JSON] Operation++-- | Schedules a group action to delete the specified instances in the+-- managed instance group. The instances are also removed from any target+-- pools of which they were a member. This method reduces the targetSize of+-- the managed instance group by the number of instances that you delete.+-- This operation is marked as DONE when the action is scheduled even if+-- the instances are still being deleted. You must separately verify the+-- status of the deleting action with the listmanagedinstances method.+--+-- /See:/ 'instanceGroupManagersDeleteInstances' smart constructor.+data InstanceGroupManagersDeleteInstances = InstanceGroupManagersDeleteInstances+ { _igmdiProject :: !Text+ , _igmdiInstanceGroupManager :: !Text+ , _igmdiZone :: !Text+ , _igmdiPayload :: !InstanceGroupManagersDeleteInstancesRequest+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstanceGroupManagersDeleteInstances' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'igmdiProject'+--+-- * 'igmdiInstanceGroupManager'+--+-- * 'igmdiZone'+--+-- * 'igmdiPayload'+instanceGroupManagersDeleteInstances+ :: Text -- ^ 'igmdiProject'+ -> Text -- ^ 'igmdiInstanceGroupManager'+ -> Text -- ^ 'igmdiZone'+ -> InstanceGroupManagersDeleteInstancesRequest -- ^ 'igmdiPayload'+ -> InstanceGroupManagersDeleteInstances+instanceGroupManagersDeleteInstances pIgmdiProject_ pIgmdiInstanceGroupManager_ pIgmdiZone_ pIgmdiPayload_ =+ InstanceGroupManagersDeleteInstances+ { _igmdiProject = pIgmdiProject_+ , _igmdiInstanceGroupManager = pIgmdiInstanceGroupManager_+ , _igmdiZone = pIgmdiZone_+ , _igmdiPayload = pIgmdiPayload_+ }++-- | The project ID for this request.+igmdiProject :: Lens' InstanceGroupManagersDeleteInstances Text+igmdiProject+ = lens _igmdiProject (\ s a -> s{_igmdiProject = a})++-- | The name of the managed instance group.+igmdiInstanceGroupManager :: Lens' InstanceGroupManagersDeleteInstances Text+igmdiInstanceGroupManager+ = lens _igmdiInstanceGroupManager+ (\ s a -> s{_igmdiInstanceGroupManager = a})++-- | The name of the zone where the managed instance group is located.+igmdiZone :: Lens' InstanceGroupManagersDeleteInstances Text+igmdiZone+ = lens _igmdiZone (\ s a -> s{_igmdiZone = a})++-- | Multipart request metadata.+igmdiPayload :: Lens' InstanceGroupManagersDeleteInstances InstanceGroupManagersDeleteInstancesRequest+igmdiPayload+ = lens _igmdiPayload (\ s a -> s{_igmdiPayload = a})++instance GoogleRequest+ InstanceGroupManagersDeleteInstances where+ type Rs InstanceGroupManagersDeleteInstances =+ Operation+ requestClient+ InstanceGroupManagersDeleteInstances{..}+ = go _igmdiProject _igmdiZone+ _igmdiInstanceGroupManager+ (Just AltJSON)+ _igmdiPayload+ computeService+ where go+ = buildClient+ (Proxy ::+ Proxy InstanceGroupManagersDeleteInstancesResource)+ mempty
+ gen/Network/Google/Resource/Compute/InstanceGroupManagers/Get.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.InstanceGroupManagers.Get+-- 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)+--+-- Returns all of the details about the specified managed instance group.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.instanceGroupManagers.get@.+module Network.Google.Resource.Compute.InstanceGroupManagers.Get+ (+ -- * REST Resource+ InstanceGroupManagersGetResource++ -- * Creating a Request+ , instanceGroupManagersGet+ , InstanceGroupManagersGet++ -- * Request Lenses+ , igmgProject+ , igmgInstanceGroupManager+ , igmgZone+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.instanceGroupManagers.get@ method which the+-- 'InstanceGroupManagersGet' request conforms to.+type InstanceGroupManagersGetResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "zones" :>+ Capture "zone" Text :>+ "instanceGroupManagers" :>+ Capture "instanceGroupManager" Text :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] InstanceGroupManager++-- | Returns all of the details about the specified managed instance group.+--+-- /See:/ 'instanceGroupManagersGet' smart constructor.+data InstanceGroupManagersGet = InstanceGroupManagersGet+ { _igmgProject :: !Text+ , _igmgInstanceGroupManager :: !Text+ , _igmgZone :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstanceGroupManagersGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'igmgProject'+--+-- * 'igmgInstanceGroupManager'+--+-- * 'igmgZone'+instanceGroupManagersGet+ :: Text -- ^ 'igmgProject'+ -> Text -- ^ 'igmgInstanceGroupManager'+ -> Text -- ^ 'igmgZone'+ -> InstanceGroupManagersGet+instanceGroupManagersGet pIgmgProject_ pIgmgInstanceGroupManager_ pIgmgZone_ =+ InstanceGroupManagersGet+ { _igmgProject = pIgmgProject_+ , _igmgInstanceGroupManager = pIgmgInstanceGroupManager_+ , _igmgZone = pIgmgZone_+ }++-- | The project ID for this request.+igmgProject :: Lens' InstanceGroupManagersGet Text+igmgProject+ = lens _igmgProject (\ s a -> s{_igmgProject = a})++-- | The name of the managed instance group.+igmgInstanceGroupManager :: Lens' InstanceGroupManagersGet Text+igmgInstanceGroupManager+ = lens _igmgInstanceGroupManager+ (\ s a -> s{_igmgInstanceGroupManager = a})++-- | The name of the zone where the managed instance group is located.+igmgZone :: Lens' InstanceGroupManagersGet Text+igmgZone = lens _igmgZone (\ s a -> s{_igmgZone = a})++instance GoogleRequest InstanceGroupManagersGet where+ type Rs InstanceGroupManagersGet =+ InstanceGroupManager+ requestClient InstanceGroupManagersGet{..}+ = go _igmgProject _igmgZone _igmgInstanceGroupManager+ (Just AltJSON)+ computeService+ where go+ = buildClient+ (Proxy :: Proxy InstanceGroupManagersGetResource)+ mempty
+ gen/Network/Google/Resource/Compute/InstanceGroupManagers/Insert.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.InstanceGroupManagers.Insert+-- 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)+--+-- Creates a managed instance group using the information that you specify+-- in the request. After the group is created, it schedules an action to+-- create instances in the group using the specified instance template.+-- This operation is marked as DONE when the group is created even if the+-- instances in the group have not yet been created. You must separately+-- verify the status of the individual instances with the+-- listmanagedinstances method.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.instanceGroupManagers.insert@.+module Network.Google.Resource.Compute.InstanceGroupManagers.Insert+ (+ -- * REST Resource+ InstanceGroupManagersInsertResource++ -- * Creating a Request+ , instanceGroupManagersInsert+ , InstanceGroupManagersInsert++ -- * Request Lenses+ , igmiProject+ , igmiZone+ , igmiPayload+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.instanceGroupManagers.insert@ method which the+-- 'InstanceGroupManagersInsert' request conforms to.+type InstanceGroupManagersInsertResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "zones" :>+ Capture "zone" Text :>+ "instanceGroupManagers" :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] InstanceGroupManager :>+ Post '[JSON] Operation++-- | Creates a managed instance group using the information that you specify+-- in the request. After the group is created, it schedules an action to+-- create instances in the group using the specified instance template.+-- This operation is marked as DONE when the group is created even if the+-- instances in the group have not yet been created. You must separately+-- verify the status of the individual instances with the+-- listmanagedinstances method.+--+-- /See:/ 'instanceGroupManagersInsert' smart constructor.+data InstanceGroupManagersInsert = InstanceGroupManagersInsert+ { _igmiProject :: !Text+ , _igmiZone :: !Text+ , _igmiPayload :: !InstanceGroupManager+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstanceGroupManagersInsert' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'igmiProject'+--+-- * 'igmiZone'+--+-- * 'igmiPayload'+instanceGroupManagersInsert+ :: Text -- ^ 'igmiProject'+ -> Text -- ^ 'igmiZone'+ -> InstanceGroupManager -- ^ 'igmiPayload'+ -> InstanceGroupManagersInsert+instanceGroupManagersInsert pIgmiProject_ pIgmiZone_ pIgmiPayload_ =+ InstanceGroupManagersInsert+ { _igmiProject = pIgmiProject_+ , _igmiZone = pIgmiZone_+ , _igmiPayload = pIgmiPayload_+ }++-- | The project ID for this request.+igmiProject :: Lens' InstanceGroupManagersInsert Text+igmiProject+ = lens _igmiProject (\ s a -> s{_igmiProject = a})++-- | The name of the zone where you want to create the managed instance+-- group.+igmiZone :: Lens' InstanceGroupManagersInsert Text+igmiZone = lens _igmiZone (\ s a -> s{_igmiZone = a})++-- | Multipart request metadata.+igmiPayload :: Lens' InstanceGroupManagersInsert InstanceGroupManager+igmiPayload+ = lens _igmiPayload (\ s a -> s{_igmiPayload = a})++instance GoogleRequest InstanceGroupManagersInsert+ where+ type Rs InstanceGroupManagersInsert = Operation+ requestClient InstanceGroupManagersInsert{..}+ = go _igmiProject _igmiZone (Just AltJSON)+ _igmiPayload+ computeService+ where go+ = buildClient+ (Proxy :: Proxy InstanceGroupManagersInsertResource)+ mempty
+ gen/Network/Google/Resource/Compute/InstanceGroupManagers/List.hs view
@@ -0,0 +1,153 @@+{-# 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.InstanceGroupManagers.List+-- 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)+--+-- Retrieves a list of managed instance groups that are contained within+-- the specified project and zone.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.instanceGroupManagers.list@.+module Network.Google.Resource.Compute.InstanceGroupManagers.List+ (+ -- * REST Resource+ InstanceGroupManagersListResource++ -- * Creating a Request+ , instanceGroupManagersList+ , InstanceGroupManagersList++ -- * Request Lenses+ , igmlProject+ , igmlZone+ , igmlFilter+ , igmlPageToken+ , igmlMaxResults+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.instanceGroupManagers.list@ method which the+-- 'InstanceGroupManagersList' request conforms to.+type InstanceGroupManagersListResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "zones" :>+ Capture "zone" Text :>+ "instanceGroupManagers" :>+ QueryParam "filter" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] InstanceGroupManagerList++-- | Retrieves a list of managed instance groups that are contained within+-- the specified project and zone.+--+-- /See:/ 'instanceGroupManagersList' smart constructor.+data InstanceGroupManagersList = InstanceGroupManagersList+ { _igmlProject :: !Text+ , _igmlZone :: !Text+ , _igmlFilter :: !(Maybe Text)+ , _igmlPageToken :: !(Maybe Text)+ , _igmlMaxResults :: !(Textual Word32)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstanceGroupManagersList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'igmlProject'+--+-- * 'igmlZone'+--+-- * 'igmlFilter'+--+-- * 'igmlPageToken'+--+-- * 'igmlMaxResults'+instanceGroupManagersList+ :: Text -- ^ 'igmlProject'+ -> Text -- ^ 'igmlZone'+ -> InstanceGroupManagersList+instanceGroupManagersList pIgmlProject_ pIgmlZone_ =+ InstanceGroupManagersList+ { _igmlProject = pIgmlProject_+ , _igmlZone = pIgmlZone_+ , _igmlFilter = Nothing+ , _igmlPageToken = Nothing+ , _igmlMaxResults = 500+ }++-- | The project ID for this request.+igmlProject :: Lens' InstanceGroupManagersList Text+igmlProject+ = lens _igmlProject (\ s a -> s{_igmlProject = a})++-- | The name of the zone where the managed instance group is located.+igmlZone :: Lens' InstanceGroupManagersList Text+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+-- 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.+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.+igmlPageToken :: Lens' InstanceGroupManagersList (Maybe Text)+igmlPageToken+ = lens _igmlPageToken+ (\ s a -> s{_igmlPageToken = a})++-- | Maximum count of results to be returned.+igmlMaxResults :: Lens' InstanceGroupManagersList Word32+igmlMaxResults+ = lens _igmlMaxResults+ (\ s a -> s{_igmlMaxResults = a})+ . _Coerce++instance GoogleRequest InstanceGroupManagersList+ where+ type Rs InstanceGroupManagersList =+ InstanceGroupManagerList+ requestClient InstanceGroupManagersList{..}+ = go _igmlProject _igmlZone _igmlFilter+ _igmlPageToken+ (Just _igmlMaxResults)+ (Just AltJSON)+ computeService+ where go+ = buildClient+ (Proxy :: Proxy InstanceGroupManagersListResource)+ mempty
+ gen/Network/Google/Resource/Compute/InstanceGroupManagers/ListManagedInstances.hs view
@@ -0,0 +1,133 @@+{-# 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.InstanceGroupManagers.ListManagedInstances+-- 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)+--+-- Lists all of the instances in the managed instance group. Each instance+-- in the list has a currentAction, which indicates the action that the+-- managed instance group is performing on the instance. For example, if+-- the group is still creating an instance, the currentAction is CREATING.+-- If a previous action failed, the list displays the errors for that+-- failed action.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.instanceGroupManagers.listManagedInstances@.+module Network.Google.Resource.Compute.InstanceGroupManagers.ListManagedInstances+ (+ -- * REST Resource+ InstanceGroupManagersListManagedInstancesResource++ -- * Creating a Request+ , instanceGroupManagersListManagedInstances+ , InstanceGroupManagersListManagedInstances++ -- * Request Lenses+ , igmlmiProject+ , igmlmiInstanceGroupManager+ , igmlmiZone+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.instanceGroupManagers.listManagedInstances@ method which the+-- 'InstanceGroupManagersListManagedInstances' request conforms to.+type InstanceGroupManagersListManagedInstancesResource+ =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "zones" :>+ Capture "zone" Text :>+ "instanceGroupManagers" :>+ Capture "instanceGroupManager" Text :>+ "listManagedInstances" :>+ QueryParam "alt" AltJSON :>+ Post '[JSON]+ InstanceGroupManagersListManagedInstancesResponse++-- | Lists all of the instances in the managed instance group. Each instance+-- in the list has a currentAction, which indicates the action that the+-- managed instance group is performing on the instance. For example, if+-- the group is still creating an instance, the currentAction is CREATING.+-- If a previous action failed, the list displays the errors for that+-- failed action.+--+-- /See:/ 'instanceGroupManagersListManagedInstances' smart constructor.+data InstanceGroupManagersListManagedInstances = InstanceGroupManagersListManagedInstances+ { _igmlmiProject :: !Text+ , _igmlmiInstanceGroupManager :: !Text+ , _igmlmiZone :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstanceGroupManagersListManagedInstances' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'igmlmiProject'+--+-- * 'igmlmiInstanceGroupManager'+--+-- * 'igmlmiZone'+instanceGroupManagersListManagedInstances+ :: Text -- ^ 'igmlmiProject'+ -> Text -- ^ 'igmlmiInstanceGroupManager'+ -> Text -- ^ 'igmlmiZone'+ -> InstanceGroupManagersListManagedInstances+instanceGroupManagersListManagedInstances pIgmlmiProject_ pIgmlmiInstanceGroupManager_ pIgmlmiZone_ =+ InstanceGroupManagersListManagedInstances+ { _igmlmiProject = pIgmlmiProject_+ , _igmlmiInstanceGroupManager = pIgmlmiInstanceGroupManager_+ , _igmlmiZone = pIgmlmiZone_+ }++-- | The project ID for this request.+igmlmiProject :: Lens' InstanceGroupManagersListManagedInstances Text+igmlmiProject+ = lens _igmlmiProject+ (\ s a -> s{_igmlmiProject = a})++-- | The name of the managed instance group.+igmlmiInstanceGroupManager :: Lens' InstanceGroupManagersListManagedInstances Text+igmlmiInstanceGroupManager+ = lens _igmlmiInstanceGroupManager+ (\ s a -> s{_igmlmiInstanceGroupManager = a})++-- | The name of the zone where the managed instance group is located.+igmlmiZone :: Lens' InstanceGroupManagersListManagedInstances Text+igmlmiZone+ = lens _igmlmiZone (\ s a -> s{_igmlmiZone = a})++instance GoogleRequest+ InstanceGroupManagersListManagedInstances where+ type Rs InstanceGroupManagersListManagedInstances =+ InstanceGroupManagersListManagedInstancesResponse+ requestClient+ InstanceGroupManagersListManagedInstances{..}+ = go _igmlmiProject _igmlmiZone+ _igmlmiInstanceGroupManager+ (Just AltJSON)+ computeService+ where go+ = buildClient+ (Proxy ::+ Proxy+ InstanceGroupManagersListManagedInstancesResource)+ mempty
+ gen/Network/Google/Resource/Compute/InstanceGroupManagers/RecreateInstances.hs view
@@ -0,0 +1,143 @@+{-# 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.InstanceGroupManagers.RecreateInstances+-- 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)+--+-- Schedules a group action to recreate the specified instances in the+-- managed instance group. The instances are deleted and recreated using+-- the current instance template for the managed instance group. This+-- operation is marked as DONE when the action is scheduled even if the+-- instances have not yet been recreated. You must separately verify the+-- status of the recreating action with the listmanagedinstances method.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.instanceGroupManagers.recreateInstances@.+module Network.Google.Resource.Compute.InstanceGroupManagers.RecreateInstances+ (+ -- * REST Resource+ InstanceGroupManagersRecreateInstancesResource++ -- * Creating a Request+ , instanceGroupManagersRecreateInstances+ , InstanceGroupManagersRecreateInstances++ -- * Request Lenses+ , igmriProject+ , igmriInstanceGroupManager+ , igmriZone+ , igmriPayload+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.instanceGroupManagers.recreateInstances@ method which the+-- 'InstanceGroupManagersRecreateInstances' request conforms to.+type InstanceGroupManagersRecreateInstancesResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "zones" :>+ Capture "zone" Text :>+ "instanceGroupManagers" :>+ Capture "instanceGroupManager" Text :>+ "recreateInstances" :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON]+ InstanceGroupManagersRecreateInstancesRequest+ :> Post '[JSON] Operation++-- | Schedules a group action to recreate the specified instances in the+-- managed instance group. The instances are deleted and recreated using+-- the current instance template for the managed instance group. This+-- operation is marked as DONE when the action is scheduled even if the+-- instances have not yet been recreated. You must separately verify the+-- status of the recreating action with the listmanagedinstances method.+--+-- /See:/ 'instanceGroupManagersRecreateInstances' smart constructor.+data InstanceGroupManagersRecreateInstances = InstanceGroupManagersRecreateInstances+ { _igmriProject :: !Text+ , _igmriInstanceGroupManager :: !Text+ , _igmriZone :: !Text+ , _igmriPayload :: !InstanceGroupManagersRecreateInstancesRequest+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstanceGroupManagersRecreateInstances' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'igmriProject'+--+-- * 'igmriInstanceGroupManager'+--+-- * 'igmriZone'+--+-- * 'igmriPayload'+instanceGroupManagersRecreateInstances+ :: Text -- ^ 'igmriProject'+ -> Text -- ^ 'igmriInstanceGroupManager'+ -> Text -- ^ 'igmriZone'+ -> InstanceGroupManagersRecreateInstancesRequest -- ^ 'igmriPayload'+ -> InstanceGroupManagersRecreateInstances+instanceGroupManagersRecreateInstances pIgmriProject_ pIgmriInstanceGroupManager_ pIgmriZone_ pIgmriPayload_ =+ InstanceGroupManagersRecreateInstances+ { _igmriProject = pIgmriProject_+ , _igmriInstanceGroupManager = pIgmriInstanceGroupManager_+ , _igmriZone = pIgmriZone_+ , _igmriPayload = pIgmriPayload_+ }++-- | The project ID for this request.+igmriProject :: Lens' InstanceGroupManagersRecreateInstances Text+igmriProject+ = lens _igmriProject (\ s a -> s{_igmriProject = a})++-- | The name of the managed instance group.+igmriInstanceGroupManager :: Lens' InstanceGroupManagersRecreateInstances Text+igmriInstanceGroupManager+ = lens _igmriInstanceGroupManager+ (\ s a -> s{_igmriInstanceGroupManager = a})++-- | The name of the zone where the managed instance group is located.+igmriZone :: Lens' InstanceGroupManagersRecreateInstances Text+igmriZone+ = lens _igmriZone (\ s a -> s{_igmriZone = a})++-- | Multipart request metadata.+igmriPayload :: Lens' InstanceGroupManagersRecreateInstances InstanceGroupManagersRecreateInstancesRequest+igmriPayload+ = lens _igmriPayload (\ s a -> s{_igmriPayload = a})++instance GoogleRequest+ InstanceGroupManagersRecreateInstances where+ type Rs InstanceGroupManagersRecreateInstances =+ Operation+ requestClient+ InstanceGroupManagersRecreateInstances{..}+ = go _igmriProject _igmriZone+ _igmriInstanceGroupManager+ (Just AltJSON)+ _igmriPayload+ computeService+ where go+ = buildClient+ (Proxy ::+ Proxy InstanceGroupManagersRecreateInstancesResource)+ mempty
+ gen/Network/Google/Resource/Compute/InstanceGroupManagers/Resize.hs view
@@ -0,0 +1,142 @@+{-# 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.InstanceGroupManagers.Resize+-- 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)+--+-- Resizes the managed instance group. If you increase the size, the group+-- creates new instances using the current instance template. If you+-- decrease the size, the group deletes instances. The resize operation is+-- marked DONE when the resize actions are scheduled even if the group has+-- not yet added or deleted any instances. You must separately verify the+-- status of the creating or deleting actions with the listmanagedinstances+-- method.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.instanceGroupManagers.resize@.+module Network.Google.Resource.Compute.InstanceGroupManagers.Resize+ (+ -- * REST Resource+ InstanceGroupManagersResizeResource++ -- * Creating a Request+ , instanceGroupManagersResize+ , InstanceGroupManagersResize++ -- * Request Lenses+ , igmrProject+ , igmrSize+ , igmrInstanceGroupManager+ , igmrZone+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.instanceGroupManagers.resize@ method which the+-- 'InstanceGroupManagersResize' request conforms to.+type InstanceGroupManagersResizeResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "zones" :>+ Capture "zone" Text :>+ "instanceGroupManagers" :>+ Capture "instanceGroupManager" Text :>+ "resize" :>+ QueryParam "size" (Textual Int32) :>+ QueryParam "alt" AltJSON :> Post '[JSON] Operation++-- | Resizes the managed instance group. If you increase the size, the group+-- creates new instances using the current instance template. If you+-- decrease the size, the group deletes instances. The resize operation is+-- marked DONE when the resize actions are scheduled even if the group has+-- not yet added or deleted any instances. You must separately verify the+-- status of the creating or deleting actions with the listmanagedinstances+-- method.+--+-- /See:/ 'instanceGroupManagersResize' smart constructor.+data InstanceGroupManagersResize = InstanceGroupManagersResize+ { _igmrProject :: !Text+ , _igmrSize :: !(Textual Int32)+ , _igmrInstanceGroupManager :: !Text+ , _igmrZone :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstanceGroupManagersResize' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'igmrProject'+--+-- * 'igmrSize'+--+-- * 'igmrInstanceGroupManager'+--+-- * 'igmrZone'+instanceGroupManagersResize+ :: Text -- ^ 'igmrProject'+ -> Int32 -- ^ 'igmrSize'+ -> Text -- ^ 'igmrInstanceGroupManager'+ -> Text -- ^ 'igmrZone'+ -> InstanceGroupManagersResize+instanceGroupManagersResize pIgmrProject_ pIgmrSize_ pIgmrInstanceGroupManager_ pIgmrZone_ =+ InstanceGroupManagersResize+ { _igmrProject = pIgmrProject_+ , _igmrSize = _Coerce # pIgmrSize_+ , _igmrInstanceGroupManager = pIgmrInstanceGroupManager_+ , _igmrZone = pIgmrZone_+ }++-- | The project ID for this request.+igmrProject :: Lens' InstanceGroupManagersResize Text+igmrProject+ = lens _igmrProject (\ s a -> s{_igmrProject = a})++-- | The number of running instances that the managed instance group should+-- maintain at any given time. The group automatically adds or removes+-- instances to maintain the number of instances specified by this+-- parameter.+igmrSize :: Lens' InstanceGroupManagersResize Int32+igmrSize+ = lens _igmrSize (\ s a -> s{_igmrSize = a}) .+ _Coerce++-- | The name of the managed instance group.+igmrInstanceGroupManager :: Lens' InstanceGroupManagersResize Text+igmrInstanceGroupManager+ = lens _igmrInstanceGroupManager+ (\ s a -> s{_igmrInstanceGroupManager = a})++-- | The name of the zone where the managed instance group is located.+igmrZone :: Lens' InstanceGroupManagersResize Text+igmrZone = lens _igmrZone (\ s a -> s{_igmrZone = a})++instance GoogleRequest InstanceGroupManagersResize+ where+ type Rs InstanceGroupManagersResize = Operation+ requestClient InstanceGroupManagersResize{..}+ = go _igmrProject _igmrZone _igmrInstanceGroupManager+ (Just _igmrSize)+ (Just AltJSON)+ computeService+ where go+ = buildClient+ (Proxy :: Proxy InstanceGroupManagersResizeResource)+ mempty
+ gen/Network/Google/Resource/Compute/InstanceGroupManagers/SetInstanceTemplate.hs view
@@ -0,0 +1,141 @@+{-# 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.InstanceGroupManagers.SetInstanceTemplate+-- 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)+--+-- Specifies the instance template to use when creating new instances in+-- this group. The templates for existing instances in the group do not+-- change unless you recreate them.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.instanceGroupManagers.setInstanceTemplate@.+module Network.Google.Resource.Compute.InstanceGroupManagers.SetInstanceTemplate+ (+ -- * REST Resource+ InstanceGroupManagersSetInstanceTemplateResource++ -- * Creating a Request+ , instanceGroupManagersSetInstanceTemplate+ , InstanceGroupManagersSetInstanceTemplate++ -- * Request Lenses+ , igmsitProject+ , igmsitInstanceGroupManager+ , igmsitZone+ , igmsitPayload+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.instanceGroupManagers.setInstanceTemplate@ method which the+-- 'InstanceGroupManagersSetInstanceTemplate' request conforms to.+type InstanceGroupManagersSetInstanceTemplateResource+ =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "zones" :>+ Capture "zone" Text :>+ "instanceGroupManagers" :>+ Capture "instanceGroupManager" Text :>+ "setInstanceTemplate" :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON]+ InstanceGroupManagersSetInstanceTemplateRequest+ :> Post '[JSON] Operation++-- | Specifies the instance template to use when creating new instances in+-- this group. The templates for existing instances in the group do not+-- change unless you recreate them.+--+-- /See:/ 'instanceGroupManagersSetInstanceTemplate' smart constructor.+data InstanceGroupManagersSetInstanceTemplate = InstanceGroupManagersSetInstanceTemplate+ { _igmsitProject :: !Text+ , _igmsitInstanceGroupManager :: !Text+ , _igmsitZone :: !Text+ , _igmsitPayload :: !InstanceGroupManagersSetInstanceTemplateRequest+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstanceGroupManagersSetInstanceTemplate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'igmsitProject'+--+-- * 'igmsitInstanceGroupManager'+--+-- * 'igmsitZone'+--+-- * 'igmsitPayload'+instanceGroupManagersSetInstanceTemplate+ :: Text -- ^ 'igmsitProject'+ -> Text -- ^ 'igmsitInstanceGroupManager'+ -> Text -- ^ 'igmsitZone'+ -> InstanceGroupManagersSetInstanceTemplateRequest -- ^ 'igmsitPayload'+ -> InstanceGroupManagersSetInstanceTemplate+instanceGroupManagersSetInstanceTemplate pIgmsitProject_ pIgmsitInstanceGroupManager_ pIgmsitZone_ pIgmsitPayload_ =+ InstanceGroupManagersSetInstanceTemplate+ { _igmsitProject = pIgmsitProject_+ , _igmsitInstanceGroupManager = pIgmsitInstanceGroupManager_+ , _igmsitZone = pIgmsitZone_+ , _igmsitPayload = pIgmsitPayload_+ }++-- | The project ID for this request.+igmsitProject :: Lens' InstanceGroupManagersSetInstanceTemplate Text+igmsitProject+ = lens _igmsitProject+ (\ s a -> s{_igmsitProject = a})++-- | The name of the managed instance group.+igmsitInstanceGroupManager :: Lens' InstanceGroupManagersSetInstanceTemplate Text+igmsitInstanceGroupManager+ = lens _igmsitInstanceGroupManager+ (\ s a -> s{_igmsitInstanceGroupManager = a})++-- | The name of the zone where the managed instance group is located.+igmsitZone :: Lens' InstanceGroupManagersSetInstanceTemplate Text+igmsitZone+ = lens _igmsitZone (\ s a -> s{_igmsitZone = a})++-- | Multipart request metadata.+igmsitPayload :: Lens' InstanceGroupManagersSetInstanceTemplate InstanceGroupManagersSetInstanceTemplateRequest+igmsitPayload+ = lens _igmsitPayload+ (\ s a -> s{_igmsitPayload = a})++instance GoogleRequest+ InstanceGroupManagersSetInstanceTemplate where+ type Rs InstanceGroupManagersSetInstanceTemplate =+ Operation+ requestClient+ InstanceGroupManagersSetInstanceTemplate{..}+ = go _igmsitProject _igmsitZone+ _igmsitInstanceGroupManager+ (Just AltJSON)+ _igmsitPayload+ computeService+ where go+ = buildClient+ (Proxy ::+ Proxy+ InstanceGroupManagersSetInstanceTemplateResource)+ mempty
+ gen/Network/Google/Resource/Compute/InstanceGroupManagers/SetTargetPools.hs view
@@ -0,0 +1,144 @@+{-# 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.InstanceGroupManagers.SetTargetPools+-- 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)+--+-- Modifies the target pools to which all instances in this managed+-- instance group are assigned. The target pools automatically apply to all+-- of the instances in the managed instance group. This operation is marked+-- DONE when you make the request even if the instances have not yet been+-- added to their target pools. The change might take some time to apply to+-- all of the instances in the group depending on the size of the group.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.instanceGroupManagers.setTargetPools@.+module Network.Google.Resource.Compute.InstanceGroupManagers.SetTargetPools+ (+ -- * REST Resource+ InstanceGroupManagersSetTargetPoolsResource++ -- * Creating a Request+ , instanceGroupManagersSetTargetPools+ , InstanceGroupManagersSetTargetPools++ -- * Request Lenses+ , igmstpProject+ , igmstpInstanceGroupManager+ , igmstpZone+ , igmstpPayload+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.instanceGroupManagers.setTargetPools@ method which the+-- 'InstanceGroupManagersSetTargetPools' request conforms to.+type InstanceGroupManagersSetTargetPoolsResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "zones" :>+ Capture "zone" Text :>+ "instanceGroupManagers" :>+ Capture "instanceGroupManager" Text :>+ "setTargetPools" :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON]+ InstanceGroupManagersSetTargetPoolsRequest+ :> Post '[JSON] Operation++-- | Modifies the target pools to which all instances in this managed+-- instance group are assigned. The target pools automatically apply to all+-- of the instances in the managed instance group. This operation is marked+-- DONE when you make the request even if the instances have not yet been+-- added to their target pools. The change might take some time to apply to+-- all of the instances in the group depending on the size of the group.+--+-- /See:/ 'instanceGroupManagersSetTargetPools' smart constructor.+data InstanceGroupManagersSetTargetPools = InstanceGroupManagersSetTargetPools+ { _igmstpProject :: !Text+ , _igmstpInstanceGroupManager :: !Text+ , _igmstpZone :: !Text+ , _igmstpPayload :: !InstanceGroupManagersSetTargetPoolsRequest+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstanceGroupManagersSetTargetPools' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'igmstpProject'+--+-- * 'igmstpInstanceGroupManager'+--+-- * 'igmstpZone'+--+-- * 'igmstpPayload'+instanceGroupManagersSetTargetPools+ :: Text -- ^ 'igmstpProject'+ -> Text -- ^ 'igmstpInstanceGroupManager'+ -> Text -- ^ 'igmstpZone'+ -> InstanceGroupManagersSetTargetPoolsRequest -- ^ 'igmstpPayload'+ -> InstanceGroupManagersSetTargetPools+instanceGroupManagersSetTargetPools pIgmstpProject_ pIgmstpInstanceGroupManager_ pIgmstpZone_ pIgmstpPayload_ =+ InstanceGroupManagersSetTargetPools+ { _igmstpProject = pIgmstpProject_+ , _igmstpInstanceGroupManager = pIgmstpInstanceGroupManager_+ , _igmstpZone = pIgmstpZone_+ , _igmstpPayload = pIgmstpPayload_+ }++-- | The project ID for this request.+igmstpProject :: Lens' InstanceGroupManagersSetTargetPools Text+igmstpProject+ = lens _igmstpProject+ (\ s a -> s{_igmstpProject = a})++-- | The name of the managed instance group.+igmstpInstanceGroupManager :: Lens' InstanceGroupManagersSetTargetPools Text+igmstpInstanceGroupManager+ = lens _igmstpInstanceGroupManager+ (\ s a -> s{_igmstpInstanceGroupManager = a})++-- | The name of the zone where the managed instance group is located.+igmstpZone :: Lens' InstanceGroupManagersSetTargetPools Text+igmstpZone+ = lens _igmstpZone (\ s a -> s{_igmstpZone = a})++-- | Multipart request metadata.+igmstpPayload :: Lens' InstanceGroupManagersSetTargetPools InstanceGroupManagersSetTargetPoolsRequest+igmstpPayload+ = lens _igmstpPayload+ (\ s a -> s{_igmstpPayload = a})++instance GoogleRequest+ InstanceGroupManagersSetTargetPools where+ type Rs InstanceGroupManagersSetTargetPools =+ Operation+ requestClient InstanceGroupManagersSetTargetPools{..}+ = go _igmstpProject _igmstpZone+ _igmstpInstanceGroupManager+ (Just AltJSON)+ _igmstpPayload+ computeService+ where go+ = buildClient+ (Proxy ::+ Proxy InstanceGroupManagersSetTargetPoolsResource)+ mempty
+ gen/Network/Google/Resource/Compute/InstanceGroups/AddInstances.hs view
@@ -0,0 +1,131 @@+{-# 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.InstanceGroups.AddInstances+-- 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)+--+-- 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.\"+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.instanceGroups.addInstances@.+module Network.Google.Resource.Compute.InstanceGroups.AddInstances+ (+ -- * REST Resource+ InstanceGroupsAddInstancesResource++ -- * Creating a Request+ , instanceGroupsAddInstances+ , InstanceGroupsAddInstances++ -- * Request Lenses+ , igaiProject+ , igaiZone+ , igaiPayload+ , igaiInstanceGroup+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.instanceGroups.addInstances@ method which the+-- 'InstanceGroupsAddInstances' request conforms to.+type InstanceGroupsAddInstancesResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "zones" :>+ Capture "zone" Text :>+ "instanceGroups" :>+ Capture "instanceGroup" Text :>+ "addInstances" :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] InstanceGroupsAddInstancesRequest :>+ Post '[JSON] Operation++-- | 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.\"+--+-- /See:/ 'instanceGroupsAddInstances' smart constructor.+data InstanceGroupsAddInstances = InstanceGroupsAddInstances+ { _igaiProject :: !Text+ , _igaiZone :: !Text+ , _igaiPayload :: !InstanceGroupsAddInstancesRequest+ , _igaiInstanceGroup :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstanceGroupsAddInstances' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'igaiProject'+--+-- * 'igaiZone'+--+-- * 'igaiPayload'+--+-- * 'igaiInstanceGroup'+instanceGroupsAddInstances+ :: Text -- ^ 'igaiProject'+ -> Text -- ^ 'igaiZone'+ -> InstanceGroupsAddInstancesRequest -- ^ 'igaiPayload'+ -> Text -- ^ 'igaiInstanceGroup'+ -> InstanceGroupsAddInstances+instanceGroupsAddInstances pIgaiProject_ pIgaiZone_ pIgaiPayload_ pIgaiInstanceGroup_ =+ InstanceGroupsAddInstances+ { _igaiProject = pIgaiProject_+ , _igaiZone = pIgaiZone_+ , _igaiPayload = pIgaiPayload_+ , _igaiInstanceGroup = pIgaiInstanceGroup_+ }++-- | The project ID for this request.+igaiProject :: Lens' InstanceGroupsAddInstances Text+igaiProject+ = lens _igaiProject (\ s a -> s{_igaiProject = a})++-- | The name of the zone where the instance group is located.+igaiZone :: Lens' InstanceGroupsAddInstances Text+igaiZone = lens _igaiZone (\ s a -> s{_igaiZone = a})++-- | Multipart request metadata.+igaiPayload :: Lens' InstanceGroupsAddInstances InstanceGroupsAddInstancesRequest+igaiPayload+ = lens _igaiPayload (\ s a -> s{_igaiPayload = a})++-- | The name of the instance group where you are adding instances.+igaiInstanceGroup :: Lens' InstanceGroupsAddInstances Text+igaiInstanceGroup+ = lens _igaiInstanceGroup+ (\ s a -> s{_igaiInstanceGroup = a})++instance GoogleRequest InstanceGroupsAddInstances+ where+ type Rs InstanceGroupsAddInstances = Operation+ requestClient InstanceGroupsAddInstances{..}+ = go _igaiProject _igaiZone _igaiInstanceGroup+ (Just AltJSON)+ _igaiPayload+ computeService+ where go+ = buildClient+ (Proxy :: Proxy InstanceGroupsAddInstancesResource)+ mempty
+ gen/Network/Google/Resource/Compute/InstanceGroups/AggregatedList.hs view
@@ -0,0 +1,139 @@+{-# 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.InstanceGroups.AggregatedList+-- 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)+--+-- Retrieves the list of instance groups and sorts them by zone.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.instanceGroups.aggregatedList@.+module Network.Google.Resource.Compute.InstanceGroups.AggregatedList+ (+ -- * REST Resource+ InstanceGroupsAggregatedListResource++ -- * Creating a Request+ , instanceGroupsAggregatedList+ , InstanceGroupsAggregatedList++ -- * Request Lenses+ , igalProject+ , igalFilter+ , igalPageToken+ , igalMaxResults+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.instanceGroups.aggregatedList@ method which the+-- 'InstanceGroupsAggregatedList' request conforms to.+type InstanceGroupsAggregatedListResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "aggregated" :>+ "instanceGroups" :>+ QueryParam "filter" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] InstanceGroupAggregatedList++-- | Retrieves the list of instance groups and sorts them by zone.+--+-- /See:/ 'instanceGroupsAggregatedList' smart constructor.+data InstanceGroupsAggregatedList = InstanceGroupsAggregatedList+ { _igalProject :: !Text+ , _igalFilter :: !(Maybe Text)+ , _igalPageToken :: !(Maybe Text)+ , _igalMaxResults :: !(Textual Word32)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstanceGroupsAggregatedList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'igalProject'+--+-- * 'igalFilter'+--+-- * 'igalPageToken'+--+-- * 'igalMaxResults'+instanceGroupsAggregatedList+ :: Text -- ^ 'igalProject'+ -> InstanceGroupsAggregatedList+instanceGroupsAggregatedList pIgalProject_ =+ InstanceGroupsAggregatedList+ { _igalProject = pIgalProject_+ , _igalFilter = Nothing+ , _igalPageToken = Nothing+ , _igalMaxResults = 500+ }++-- | The 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+-- 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.+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.+igalPageToken :: Lens' InstanceGroupsAggregatedList (Maybe Text)+igalPageToken+ = lens _igalPageToken+ (\ s a -> s{_igalPageToken = a})++-- | Maximum count of results to be returned.+igalMaxResults :: Lens' InstanceGroupsAggregatedList Word32+igalMaxResults+ = lens _igalMaxResults+ (\ s a -> s{_igalMaxResults = a})+ . _Coerce++instance GoogleRequest InstanceGroupsAggregatedList+ where+ type Rs InstanceGroupsAggregatedList =+ InstanceGroupAggregatedList+ requestClient InstanceGroupsAggregatedList{..}+ = go _igalProject _igalFilter _igalPageToken+ (Just _igalMaxResults)+ (Just AltJSON)+ computeService+ where go+ = buildClient+ (Proxy :: Proxy InstanceGroupsAggregatedListResource)+ mempty
+ gen/Network/Google/Resource/Compute/InstanceGroups/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.InstanceGroups.Delete+-- 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)+--+-- Deletes the specified instance group. The instances in the group are not+-- deleted.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.instanceGroups.delete@.+module Network.Google.Resource.Compute.InstanceGroups.Delete+ (+ -- * REST Resource+ InstanceGroupsDeleteResource++ -- * Creating a Request+ , instanceGroupsDelete+ , InstanceGroupsDelete++ -- * Request Lenses+ , igdProject+ , igdZone+ , igdInstanceGroup+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.instanceGroups.delete@ method which the+-- 'InstanceGroupsDelete' request conforms to.+type InstanceGroupsDeleteResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "zones" :>+ Capture "zone" Text :>+ "instanceGroups" :>+ Capture "instanceGroup" Text :>+ QueryParam "alt" AltJSON :> Delete '[JSON] Operation++-- | Deletes the specified instance group. The instances in the group are not+-- deleted.+--+-- /See:/ 'instanceGroupsDelete' smart constructor.+data InstanceGroupsDelete = InstanceGroupsDelete+ { _igdProject :: !Text+ , _igdZone :: !Text+ , _igdInstanceGroup :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstanceGroupsDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'igdProject'+--+-- * 'igdZone'+--+-- * 'igdInstanceGroup'+instanceGroupsDelete+ :: Text -- ^ 'igdProject'+ -> Text -- ^ 'igdZone'+ -> Text -- ^ 'igdInstanceGroup'+ -> InstanceGroupsDelete+instanceGroupsDelete pIgdProject_ pIgdZone_ pIgdInstanceGroup_ =+ InstanceGroupsDelete+ { _igdProject = pIgdProject_+ , _igdZone = pIgdZone_+ , _igdInstanceGroup = pIgdInstanceGroup_+ }++-- | The project ID for this request.+igdProject :: Lens' InstanceGroupsDelete Text+igdProject+ = lens _igdProject (\ s a -> s{_igdProject = a})++-- | The name of the zone where the instance group is located.+igdZone :: Lens' InstanceGroupsDelete Text+igdZone = lens _igdZone (\ s a -> s{_igdZone = a})++-- | The name of the instance group to delete.+igdInstanceGroup :: Lens' InstanceGroupsDelete Text+igdInstanceGroup+ = lens _igdInstanceGroup+ (\ s a -> s{_igdInstanceGroup = a})++instance GoogleRequest InstanceGroupsDelete where+ type Rs InstanceGroupsDelete = Operation+ requestClient InstanceGroupsDelete{..}+ = go _igdProject _igdZone _igdInstanceGroup+ (Just AltJSON)+ computeService+ where go+ = buildClient+ (Proxy :: Proxy InstanceGroupsDeleteResource)+ mempty
+ gen/Network/Google/Resource/Compute/InstanceGroups/Get.hs view
@@ -0,0 +1,111 @@+{-# 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.InstanceGroups.Get+-- 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)+--+-- Returns the specified instance group resource.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.instanceGroups.get@.+module Network.Google.Resource.Compute.InstanceGroups.Get+ (+ -- * REST Resource+ InstanceGroupsGetResource++ -- * Creating a Request+ , instanceGroupsGet+ , InstanceGroupsGet++ -- * Request Lenses+ , iggProject+ , iggZone+ , iggInstanceGroup+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.instanceGroups.get@ method which the+-- 'InstanceGroupsGet' request conforms to.+type InstanceGroupsGetResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "zones" :>+ Capture "zone" Text :>+ "instanceGroups" :>+ Capture "instanceGroup" Text :>+ QueryParam "alt" AltJSON :> Get '[JSON] InstanceGroup++-- | Returns the specified instance group resource.+--+-- /See:/ 'instanceGroupsGet' smart constructor.+data InstanceGroupsGet = InstanceGroupsGet+ { _iggProject :: !Text+ , _iggZone :: !Text+ , _iggInstanceGroup :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstanceGroupsGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'iggProject'+--+-- * 'iggZone'+--+-- * 'iggInstanceGroup'+instanceGroupsGet+ :: Text -- ^ 'iggProject'+ -> Text -- ^ 'iggZone'+ -> Text -- ^ 'iggInstanceGroup'+ -> InstanceGroupsGet+instanceGroupsGet pIggProject_ pIggZone_ pIggInstanceGroup_ =+ InstanceGroupsGet+ { _iggProject = pIggProject_+ , _iggZone = pIggZone_+ , _iggInstanceGroup = pIggInstanceGroup_+ }++-- | The project ID for this request.+iggProject :: Lens' InstanceGroupsGet Text+iggProject+ = lens _iggProject (\ s a -> s{_iggProject = a})++-- | The name of the zone where the instance group is located.+iggZone :: Lens' InstanceGroupsGet Text+iggZone = lens _iggZone (\ s a -> s{_iggZone = a})++-- | The name of the instance group.+iggInstanceGroup :: Lens' InstanceGroupsGet Text+iggInstanceGroup+ = lens _iggInstanceGroup+ (\ s a -> s{_iggInstanceGroup = a})++instance GoogleRequest InstanceGroupsGet where+ type Rs InstanceGroupsGet = InstanceGroup+ requestClient InstanceGroupsGet{..}+ = go _iggProject _iggZone _iggInstanceGroup+ (Just AltJSON)+ computeService+ where go+ = buildClient+ (Proxy :: Proxy InstanceGroupsGetResource)+ mempty
+ gen/Network/Google/Resource/Compute/InstanceGroups/Insert.hs view
@@ -0,0 +1,112 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.Compute.InstanceGroups.Insert+-- 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)+--+-- Creates an instance group in the specified project using the parameters+-- that are included in the request.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.instanceGroups.insert@.+module Network.Google.Resource.Compute.InstanceGroups.Insert+ (+ -- * REST Resource+ InstanceGroupsInsertResource++ -- * Creating a Request+ , instanceGroupsInsert+ , InstanceGroupsInsert++ -- * Request Lenses+ , igiProject+ , igiZone+ , igiPayload+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.instanceGroups.insert@ method which the+-- 'InstanceGroupsInsert' request conforms to.+type InstanceGroupsInsertResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "zones" :>+ Capture "zone" Text :>+ "instanceGroups" :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] InstanceGroup :>+ Post '[JSON] Operation++-- | Creates an instance group in the specified project using the parameters+-- that are included in the request.+--+-- /See:/ 'instanceGroupsInsert' smart constructor.+data InstanceGroupsInsert = InstanceGroupsInsert+ { _igiProject :: !Text+ , _igiZone :: !Text+ , _igiPayload :: !InstanceGroup+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstanceGroupsInsert' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'igiProject'+--+-- * 'igiZone'+--+-- * 'igiPayload'+instanceGroupsInsert+ :: Text -- ^ 'igiProject'+ -> Text -- ^ 'igiZone'+ -> InstanceGroup -- ^ 'igiPayload'+ -> InstanceGroupsInsert+instanceGroupsInsert pIgiProject_ pIgiZone_ pIgiPayload_ =+ InstanceGroupsInsert+ { _igiProject = pIgiProject_+ , _igiZone = pIgiZone_+ , _igiPayload = pIgiPayload_+ }++-- | The project ID for this request.+igiProject :: Lens' InstanceGroupsInsert Text+igiProject+ = lens _igiProject (\ s a -> s{_igiProject = a})++-- | The name of the zone where you want to create the instance group.+igiZone :: Lens' InstanceGroupsInsert Text+igiZone = lens _igiZone (\ s a -> s{_igiZone = a})++-- | Multipart request metadata.+igiPayload :: Lens' InstanceGroupsInsert InstanceGroup+igiPayload+ = lens _igiPayload (\ s a -> s{_igiPayload = a})++instance GoogleRequest InstanceGroupsInsert where+ type Rs InstanceGroupsInsert = Operation+ requestClient InstanceGroupsInsert{..}+ = go _igiProject _igiZone (Just AltJSON) _igiPayload+ computeService+ where go+ = buildClient+ (Proxy :: Proxy InstanceGroupsInsertResource)+ mempty
+ gen/Network/Google/Resource/Compute/InstanceGroups/List.hs view
@@ -0,0 +1,149 @@+{-# 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.InstanceGroups.List+-- 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)+--+-- Retrieves the list of instance groups that are located in the specified+-- project and zone.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.instanceGroups.list@.+module Network.Google.Resource.Compute.InstanceGroups.List+ (+ -- * REST Resource+ InstanceGroupsListResource++ -- * Creating a Request+ , instanceGroupsList+ , InstanceGroupsList++ -- * Request Lenses+ , iglProject+ , iglZone+ , iglFilter+ , iglPageToken+ , iglMaxResults+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.instanceGroups.list@ method which the+-- 'InstanceGroupsList' request conforms to.+type InstanceGroupsListResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "zones" :>+ Capture "zone" Text :>+ "instanceGroups" :>+ QueryParam "filter" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] InstanceGroupList++-- | Retrieves the list of instance groups that are located in the specified+-- project and zone.+--+-- /See:/ 'instanceGroupsList' smart constructor.+data InstanceGroupsList = InstanceGroupsList+ { _iglProject :: !Text+ , _iglZone :: !Text+ , _iglFilter :: !(Maybe Text)+ , _iglPageToken :: !(Maybe Text)+ , _iglMaxResults :: !(Textual Word32)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstanceGroupsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'iglProject'+--+-- * 'iglZone'+--+-- * 'iglFilter'+--+-- * 'iglPageToken'+--+-- * 'iglMaxResults'+instanceGroupsList+ :: Text -- ^ 'iglProject'+ -> Text -- ^ 'iglZone'+ -> InstanceGroupsList+instanceGroupsList pIglProject_ pIglZone_ =+ InstanceGroupsList+ { _iglProject = pIglProject_+ , _iglZone = pIglZone_+ , _iglFilter = Nothing+ , _iglPageToken = Nothing+ , _iglMaxResults = 500+ }++-- | The project ID for this request.+iglProject :: Lens' InstanceGroupsList Text+iglProject+ = lens _iglProject (\ s a -> s{_iglProject = a})++-- | The name of the zone where the instance group is located.+iglZone :: Lens' InstanceGroupsList Text+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+-- 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.+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.+iglPageToken :: Lens' InstanceGroupsList (Maybe Text)+iglPageToken+ = lens _iglPageToken (\ s a -> s{_iglPageToken = a})++-- | Maximum count of results to be returned.+iglMaxResults :: Lens' InstanceGroupsList Word32+iglMaxResults+ = lens _iglMaxResults+ (\ s a -> s{_iglMaxResults = a})+ . _Coerce++instance GoogleRequest InstanceGroupsList where+ type Rs InstanceGroupsList = InstanceGroupList+ requestClient InstanceGroupsList{..}+ = go _iglProject _iglZone _iglFilter _iglPageToken+ (Just _iglMaxResults)+ (Just AltJSON)+ computeService+ where go+ = buildClient+ (Proxy :: Proxy InstanceGroupsListResource)+ mempty
+ gen/Network/Google/Resource/Compute/InstanceGroups/ListInstances.hs view
@@ -0,0 +1,181 @@+{-# 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.InstanceGroups.ListInstances+-- 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)+--+-- Lists the instances in the specified instance group.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.instanceGroups.listInstances@.+module Network.Google.Resource.Compute.InstanceGroups.ListInstances+ (+ -- * REST Resource+ InstanceGroupsListInstancesResource++ -- * Creating a Request+ , instanceGroupsListInstances'+ , InstanceGroupsListInstances'++ -- * Request Lenses+ , igliProject+ , igliZone+ , igliPayload+ , igliFilter+ , igliPageToken+ , igliInstanceGroup+ , igliMaxResults+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.instanceGroups.listInstances@ method which the+-- 'InstanceGroupsListInstances'' request conforms to.+type InstanceGroupsListInstancesResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "zones" :>+ Capture "zone" Text :>+ "instanceGroups" :>+ Capture "instanceGroup" Text :>+ "listInstances" :>+ QueryParam "filter" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON]+ InstanceGroupsListInstancesRequest+ :> Post '[JSON] InstanceGroupsListInstances++-- | Lists the instances in the specified instance group.+--+-- /See:/ 'instanceGroupsListInstances'' smart constructor.+data InstanceGroupsListInstances' = InstanceGroupsListInstances'+ { _igliProject :: !Text+ , _igliZone :: !Text+ , _igliPayload :: !InstanceGroupsListInstancesRequest+ , _igliFilter :: !(Maybe Text)+ , _igliPageToken :: !(Maybe Text)+ , _igliInstanceGroup :: !Text+ , _igliMaxResults :: !(Textual Word32)+ } 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:+--+-- * 'igliProject'+--+-- * 'igliZone'+--+-- * 'igliPayload'+--+-- * 'igliFilter'+--+-- * 'igliPageToken'+--+-- * 'igliInstanceGroup'+--+-- * 'igliMaxResults'+instanceGroupsListInstances'+ :: Text -- ^ 'igliProject'+ -> Text -- ^ 'igliZone'+ -> InstanceGroupsListInstancesRequest -- ^ 'igliPayload'+ -> Text -- ^ 'igliInstanceGroup'+ -> InstanceGroupsListInstances'+instanceGroupsListInstances' pIgliProject_ pIgliZone_ pIgliPayload_ pIgliInstanceGroup_ =+ InstanceGroupsListInstances'+ { _igliProject = pIgliProject_+ , _igliZone = pIgliZone_+ , _igliPayload = pIgliPayload_+ , _igliFilter = Nothing+ , _igliPageToken = Nothing+ , _igliInstanceGroup = pIgliInstanceGroup_+ , _igliMaxResults = 500+ }++-- | The project ID for this request.+igliProject :: Lens' InstanceGroupsListInstances' Text+igliProject+ = lens _igliProject (\ s a -> s{_igliProject = a})++-- | The name of the zone where the instance group is located.+igliZone :: Lens' InstanceGroupsListInstances' Text+igliZone = lens _igliZone (\ s a -> s{_igliZone = a})++-- | Multipart request metadata.+igliPayload :: Lens' InstanceGroupsListInstances' InstanceGroupsListInstancesRequest+igliPayload+ = 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+-- 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.+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.+igliPageToken :: Lens' InstanceGroupsListInstances' (Maybe Text)+igliPageToken+ = lens _igliPageToken+ (\ s a -> s{_igliPageToken = a})++-- | The name of the instance group from which you want to generate a list of+-- included instances.+igliInstanceGroup :: Lens' InstanceGroupsListInstances' Text+igliInstanceGroup+ = lens _igliInstanceGroup+ (\ s a -> s{_igliInstanceGroup = a})++-- | Maximum count of results to be returned.+igliMaxResults :: Lens' InstanceGroupsListInstances' Word32+igliMaxResults+ = lens _igliMaxResults+ (\ s a -> s{_igliMaxResults = a})+ . _Coerce++instance GoogleRequest InstanceGroupsListInstances'+ where+ type Rs InstanceGroupsListInstances' =+ InstanceGroupsListInstances+ requestClient InstanceGroupsListInstances'{..}+ = go _igliProject _igliZone _igliInstanceGroup+ _igliFilter+ _igliPageToken+ (Just _igliMaxResults)+ (Just AltJSON)+ _igliPayload+ computeService+ where go+ = buildClient+ (Proxy :: Proxy InstanceGroupsListInstancesResource)+ mempty
+ gen/Network/Google/Resource/Compute/InstanceGroups/RemoveInstances.hs view
@@ -0,0 +1,131 @@+{-# 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.InstanceGroups.RemoveInstances+-- 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)+--+-- Removes one or more instances from the specified instance group, but+-- does not delete those instances.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.instanceGroups.removeInstances@.+module Network.Google.Resource.Compute.InstanceGroups.RemoveInstances+ (+ -- * REST Resource+ InstanceGroupsRemoveInstancesResource++ -- * Creating a Request+ , instanceGroupsRemoveInstances+ , InstanceGroupsRemoveInstances++ -- * Request Lenses+ , igriProject+ , igriZone+ , igriPayload+ , igriInstanceGroup+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.instanceGroups.removeInstances@ method which the+-- 'InstanceGroupsRemoveInstances' request conforms to.+type InstanceGroupsRemoveInstancesResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "zones" :>+ Capture "zone" Text :>+ "instanceGroups" :>+ Capture "instanceGroup" Text :>+ "removeInstances" :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] InstanceGroupsRemoveInstancesRequest+ :> Post '[JSON] Operation++-- | Removes one or more instances from the specified instance group, but+-- does not delete those instances.+--+-- /See:/ 'instanceGroupsRemoveInstances' smart constructor.+data InstanceGroupsRemoveInstances = InstanceGroupsRemoveInstances+ { _igriProject :: !Text+ , _igriZone :: !Text+ , _igriPayload :: !InstanceGroupsRemoveInstancesRequest+ , _igriInstanceGroup :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstanceGroupsRemoveInstances' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'igriProject'+--+-- * 'igriZone'+--+-- * 'igriPayload'+--+-- * 'igriInstanceGroup'+instanceGroupsRemoveInstances+ :: Text -- ^ 'igriProject'+ -> Text -- ^ 'igriZone'+ -> InstanceGroupsRemoveInstancesRequest -- ^ 'igriPayload'+ -> Text -- ^ 'igriInstanceGroup'+ -> InstanceGroupsRemoveInstances+instanceGroupsRemoveInstances pIgriProject_ pIgriZone_ pIgriPayload_ pIgriInstanceGroup_ =+ InstanceGroupsRemoveInstances+ { _igriProject = pIgriProject_+ , _igriZone = pIgriZone_+ , _igriPayload = pIgriPayload_+ , _igriInstanceGroup = pIgriInstanceGroup_+ }++-- | The project ID for this request.+igriProject :: Lens' InstanceGroupsRemoveInstances Text+igriProject+ = lens _igriProject (\ s a -> s{_igriProject = a})++-- | The name of the zone where the instance group is located.+igriZone :: Lens' InstanceGroupsRemoveInstances Text+igriZone = lens _igriZone (\ s a -> s{_igriZone = a})++-- | Multipart request metadata.+igriPayload :: Lens' InstanceGroupsRemoveInstances InstanceGroupsRemoveInstancesRequest+igriPayload+ = lens _igriPayload (\ s a -> s{_igriPayload = a})++-- | The name of the instance group where the specified instances will be+-- removed.+igriInstanceGroup :: Lens' InstanceGroupsRemoveInstances Text+igriInstanceGroup+ = lens _igriInstanceGroup+ (\ s a -> s{_igriInstanceGroup = a})++instance GoogleRequest InstanceGroupsRemoveInstances+ where+ type Rs InstanceGroupsRemoveInstances = Operation+ requestClient InstanceGroupsRemoveInstances{..}+ = go _igriProject _igriZone _igriInstanceGroup+ (Just AltJSON)+ _igriPayload+ computeService+ where go+ = buildClient+ (Proxy ::+ Proxy InstanceGroupsRemoveInstancesResource)+ mempty
+ gen/Network/Google/Resource/Compute/InstanceGroups/SetNamedPorts.hs view
@@ -0,0 +1,128 @@+{-# 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.InstanceGroups.SetNamedPorts+-- 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)+--+-- Sets the named ports for the specified instance group.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.instanceGroups.setNamedPorts@.+module Network.Google.Resource.Compute.InstanceGroups.SetNamedPorts+ (+ -- * REST Resource+ InstanceGroupsSetNamedPortsResource++ -- * Creating a Request+ , instanceGroupsSetNamedPorts+ , InstanceGroupsSetNamedPorts++ -- * Request Lenses+ , igsnpProject+ , igsnpZone+ , igsnpPayload+ , igsnpInstanceGroup+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.instanceGroups.setNamedPorts@ method which the+-- 'InstanceGroupsSetNamedPorts' request conforms to.+type InstanceGroupsSetNamedPortsResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "zones" :>+ Capture "zone" Text :>+ "instanceGroups" :>+ Capture "instanceGroup" Text :>+ "setNamedPorts" :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] InstanceGroupsSetNamedPortsRequest :>+ Post '[JSON] Operation++-- | Sets the named ports for the specified instance group.+--+-- /See:/ 'instanceGroupsSetNamedPorts' smart constructor.+data InstanceGroupsSetNamedPorts = InstanceGroupsSetNamedPorts+ { _igsnpProject :: !Text+ , _igsnpZone :: !Text+ , _igsnpPayload :: !InstanceGroupsSetNamedPortsRequest+ , _igsnpInstanceGroup :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstanceGroupsSetNamedPorts' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'igsnpProject'+--+-- * 'igsnpZone'+--+-- * 'igsnpPayload'+--+-- * 'igsnpInstanceGroup'+instanceGroupsSetNamedPorts+ :: Text -- ^ 'igsnpProject'+ -> Text -- ^ 'igsnpZone'+ -> InstanceGroupsSetNamedPortsRequest -- ^ 'igsnpPayload'+ -> Text -- ^ 'igsnpInstanceGroup'+ -> InstanceGroupsSetNamedPorts+instanceGroupsSetNamedPorts pIgsnpProject_ pIgsnpZone_ pIgsnpPayload_ pIgsnpInstanceGroup_ =+ InstanceGroupsSetNamedPorts+ { _igsnpProject = pIgsnpProject_+ , _igsnpZone = pIgsnpZone_+ , _igsnpPayload = pIgsnpPayload_+ , _igsnpInstanceGroup = pIgsnpInstanceGroup_+ }++-- | The project ID for this request.+igsnpProject :: Lens' InstanceGroupsSetNamedPorts Text+igsnpProject+ = lens _igsnpProject (\ s a -> s{_igsnpProject = a})++-- | The name of the zone where the instance group is located.+igsnpZone :: Lens' InstanceGroupsSetNamedPorts Text+igsnpZone+ = lens _igsnpZone (\ s a -> s{_igsnpZone = a})++-- | Multipart request metadata.+igsnpPayload :: Lens' InstanceGroupsSetNamedPorts InstanceGroupsSetNamedPortsRequest+igsnpPayload+ = lens _igsnpPayload (\ s a -> s{_igsnpPayload = a})++-- | The name of the instance group where the named ports are updated.+igsnpInstanceGroup :: Lens' InstanceGroupsSetNamedPorts Text+igsnpInstanceGroup+ = lens _igsnpInstanceGroup+ (\ s a -> s{_igsnpInstanceGroup = a})++instance GoogleRequest InstanceGroupsSetNamedPorts+ where+ type Rs InstanceGroupsSetNamedPorts = Operation+ requestClient InstanceGroupsSetNamedPorts{..}+ = go _igsnpProject _igsnpZone _igsnpInstanceGroup+ (Just AltJSON)+ _igsnpPayload+ computeService+ where go+ = buildClient+ (Proxy :: Proxy InstanceGroupsSetNamedPortsResource)+ mempty
+ gen/Network/Google/Resource/Compute/InstanceTemplates/Delete.hs view
@@ -0,0 +1,99 @@+{-# 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.InstanceTemplates.Delete+-- 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)+--+-- Deletes the specified instance template.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.instanceTemplates.delete@.+module Network.Google.Resource.Compute.InstanceTemplates.Delete+ (+ -- * REST Resource+ InstanceTemplatesDeleteResource++ -- * Creating a Request+ , instanceTemplatesDelete+ , InstanceTemplatesDelete++ -- * Request Lenses+ , itdProject+ , itdInstanceTemplate+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.instanceTemplates.delete@ method which the+-- 'InstanceTemplatesDelete' request conforms to.+type InstanceTemplatesDeleteResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "global" :>+ "instanceTemplates" :>+ Capture "instanceTemplate" Text :>+ QueryParam "alt" AltJSON :> Delete '[JSON] Operation++-- | Deletes the specified instance template.+--+-- /See:/ 'instanceTemplatesDelete' smart constructor.+data InstanceTemplatesDelete = InstanceTemplatesDelete+ { _itdProject :: !Text+ , _itdInstanceTemplate :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstanceTemplatesDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'itdProject'+--+-- * 'itdInstanceTemplate'+instanceTemplatesDelete+ :: Text -- ^ 'itdProject'+ -> Text -- ^ 'itdInstanceTemplate'+ -> InstanceTemplatesDelete+instanceTemplatesDelete pItdProject_ pItdInstanceTemplate_ =+ InstanceTemplatesDelete+ { _itdProject = pItdProject_+ , _itdInstanceTemplate = pItdInstanceTemplate_+ }++-- | The project ID for this request.+itdProject :: Lens' InstanceTemplatesDelete Text+itdProject+ = lens _itdProject (\ s a -> s{_itdProject = a})++-- | The name of the instance template to delete.+itdInstanceTemplate :: Lens' InstanceTemplatesDelete Text+itdInstanceTemplate+ = lens _itdInstanceTemplate+ (\ s a -> s{_itdInstanceTemplate = a})++instance GoogleRequest InstanceTemplatesDelete where+ type Rs InstanceTemplatesDelete = Operation+ requestClient InstanceTemplatesDelete{..}+ = go _itdProject _itdInstanceTemplate (Just AltJSON)+ computeService+ where go+ = buildClient+ (Proxy :: Proxy InstanceTemplatesDeleteResource)+ mempty
+ gen/Network/Google/Resource/Compute/InstanceTemplates/Get.hs view
@@ -0,0 +1,100 @@+{-# 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.InstanceTemplates.Get+-- 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)+--+-- Returns the specified instance template resource.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.instanceTemplates.get@.+module Network.Google.Resource.Compute.InstanceTemplates.Get+ (+ -- * REST Resource+ InstanceTemplatesGetResource++ -- * Creating a Request+ , instanceTemplatesGet+ , InstanceTemplatesGet++ -- * Request Lenses+ , itgProject+ , itgInstanceTemplate+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.instanceTemplates.get@ method which the+-- 'InstanceTemplatesGet' request conforms to.+type InstanceTemplatesGetResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "global" :>+ "instanceTemplates" :>+ Capture "instanceTemplate" Text :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] InstanceTemplate++-- | Returns the specified instance template resource.+--+-- /See:/ 'instanceTemplatesGet' smart constructor.+data InstanceTemplatesGet = InstanceTemplatesGet+ { _itgProject :: !Text+ , _itgInstanceTemplate :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstanceTemplatesGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'itgProject'+--+-- * 'itgInstanceTemplate'+instanceTemplatesGet+ :: Text -- ^ 'itgProject'+ -> Text -- ^ 'itgInstanceTemplate'+ -> InstanceTemplatesGet+instanceTemplatesGet pItgProject_ pItgInstanceTemplate_ =+ InstanceTemplatesGet+ { _itgProject = pItgProject_+ , _itgInstanceTemplate = pItgInstanceTemplate_+ }++-- | The project ID for this request.+itgProject :: Lens' InstanceTemplatesGet Text+itgProject+ = lens _itgProject (\ s a -> s{_itgProject = a})++-- | The name of the instance template.+itgInstanceTemplate :: Lens' InstanceTemplatesGet Text+itgInstanceTemplate+ = lens _itgInstanceTemplate+ (\ s a -> s{_itgInstanceTemplate = a})++instance GoogleRequest InstanceTemplatesGet where+ type Rs InstanceTemplatesGet = InstanceTemplate+ requestClient InstanceTemplatesGet{..}+ = go _itgProject _itgInstanceTemplate (Just AltJSON)+ computeService+ where go+ = buildClient+ (Proxy :: Proxy InstanceTemplatesGetResource)+ mempty
+ gen/Network/Google/Resource/Compute/InstanceTemplates/Insert.hs view
@@ -0,0 +1,101 @@+{-# 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.InstanceTemplates.Insert+-- 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)+--+-- Creates an instance template in the specified project using the data+-- that is included in the request.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.instanceTemplates.insert@.+module Network.Google.Resource.Compute.InstanceTemplates.Insert+ (+ -- * REST Resource+ InstanceTemplatesInsertResource++ -- * Creating a Request+ , instanceTemplatesInsert+ , InstanceTemplatesInsert++ -- * Request Lenses+ , itiProject+ , itiPayload+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.instanceTemplates.insert@ method which the+-- 'InstanceTemplatesInsert' request conforms to.+type InstanceTemplatesInsertResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "global" :>+ "instanceTemplates" :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] InstanceTemplate :>+ Post '[JSON] Operation++-- | Creates an instance template in the specified project using the data+-- that is included in the request.+--+-- /See:/ 'instanceTemplatesInsert' smart constructor.+data InstanceTemplatesInsert = InstanceTemplatesInsert+ { _itiProject :: !Text+ , _itiPayload :: !InstanceTemplate+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstanceTemplatesInsert' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'itiProject'+--+-- * 'itiPayload'+instanceTemplatesInsert+ :: Text -- ^ 'itiProject'+ -> InstanceTemplate -- ^ 'itiPayload'+ -> InstanceTemplatesInsert+instanceTemplatesInsert pItiProject_ pItiPayload_ =+ InstanceTemplatesInsert+ { _itiProject = pItiProject_+ , _itiPayload = pItiPayload_+ }++-- | The project ID for this request.+itiProject :: Lens' InstanceTemplatesInsert Text+itiProject+ = lens _itiProject (\ s a -> s{_itiProject = a})++-- | Multipart request metadata.+itiPayload :: Lens' InstanceTemplatesInsert InstanceTemplate+itiPayload+ = lens _itiPayload (\ s a -> s{_itiPayload = a})++instance GoogleRequest InstanceTemplatesInsert where+ type Rs InstanceTemplatesInsert = Operation+ requestClient InstanceTemplatesInsert{..}+ = go _itiProject (Just AltJSON) _itiPayload+ computeService+ where go+ = buildClient+ (Proxy :: Proxy InstanceTemplatesInsertResource)+ mempty
+ gen/Network/Google/Resource/Compute/InstanceTemplates/List.hs view
@@ -0,0 +1,138 @@+{-# 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.InstanceTemplates.List+-- 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)+--+-- Retrieves a list of instance templates that are contained within the+-- specified project and zone.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.instanceTemplates.list@.+module Network.Google.Resource.Compute.InstanceTemplates.List+ (+ -- * REST Resource+ InstanceTemplatesListResource++ -- * Creating a Request+ , instanceTemplatesList+ , InstanceTemplatesList++ -- * Request Lenses+ , itlProject+ , itlFilter+ , itlPageToken+ , itlMaxResults+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.instanceTemplates.list@ method which the+-- 'InstanceTemplatesList' request conforms to.+type InstanceTemplatesListResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "global" :>+ "instanceTemplates" :>+ QueryParam "filter" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] InstanceTemplateList++-- | Retrieves a list of instance templates that are contained within the+-- specified project and zone.+--+-- /See:/ 'instanceTemplatesList' smart constructor.+data InstanceTemplatesList = InstanceTemplatesList+ { _itlProject :: !Text+ , _itlFilter :: !(Maybe Text)+ , _itlPageToken :: !(Maybe Text)+ , _itlMaxResults :: !(Textual Word32)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstanceTemplatesList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'itlProject'+--+-- * 'itlFilter'+--+-- * 'itlPageToken'+--+-- * 'itlMaxResults'+instanceTemplatesList+ :: Text -- ^ 'itlProject'+ -> InstanceTemplatesList+instanceTemplatesList pItlProject_ =+ InstanceTemplatesList+ { _itlProject = pItlProject_+ , _itlFilter = Nothing+ , _itlPageToken = Nothing+ , _itlMaxResults = 500+ }++-- | The 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+-- 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.+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.+itlPageToken :: Lens' InstanceTemplatesList (Maybe Text)+itlPageToken+ = lens _itlPageToken (\ s a -> s{_itlPageToken = a})++-- | Maximum count of results to be returned.+itlMaxResults :: Lens' InstanceTemplatesList Word32+itlMaxResults+ = lens _itlMaxResults+ (\ s a -> s{_itlMaxResults = a})+ . _Coerce++instance GoogleRequest InstanceTemplatesList where+ type Rs InstanceTemplatesList = InstanceTemplateList+ requestClient InstanceTemplatesList{..}+ = go _itlProject _itlFilter _itlPageToken+ (Just _itlMaxResults)+ (Just AltJSON)+ computeService+ where go+ = buildClient+ (Proxy :: Proxy InstanceTemplatesListResource)+ mempty
+ gen/Network/Google/Resource/Compute/Instances/AddAccessConfig.hs view
@@ -0,0 +1,139 @@+{-# 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.AddAccessConfig+-- 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)+--+-- Adds an access config to an instance\'s network interface.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.instances.addAccessConfig@.+module Network.Google.Resource.Compute.Instances.AddAccessConfig+ (+ -- * REST Resource+ InstancesAddAccessConfigResource++ -- * Creating a Request+ , instancesAddAccessConfig+ , InstancesAddAccessConfig++ -- * Request Lenses+ , iaacProject+ , iaacNetworkInterface+ , iaacZone+ , iaacPayload+ , iaacInstance+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.instances.addAccessConfig@ method which the+-- 'InstancesAddAccessConfig' request conforms to.+type InstancesAddAccessConfigResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "zones" :>+ Capture "zone" Text :>+ "instances" :>+ Capture "instance" Text :>+ "addAccessConfig" :>+ QueryParam "networkInterface" Text :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] AccessConfig :>+ Post '[JSON] Operation++-- | Adds an access config to an instance\'s network interface.+--+-- /See:/ 'instancesAddAccessConfig' smart constructor.+data InstancesAddAccessConfig = InstancesAddAccessConfig+ { _iaacProject :: !Text+ , _iaacNetworkInterface :: !Text+ , _iaacZone :: !Text+ , _iaacPayload :: !AccessConfig+ , _iaacInstance :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstancesAddAccessConfig' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'iaacProject'+--+-- * 'iaacNetworkInterface'+--+-- * 'iaacZone'+--+-- * 'iaacPayload'+--+-- * 'iaacInstance'+instancesAddAccessConfig+ :: Text -- ^ 'iaacProject'+ -> Text -- ^ 'iaacNetworkInterface'+ -> Text -- ^ 'iaacZone'+ -> AccessConfig -- ^ 'iaacPayload'+ -> Text -- ^ 'iaacInstance'+ -> InstancesAddAccessConfig+instancesAddAccessConfig pIaacProject_ pIaacNetworkInterface_ pIaacZone_ pIaacPayload_ pIaacInstance_ =+ InstancesAddAccessConfig+ { _iaacProject = pIaacProject_+ , _iaacNetworkInterface = pIaacNetworkInterface_+ , _iaacZone = pIaacZone_+ , _iaacPayload = pIaacPayload_+ , _iaacInstance = pIaacInstance_+ }++-- | Project ID for this request.+iaacProject :: Lens' InstancesAddAccessConfig Text+iaacProject+ = lens _iaacProject (\ s a -> s{_iaacProject = a})++-- | The name of the network interface to add to this instance.+iaacNetworkInterface :: Lens' InstancesAddAccessConfig Text+iaacNetworkInterface+ = lens _iaacNetworkInterface+ (\ s a -> s{_iaacNetworkInterface = a})++-- | The name of the zone for this request.+iaacZone :: Lens' InstancesAddAccessConfig Text+iaacZone = lens _iaacZone (\ s a -> s{_iaacZone = a})++-- | Multipart request metadata.+iaacPayload :: Lens' InstancesAddAccessConfig AccessConfig+iaacPayload+ = lens _iaacPayload (\ s a -> s{_iaacPayload = a})++-- | The instance name for this request.+iaacInstance :: Lens' InstancesAddAccessConfig Text+iaacInstance+ = lens _iaacInstance (\ s a -> s{_iaacInstance = a})++instance GoogleRequest InstancesAddAccessConfig where+ type Rs InstancesAddAccessConfig = Operation+ requestClient InstancesAddAccessConfig{..}+ = go _iaacProject _iaacZone _iaacInstance+ (Just _iaacNetworkInterface)+ (Just AltJSON)+ _iaacPayload+ computeService+ where go+ = buildClient+ (Proxy :: Proxy InstancesAddAccessConfigResource)+ mempty
+ gen/Network/Google/Resource/Compute/Instances/AggregatedList.hs view
@@ -0,0 +1,137 @@+{-# 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.AggregatedList+-- 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)+--+-- Retrieves aggregated list of instance resources.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.instances.aggregatedList@.+module Network.Google.Resource.Compute.Instances.AggregatedList+ (+ -- * REST Resource+ InstancesAggregatedListResource++ -- * Creating a Request+ , instancesAggregatedList+ , InstancesAggregatedList++ -- * Request Lenses+ , ialProject+ , ialFilter+ , ialPageToken+ , ialMaxResults+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.instances.aggregatedList@ method which the+-- 'InstancesAggregatedList' request conforms to.+type InstancesAggregatedListResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "aggregated" :>+ "instances" :>+ QueryParam "filter" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] InstanceAggregatedList++-- | Retrieves aggregated list of instance resources.+--+-- /See:/ 'instancesAggregatedList' smart constructor.+data InstancesAggregatedList = InstancesAggregatedList+ { _ialProject :: !Text+ , _ialFilter :: !(Maybe Text)+ , _ialPageToken :: !(Maybe Text)+ , _ialMaxResults :: !(Textual Word32)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstancesAggregatedList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ialProject'+--+-- * 'ialFilter'+--+-- * 'ialPageToken'+--+-- * 'ialMaxResults'+instancesAggregatedList+ :: Text -- ^ 'ialProject'+ -> InstancesAggregatedList+instancesAggregatedList pIalProject_ =+ InstancesAggregatedList+ { _ialProject = pIalProject_+ , _ialFilter = Nothing+ , _ialPageToken = Nothing+ , _ialMaxResults = 500+ }++-- | Project ID for this request.+ialProject :: Lens' InstancesAggregatedList Text+ialProject+ = 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+-- 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.+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.+ialPageToken :: Lens' InstancesAggregatedList (Maybe Text)+ialPageToken+ = lens _ialPageToken (\ s a -> s{_ialPageToken = a})++-- | Maximum count of results to be returned.+ialMaxResults :: Lens' InstancesAggregatedList Word32+ialMaxResults+ = lens _ialMaxResults+ (\ s a -> s{_ialMaxResults = a})+ . _Coerce++instance GoogleRequest InstancesAggregatedList where+ type Rs InstancesAggregatedList =+ InstanceAggregatedList+ requestClient InstancesAggregatedList{..}+ = go _ialProject _ialFilter _ialPageToken+ (Just _ialMaxResults)+ (Just AltJSON)+ computeService+ where go+ = buildClient+ (Proxy :: Proxy InstancesAggregatedListResource)+ mempty
+ gen/Network/Google/Resource/Compute/Instances/AttachDisk.hs view
@@ -0,0 +1,124 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.Compute.Instances.AttachDisk+-- 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)+--+-- Attaches a Disk resource to an instance.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.instances.attachDisk@.+module Network.Google.Resource.Compute.Instances.AttachDisk+ (+ -- * REST Resource+ InstancesAttachDiskResource++ -- * Creating a Request+ , instancesAttachDisk+ , InstancesAttachDisk++ -- * Request Lenses+ , iadProject+ , iadZone+ , iadPayload+ , iadInstance+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.instances.attachDisk@ method which the+-- 'InstancesAttachDisk' request conforms to.+type InstancesAttachDiskResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "zones" :>+ Capture "zone" Text :>+ "instances" :>+ Capture "instance" Text :>+ "attachDisk" :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] AttachedDisk :>+ Post '[JSON] Operation++-- | Attaches a Disk resource to an instance.+--+-- /See:/ 'instancesAttachDisk' smart constructor.+data InstancesAttachDisk = InstancesAttachDisk+ { _iadProject :: !Text+ , _iadZone :: !Text+ , _iadPayload :: !AttachedDisk+ , _iadInstance :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstancesAttachDisk' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'iadProject'+--+-- * 'iadZone'+--+-- * 'iadPayload'+--+-- * 'iadInstance'+instancesAttachDisk+ :: Text -- ^ 'iadProject'+ -> Text -- ^ 'iadZone'+ -> AttachedDisk -- ^ 'iadPayload'+ -> Text -- ^ 'iadInstance'+ -> InstancesAttachDisk+instancesAttachDisk pIadProject_ pIadZone_ pIadPayload_ pIadInstance_ =+ InstancesAttachDisk+ { _iadProject = pIadProject_+ , _iadZone = pIadZone_+ , _iadPayload = pIadPayload_+ , _iadInstance = pIadInstance_+ }++-- | Project ID for this request.+iadProject :: Lens' InstancesAttachDisk Text+iadProject+ = lens _iadProject (\ s a -> s{_iadProject = a})++-- | The name of the zone for this request.+iadZone :: Lens' InstancesAttachDisk Text+iadZone = lens _iadZone (\ s a -> s{_iadZone = a})++-- | Multipart request metadata.+iadPayload :: Lens' InstancesAttachDisk AttachedDisk+iadPayload+ = lens _iadPayload (\ s a -> s{_iadPayload = a})++-- | Instance name.+iadInstance :: Lens' InstancesAttachDisk Text+iadInstance+ = lens _iadInstance (\ s a -> s{_iadInstance = a})++instance GoogleRequest InstancesAttachDisk where+ type Rs InstancesAttachDisk = Operation+ requestClient InstancesAttachDisk{..}+ = go _iadProject _iadZone _iadInstance (Just AltJSON)+ _iadPayload+ computeService+ where go+ = buildClient+ (Proxy :: Proxy InstancesAttachDiskResource)+ mempty
+ gen/Network/Google/Resource/Compute/Instances/Delete.hs view
@@ -0,0 +1,111 @@+{-# 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.Delete+-- 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)+--+-- Deletes the specified Instance resource. For more information, see+-- Shutting down 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+ (+ -- * REST Resource+ InstancesDeleteResource++ -- * Creating a Request+ , instancesDelete+ , InstancesDelete++ -- * Request Lenses+ , idProject+ , idZone+ , idInstance+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.instances.delete@ method which the+-- 'InstancesDelete' request conforms to.+type InstancesDeleteResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "zones" :>+ Capture "zone" Text :>+ "instances" :>+ Capture "instance" Text :>+ QueryParam "alt" AltJSON :> Delete '[JSON] Operation++-- | Deletes the specified Instance resource. For more information, see+-- Shutting down an instance.+--+-- /See:/ 'instancesDelete' smart constructor.+data InstancesDelete = InstancesDelete+ { _idProject :: !Text+ , _idZone :: !Text+ , _idInstance :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstancesDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'idProject'+--+-- * 'idZone'+--+-- * 'idInstance'+instancesDelete+ :: Text -- ^ 'idProject'+ -> Text -- ^ 'idZone'+ -> Text -- ^ 'idInstance'+ -> InstancesDelete+instancesDelete pIdProject_ pIdZone_ pIdInstance_ =+ InstancesDelete+ { _idProject = pIdProject_+ , _idZone = pIdZone_+ , _idInstance = pIdInstance_+ }++-- | Project ID for this request.+idProject :: Lens' InstancesDelete Text+idProject+ = lens _idProject (\ s a -> s{_idProject = a})++-- | The name of the zone for this request.+idZone :: Lens' InstancesDelete Text+idZone = lens _idZone (\ s a -> s{_idZone = a})++-- | Name of the instance resource to delete.+idInstance :: Lens' InstancesDelete Text+idInstance+ = lens _idInstance (\ s a -> s{_idInstance = a})++instance GoogleRequest InstancesDelete where+ type Rs InstancesDelete = Operation+ requestClient InstancesDelete{..}+ = go _idProject _idZone _idInstance (Just AltJSON)+ computeService+ where go+ = buildClient+ (Proxy :: Proxy InstancesDeleteResource)+ mempty
+ gen/Network/Google/Resource/Compute/Instances/DeleteAccessConfig.hs view
@@ -0,0 +1,140 @@+{-# 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.DeleteAccessConfig+-- 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)+--+-- Deletes an access config from an instance\'s network interface.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.instances.deleteAccessConfig@.+module Network.Google.Resource.Compute.Instances.DeleteAccessConfig+ (+ -- * REST Resource+ InstancesDeleteAccessConfigResource++ -- * Creating a Request+ , instancesDeleteAccessConfig+ , InstancesDeleteAccessConfig++ -- * Request Lenses+ , idacProject+ , idacNetworkInterface+ , idacZone+ , idacAccessConfig+ , idacInstance+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.instances.deleteAccessConfig@ method which the+-- 'InstancesDeleteAccessConfig' request conforms to.+type InstancesDeleteAccessConfigResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "zones" :>+ Capture "zone" Text :>+ "instances" :>+ Capture "instance" Text :>+ "deleteAccessConfig" :>+ QueryParam "accessConfig" Text :>+ QueryParam "networkInterface" Text :>+ QueryParam "alt" AltJSON :> Post '[JSON] Operation++-- | Deletes an access config from an instance\'s network interface.+--+-- /See:/ 'instancesDeleteAccessConfig' smart constructor.+data InstancesDeleteAccessConfig = InstancesDeleteAccessConfig+ { _idacProject :: !Text+ , _idacNetworkInterface :: !Text+ , _idacZone :: !Text+ , _idacAccessConfig :: !Text+ , _idacInstance :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstancesDeleteAccessConfig' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'idacProject'+--+-- * 'idacNetworkInterface'+--+-- * 'idacZone'+--+-- * 'idacAccessConfig'+--+-- * 'idacInstance'+instancesDeleteAccessConfig+ :: Text -- ^ 'idacProject'+ -> Text -- ^ 'idacNetworkInterface'+ -> Text -- ^ 'idacZone'+ -> Text -- ^ 'idacAccessConfig'+ -> Text -- ^ 'idacInstance'+ -> InstancesDeleteAccessConfig+instancesDeleteAccessConfig pIdacProject_ pIdacNetworkInterface_ pIdacZone_ pIdacAccessConfig_ pIdacInstance_ =+ InstancesDeleteAccessConfig+ { _idacProject = pIdacProject_+ , _idacNetworkInterface = pIdacNetworkInterface_+ , _idacZone = pIdacZone_+ , _idacAccessConfig = pIdacAccessConfig_+ , _idacInstance = pIdacInstance_+ }++-- | Project ID for this request.+idacProject :: Lens' InstancesDeleteAccessConfig Text+idacProject+ = lens _idacProject (\ s a -> s{_idacProject = a})++-- | The name of the network interface.+idacNetworkInterface :: Lens' InstancesDeleteAccessConfig Text+idacNetworkInterface+ = lens _idacNetworkInterface+ (\ s a -> s{_idacNetworkInterface = a})++-- | The name of the zone for this request.+idacZone :: Lens' InstancesDeleteAccessConfig Text+idacZone = lens _idacZone (\ s a -> s{_idacZone = a})++-- | The name of the access config to delete.+idacAccessConfig :: Lens' InstancesDeleteAccessConfig Text+idacAccessConfig+ = lens _idacAccessConfig+ (\ s a -> s{_idacAccessConfig = a})++-- | The instance name for this request.+idacInstance :: Lens' InstancesDeleteAccessConfig Text+idacInstance+ = lens _idacInstance (\ s a -> s{_idacInstance = a})++instance GoogleRequest InstancesDeleteAccessConfig+ where+ type Rs InstancesDeleteAccessConfig = Operation+ requestClient InstancesDeleteAccessConfig{..}+ = go _idacProject _idacZone _idacInstance+ (Just _idacAccessConfig)+ (Just _idacNetworkInterface)+ (Just AltJSON)+ computeService+ where go+ = buildClient+ (Proxy :: Proxy InstancesDeleteAccessConfigResource)+ mempty
+ gen/Network/Google/Resource/Compute/Instances/DetachDisk.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.Instances.DetachDisk+-- 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)+--+-- Detaches a disk from an instance.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.instances.detachDisk@.+module Network.Google.Resource.Compute.Instances.DetachDisk+ (+ -- * REST Resource+ InstancesDetachDiskResource++ -- * Creating a Request+ , instancesDetachDisk+ , InstancesDetachDisk++ -- * Request Lenses+ , iddProject+ , iddZone+ , iddDeviceName+ , iddInstance+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.instances.detachDisk@ method which the+-- 'InstancesDetachDisk' request conforms to.+type InstancesDetachDiskResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "zones" :>+ Capture "zone" Text :>+ "instances" :>+ Capture "instance" Text :>+ "detachDisk" :>+ QueryParam "deviceName" Text :>+ QueryParam "alt" AltJSON :> Post '[JSON] Operation++-- | Detaches a disk from an instance.+--+-- /See:/ 'instancesDetachDisk' smart constructor.+data InstancesDetachDisk = InstancesDetachDisk+ { _iddProject :: !Text+ , _iddZone :: !Text+ , _iddDeviceName :: !Text+ , _iddInstance :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstancesDetachDisk' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'iddProject'+--+-- * 'iddZone'+--+-- * 'iddDeviceName'+--+-- * 'iddInstance'+instancesDetachDisk+ :: Text -- ^ 'iddProject'+ -> Text -- ^ 'iddZone'+ -> Text -- ^ 'iddDeviceName'+ -> Text -- ^ 'iddInstance'+ -> InstancesDetachDisk+instancesDetachDisk pIddProject_ pIddZone_ pIddDeviceName_ pIddInstance_ =+ InstancesDetachDisk+ { _iddProject = pIddProject_+ , _iddZone = pIddZone_+ , _iddDeviceName = pIddDeviceName_+ , _iddInstance = pIddInstance_+ }++-- | Project ID for this request.+iddProject :: Lens' InstancesDetachDisk Text+iddProject+ = lens _iddProject (\ s a -> s{_iddProject = a})++-- | The name of the zone for this request.+iddZone :: Lens' InstancesDetachDisk Text+iddZone = lens _iddZone (\ s a -> s{_iddZone = a})++-- | Disk device name to detach.+iddDeviceName :: Lens' InstancesDetachDisk Text+iddDeviceName+ = lens _iddDeviceName+ (\ s a -> s{_iddDeviceName = a})++-- | Instance name.+iddInstance :: Lens' InstancesDetachDisk Text+iddInstance+ = lens _iddInstance (\ s a -> s{_iddInstance = a})++instance GoogleRequest InstancesDetachDisk where+ type Rs InstancesDetachDisk = Operation+ requestClient InstancesDetachDisk{..}+ = go _iddProject _iddZone _iddInstance+ (Just _iddDeviceName)+ (Just AltJSON)+ computeService+ where go+ = buildClient+ (Proxy :: Proxy InstancesDetachDiskResource)+ mempty
+ gen/Network/Google/Resource/Compute/Instances/Get.hs view
@@ -0,0 +1,108 @@+{-# 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.Get+-- 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)+--+-- Returns the specified instance resource.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.instances.get@.+module Network.Google.Resource.Compute.Instances.Get+ (+ -- * REST Resource+ InstancesGetResource++ -- * Creating a Request+ , instancesGet+ , InstancesGet++ -- * Request Lenses+ , igProject+ , igZone+ , igInstance+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.instances.get@ method which the+-- 'InstancesGet' request conforms to.+type InstancesGetResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "zones" :>+ Capture "zone" Text :>+ "instances" :>+ Capture "instance" Text :>+ QueryParam "alt" AltJSON :> Get '[JSON] Instance++-- | Returns the specified instance resource.+--+-- /See:/ 'instancesGet' smart constructor.+data InstancesGet = InstancesGet+ { _igProject :: !Text+ , _igZone :: !Text+ , _igInstance :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstancesGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'igProject'+--+-- * 'igZone'+--+-- * 'igInstance'+instancesGet+ :: Text -- ^ 'igProject'+ -> Text -- ^ 'igZone'+ -> Text -- ^ 'igInstance'+ -> InstancesGet+instancesGet pIgProject_ pIgZone_ pIgInstance_ =+ InstancesGet+ { _igProject = pIgProject_+ , _igZone = pIgZone_+ , _igInstance = pIgInstance_+ }++-- | Project ID for this request.+igProject :: Lens' InstancesGet Text+igProject+ = lens _igProject (\ s a -> s{_igProject = a})++-- | The name of the zone for this request.+igZone :: Lens' InstancesGet Text+igZone = lens _igZone (\ s a -> s{_igZone = a})++-- | Name of the instance resource to return.+igInstance :: Lens' InstancesGet Text+igInstance+ = lens _igInstance (\ s a -> s{_igInstance = a})++instance GoogleRequest InstancesGet where+ type Rs InstancesGet = Instance+ requestClient InstancesGet{..}+ = go _igProject _igZone _igInstance (Just AltJSON)+ computeService+ where go+ = buildClient (Proxy :: Proxy InstancesGetResource)+ mempty
+ gen/Network/Google/Resource/Compute/Instances/GetSerialPortOutput.hs view
@@ -0,0 +1,129 @@+{-# 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.GetSerialPortOutput+-- 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)+--+-- Returns the specified instance\'s serial port output.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.instances.getSerialPortOutput@.+module Network.Google.Resource.Compute.Instances.GetSerialPortOutput+ (+ -- * REST Resource+ InstancesGetSerialPortOutputResource++ -- * Creating a Request+ , instancesGetSerialPortOutput+ , InstancesGetSerialPortOutput++ -- * Request Lenses+ , igspoProject+ , igspoZone+ , igspoPort+ , igspoInstance+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.instances.getSerialPortOutput@ method which the+-- 'InstancesGetSerialPortOutput' request conforms to.+type InstancesGetSerialPortOutputResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "zones" :>+ Capture "zone" Text :>+ "instances" :>+ Capture "instance" Text :>+ "serialPort" :>+ QueryParam "port" (Textual Int32) :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] SerialPortOutput++-- | Returns the specified instance\'s serial port output.+--+-- /See:/ 'instancesGetSerialPortOutput' smart constructor.+data InstancesGetSerialPortOutput = InstancesGetSerialPortOutput+ { _igspoProject :: !Text+ , _igspoZone :: !Text+ , _igspoPort :: !(Textual Int32)+ , _igspoInstance :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstancesGetSerialPortOutput' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'igspoProject'+--+-- * 'igspoZone'+--+-- * 'igspoPort'+--+-- * 'igspoInstance'+instancesGetSerialPortOutput+ :: Text -- ^ 'igspoProject'+ -> Text -- ^ 'igspoZone'+ -> Text -- ^ 'igspoInstance'+ -> InstancesGetSerialPortOutput+instancesGetSerialPortOutput pIgspoProject_ pIgspoZone_ pIgspoInstance_ =+ InstancesGetSerialPortOutput+ { _igspoProject = pIgspoProject_+ , _igspoZone = pIgspoZone_+ , _igspoPort = 1+ , _igspoInstance = pIgspoInstance_+ }++-- | Project ID for this request.+igspoProject :: Lens' InstancesGetSerialPortOutput Text+igspoProject+ = lens _igspoProject (\ s a -> s{_igspoProject = a})++-- | The name of the zone for this request.+igspoZone :: Lens' InstancesGetSerialPortOutput Text+igspoZone+ = lens _igspoZone (\ s a -> s{_igspoZone = a})++-- | Specifies which COM or serial port to retrieve data from.+igspoPort :: Lens' InstancesGetSerialPortOutput Int32+igspoPort+ = lens _igspoPort (\ s a -> s{_igspoPort = a}) .+ _Coerce++-- | Name of the instance scoping this request.+igspoInstance :: Lens' InstancesGetSerialPortOutput Text+igspoInstance+ = lens _igspoInstance+ (\ s a -> s{_igspoInstance = a})++instance GoogleRequest InstancesGetSerialPortOutput+ where+ type Rs InstancesGetSerialPortOutput =+ SerialPortOutput+ requestClient InstancesGetSerialPortOutput{..}+ = go _igspoProject _igspoZone _igspoInstance+ (Just _igspoPort)+ (Just AltJSON)+ computeService+ where go+ = buildClient+ (Proxy :: Proxy InstancesGetSerialPortOutputResource)+ mempty
+ gen/Network/Google/Resource/Compute/Instances/Insert.hs view
@@ -0,0 +1,111 @@+{-# 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.Insert+-- 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)+--+-- Creates an instance 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.instances.insert@.+module Network.Google.Resource.Compute.Instances.Insert+ (+ -- * REST Resource+ InstancesInsertResource++ -- * Creating a Request+ , instancesInsert+ , InstancesInsert++ -- * Request Lenses+ , iiiProject+ , iiiZone+ , iiiPayload+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.instances.insert@ method which the+-- 'InstancesInsert' request conforms to.+type InstancesInsertResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "zones" :>+ Capture "zone" Text :>+ "instances" :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] Instance :> Post '[JSON] Operation++-- | Creates an instance resource in the specified project using the data+-- included in the request.+--+-- /See:/ 'instancesInsert' smart constructor.+data InstancesInsert = InstancesInsert+ { _iiiProject :: !Text+ , _iiiZone :: !Text+ , _iiiPayload :: !Instance+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstancesInsert' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'iiiProject'+--+-- * 'iiiZone'+--+-- * 'iiiPayload'+instancesInsert+ :: Text -- ^ 'iiiProject'+ -> Text -- ^ 'iiiZone'+ -> Instance -- ^ 'iiiPayload'+ -> InstancesInsert+instancesInsert pIiiProject_ pIiiZone_ pIiiPayload_ =+ InstancesInsert+ { _iiiProject = pIiiProject_+ , _iiiZone = pIiiZone_+ , _iiiPayload = pIiiPayload_+ }++-- | Project ID for this request.+iiiProject :: Lens' InstancesInsert Text+iiiProject+ = lens _iiiProject (\ s a -> s{_iiiProject = a})++-- | The name of the zone for this request.+iiiZone :: Lens' InstancesInsert Text+iiiZone = lens _iiiZone (\ s a -> s{_iiiZone = a})++-- | Multipart request metadata.+iiiPayload :: Lens' InstancesInsert Instance+iiiPayload+ = lens _iiiPayload (\ s a -> s{_iiiPayload = a})++instance GoogleRequest InstancesInsert where+ type Rs InstancesInsert = Operation+ requestClient InstancesInsert{..}+ = go _iiiProject _iiiZone (Just AltJSON) _iiiPayload+ computeService+ where go+ = buildClient+ (Proxy :: Proxy InstancesInsertResource)+ mempty
+ gen/Network/Google/Resource/Compute/Instances/List.hs view
@@ -0,0 +1,145 @@+{-# 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.List+-- 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)+--+-- Retrieves the list of instance resources 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+ (+ -- * REST Resource+ InstancesListResource++ -- * Creating a Request+ , instancesList+ , InstancesList++ -- * Request Lenses+ , ilProject+ , ilZone+ , ilFilter+ , ilPageToken+ , ilMaxResults+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.instances.list@ method which the+-- 'InstancesList' request conforms to.+type InstancesListResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "zones" :>+ Capture "zone" Text :>+ "instances" :>+ QueryParam "filter" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :> Get '[JSON] InstanceList++-- | Retrieves the list of instance resources contained within the specified+-- zone.+--+-- /See:/ 'instancesList' smart constructor.+data InstancesList = InstancesList+ { _ilProject :: !Text+ , _ilZone :: !Text+ , _ilFilter :: !(Maybe Text)+ , _ilPageToken :: !(Maybe Text)+ , _ilMaxResults :: !(Textual Word32)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstancesList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ilProject'+--+-- * 'ilZone'+--+-- * 'ilFilter'+--+-- * 'ilPageToken'+--+-- * 'ilMaxResults'+instancesList+ :: Text -- ^ 'ilProject'+ -> Text -- ^ 'ilZone'+ -> InstancesList+instancesList pIlProject_ pIlZone_ =+ InstancesList+ { _ilProject = pIlProject_+ , _ilZone = pIlZone_+ , _ilFilter = Nothing+ , _ilPageToken = Nothing+ , _ilMaxResults = 500+ }++-- | Project ID for this request.+ilProject :: Lens' InstancesList Text+ilProject+ = lens _ilProject (\ s a -> s{_ilProject = a})++-- | The name of the zone for this request.+ilZone :: Lens' InstancesList Text+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+-- 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.+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.+ilPageToken :: Lens' InstancesList (Maybe Text)+ilPageToken+ = lens _ilPageToken (\ s a -> s{_ilPageToken = a})++-- | Maximum count of results to be returned.+ilMaxResults :: Lens' InstancesList Word32+ilMaxResults+ = lens _ilMaxResults (\ s a -> s{_ilMaxResults = a})+ . _Coerce++instance GoogleRequest InstancesList where+ type Rs InstancesList = InstanceList+ requestClient InstancesList{..}+ = go _ilProject _ilZone _ilFilter _ilPageToken+ (Just _ilMaxResults)+ (Just AltJSON)+ computeService+ where go+ = buildClient (Proxy :: Proxy InstancesListResource)+ mempty
+ gen/Network/Google/Resource/Compute/Instances/Reset.hs view
@@ -0,0 +1,109 @@+{-# 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.Reset+-- 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)+--+-- Performs a hard reset on the instance.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.instances.reset@.+module Network.Google.Resource.Compute.Instances.Reset+ (+ -- * REST Resource+ InstancesResetResource++ -- * Creating a Request+ , instancesReset+ , InstancesReset++ -- * Request Lenses+ , irProject+ , irZone+ , irInstance+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.instances.reset@ method which the+-- 'InstancesReset' request conforms to.+type InstancesResetResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "zones" :>+ Capture "zone" Text :>+ "instances" :>+ Capture "instance" Text :>+ "reset" :>+ QueryParam "alt" AltJSON :> Post '[JSON] Operation++-- | Performs a hard reset on the instance.+--+-- /See:/ 'instancesReset' smart constructor.+data InstancesReset = InstancesReset+ { _irProject :: !Text+ , _irZone :: !Text+ , _irInstance :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstancesReset' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'irProject'+--+-- * 'irZone'+--+-- * 'irInstance'+instancesReset+ :: Text -- ^ 'irProject'+ -> Text -- ^ 'irZone'+ -> Text -- ^ 'irInstance'+ -> InstancesReset+instancesReset pIrProject_ pIrZone_ pIrInstance_ =+ InstancesReset+ { _irProject = pIrProject_+ , _irZone = pIrZone_+ , _irInstance = pIrInstance_+ }++-- | Project ID for this request.+irProject :: Lens' InstancesReset Text+irProject+ = lens _irProject (\ s a -> s{_irProject = a})++-- | The name of the zone for this request.+irZone :: Lens' InstancesReset Text+irZone = lens _irZone (\ s a -> s{_irZone = a})++-- | Name of the instance scoping this request.+irInstance :: Lens' InstancesReset Text+irInstance+ = lens _irInstance (\ s a -> s{_irInstance = a})++instance GoogleRequest InstancesReset where+ type Rs InstancesReset = Operation+ requestClient InstancesReset{..}+ = go _irProject _irZone _irInstance (Just AltJSON)+ computeService+ where go+ = buildClient (Proxy :: Proxy InstancesResetResource)+ mempty
+ gen/Network/Google/Resource/Compute/Instances/SetDiskAutoDelete.hs view
@@ -0,0 +1,142 @@+{-# 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.SetDiskAutoDelete+-- 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)+--+-- Sets the auto-delete flag for a disk attached to an instance.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.instances.setDiskAutoDelete@.+module Network.Google.Resource.Compute.Instances.SetDiskAutoDelete+ (+ -- * REST Resource+ InstancesSetDiskAutoDeleteResource++ -- * Creating a Request+ , instancesSetDiskAutoDelete+ , InstancesSetDiskAutoDelete++ -- * Request Lenses+ , isdadProject+ , isdadAutoDelete+ , isdadZone+ , isdadDeviceName+ , isdadInstance+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.instances.setDiskAutoDelete@ method which the+-- 'InstancesSetDiskAutoDelete' request conforms to.+type InstancesSetDiskAutoDeleteResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "zones" :>+ Capture "zone" Text :>+ "instances" :>+ Capture "instance" Text :>+ "setDiskAutoDelete" :>+ QueryParam "autoDelete" Bool :>+ QueryParam "deviceName" Text :>+ QueryParam "alt" AltJSON :> Post '[JSON] Operation++-- | Sets the auto-delete flag for a disk attached to an instance.+--+-- /See:/ 'instancesSetDiskAutoDelete' smart constructor.+data InstancesSetDiskAutoDelete = InstancesSetDiskAutoDelete+ { _isdadProject :: !Text+ , _isdadAutoDelete :: !Bool+ , _isdadZone :: !Text+ , _isdadDeviceName :: !Text+ , _isdadInstance :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstancesSetDiskAutoDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'isdadProject'+--+-- * 'isdadAutoDelete'+--+-- * 'isdadZone'+--+-- * 'isdadDeviceName'+--+-- * 'isdadInstance'+instancesSetDiskAutoDelete+ :: Text -- ^ 'isdadProject'+ -> Bool -- ^ 'isdadAutoDelete'+ -> Text -- ^ 'isdadZone'+ -> Text -- ^ 'isdadDeviceName'+ -> Text -- ^ 'isdadInstance'+ -> InstancesSetDiskAutoDelete+instancesSetDiskAutoDelete pIsdadProject_ pIsdadAutoDelete_ pIsdadZone_ pIsdadDeviceName_ pIsdadInstance_ =+ InstancesSetDiskAutoDelete+ { _isdadProject = pIsdadProject_+ , _isdadAutoDelete = pIsdadAutoDelete_+ , _isdadZone = pIsdadZone_+ , _isdadDeviceName = pIsdadDeviceName_+ , _isdadInstance = pIsdadInstance_+ }++-- | Project ID for this request.+isdadProject :: Lens' InstancesSetDiskAutoDelete Text+isdadProject+ = lens _isdadProject (\ s a -> s{_isdadProject = a})++-- | Whether to auto-delete the disk when the instance is deleted.+isdadAutoDelete :: Lens' InstancesSetDiskAutoDelete Bool+isdadAutoDelete+ = lens _isdadAutoDelete+ (\ s a -> s{_isdadAutoDelete = a})++-- | The name of the zone for this request.+isdadZone :: Lens' InstancesSetDiskAutoDelete Text+isdadZone+ = lens _isdadZone (\ s a -> s{_isdadZone = a})++-- | The device name of the disk to modify.+isdadDeviceName :: Lens' InstancesSetDiskAutoDelete Text+isdadDeviceName+ = lens _isdadDeviceName+ (\ s a -> s{_isdadDeviceName = a})++-- | The instance name.+isdadInstance :: Lens' InstancesSetDiskAutoDelete Text+isdadInstance+ = lens _isdadInstance+ (\ s a -> s{_isdadInstance = a})++instance GoogleRequest InstancesSetDiskAutoDelete+ where+ type Rs InstancesSetDiskAutoDelete = Operation+ requestClient InstancesSetDiskAutoDelete{..}+ = go _isdadProject _isdadZone _isdadInstance+ (Just _isdadAutoDelete)+ (Just _isdadDeviceName)+ (Just AltJSON)+ computeService+ where go+ = buildClient+ (Proxy :: Proxy InstancesSetDiskAutoDeleteResource)+ mempty
+ gen/Network/Google/Resource/Compute/Instances/SetMetadata.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.Instances.SetMetadata+-- 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)+--+-- Sets metadata for the specified instance to the data included in the+-- request.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.instances.setMetadata@.+module Network.Google.Resource.Compute.Instances.SetMetadata+ (+ -- * REST Resource+ InstancesSetMetadataResource++ -- * Creating a Request+ , instancesSetMetadata+ , InstancesSetMetadata++ -- * Request Lenses+ , ismProject+ , ismZone+ , ismPayload+ , ismInstance+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.instances.setMetadata@ method which the+-- 'InstancesSetMetadata' request conforms to.+type InstancesSetMetadataResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "zones" :>+ Capture "zone" Text :>+ "instances" :>+ Capture "instance" Text :>+ "setMetadata" :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] Metadata :> Post '[JSON] Operation++-- | Sets metadata for the specified instance to the data included in the+-- request.+--+-- /See:/ 'instancesSetMetadata' smart constructor.+data InstancesSetMetadata = InstancesSetMetadata+ { _ismProject :: !Text+ , _ismZone :: !Text+ , _ismPayload :: !Metadata+ , _ismInstance :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstancesSetMetadata' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ismProject'+--+-- * 'ismZone'+--+-- * 'ismPayload'+--+-- * 'ismInstance'+instancesSetMetadata+ :: Text -- ^ 'ismProject'+ -> Text -- ^ 'ismZone'+ -> Metadata -- ^ 'ismPayload'+ -> Text -- ^ 'ismInstance'+ -> InstancesSetMetadata+instancesSetMetadata pIsmProject_ pIsmZone_ pIsmPayload_ pIsmInstance_ =+ InstancesSetMetadata+ { _ismProject = pIsmProject_+ , _ismZone = pIsmZone_+ , _ismPayload = pIsmPayload_+ , _ismInstance = pIsmInstance_+ }++-- | Project ID for this request.+ismProject :: Lens' InstancesSetMetadata Text+ismProject+ = lens _ismProject (\ s a -> s{_ismProject = a})++-- | The name of the zone for this request.+ismZone :: Lens' InstancesSetMetadata Text+ismZone = lens _ismZone (\ s a -> s{_ismZone = a})++-- | Multipart request metadata.+ismPayload :: Lens' InstancesSetMetadata Metadata+ismPayload+ = lens _ismPayload (\ s a -> s{_ismPayload = a})++-- | Name of the instance scoping this request.+ismInstance :: Lens' InstancesSetMetadata Text+ismInstance+ = lens _ismInstance (\ s a -> s{_ismInstance = a})++instance GoogleRequest InstancesSetMetadata where+ type Rs InstancesSetMetadata = Operation+ requestClient InstancesSetMetadata{..}+ = go _ismProject _ismZone _ismInstance (Just AltJSON)+ _ismPayload+ computeService+ where go+ = buildClient+ (Proxy :: Proxy InstancesSetMetadataResource)+ mempty
+ gen/Network/Google/Resource/Compute/Instances/SetScheduling.hs view
@@ -0,0 +1,123 @@+{-# 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.SetScheduling+-- 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)+--+-- Sets an instance\'s scheduling options.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.instances.setScheduling@.+module Network.Google.Resource.Compute.Instances.SetScheduling+ (+ -- * REST Resource+ InstancesSetSchedulingResource++ -- * Creating a Request+ , instancesSetScheduling+ , InstancesSetScheduling++ -- * Request Lenses+ , issProject+ , issZone+ , issPayload+ , issInstance+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.instances.setScheduling@ method which the+-- 'InstancesSetScheduling' request conforms to.+type InstancesSetSchedulingResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "zones" :>+ Capture "zone" Text :>+ "instances" :>+ Capture "instance" Text :>+ "setScheduling" :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] Scheduling :> Post '[JSON] Operation++-- | Sets an instance\'s scheduling options.+--+-- /See:/ 'instancesSetScheduling' smart constructor.+data InstancesSetScheduling = InstancesSetScheduling+ { _issProject :: !Text+ , _issZone :: !Text+ , _issPayload :: !Scheduling+ , _issInstance :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstancesSetScheduling' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'issProject'+--+-- * 'issZone'+--+-- * 'issPayload'+--+-- * 'issInstance'+instancesSetScheduling+ :: Text -- ^ 'issProject'+ -> Text -- ^ 'issZone'+ -> Scheduling -- ^ 'issPayload'+ -> Text -- ^ 'issInstance'+ -> InstancesSetScheduling+instancesSetScheduling pIssProject_ pIssZone_ pIssPayload_ pIssInstance_ =+ InstancesSetScheduling+ { _issProject = pIssProject_+ , _issZone = pIssZone_+ , _issPayload = pIssPayload_+ , _issInstance = pIssInstance_+ }++-- | Project ID for this request.+issProject :: Lens' InstancesSetScheduling Text+issProject+ = lens _issProject (\ s a -> s{_issProject = a})++-- | The name of the zone for this request.+issZone :: Lens' InstancesSetScheduling Text+issZone = lens _issZone (\ s a -> s{_issZone = a})++-- | Multipart request metadata.+issPayload :: Lens' InstancesSetScheduling Scheduling+issPayload+ = lens _issPayload (\ s a -> s{_issPayload = a})++-- | Instance name.+issInstance :: Lens' InstancesSetScheduling Text+issInstance+ = lens _issInstance (\ s a -> s{_issInstance = a})++instance GoogleRequest InstancesSetScheduling where+ type Rs InstancesSetScheduling = Operation+ requestClient InstancesSetScheduling{..}+ = go _issProject _issZone _issInstance (Just AltJSON)+ _issPayload+ computeService+ where go+ = buildClient+ (Proxy :: Proxy InstancesSetSchedulingResource)+ mempty
+ gen/Network/Google/Resource/Compute/Instances/SetTags.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.Instances.SetTags+-- 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)+--+-- Sets tags for the specified instance to the data included in the+-- request.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.instances.setTags@.+module Network.Google.Resource.Compute.Instances.SetTags+ (+ -- * REST Resource+ InstancesSetTagsResource++ -- * Creating a Request+ , instancesSetTags+ , InstancesSetTags++ -- * Request Lenses+ , istProject+ , istZone+ , istPayload+ , istInstance+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.instances.setTags@ method which the+-- 'InstancesSetTags' request conforms to.+type InstancesSetTagsResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "zones" :>+ Capture "zone" Text :>+ "instances" :>+ Capture "instance" Text :>+ "setTags" :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] Tags :> Post '[JSON] Operation++-- | Sets tags for the specified instance to the data included in the+-- request.+--+-- /See:/ 'instancesSetTags' smart constructor.+data InstancesSetTags = InstancesSetTags+ { _istProject :: !Text+ , _istZone :: !Text+ , _istPayload :: !Tags+ , _istInstance :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstancesSetTags' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'istProject'+--+-- * 'istZone'+--+-- * 'istPayload'+--+-- * 'istInstance'+instancesSetTags+ :: Text -- ^ 'istProject'+ -> Text -- ^ 'istZone'+ -> Tags -- ^ 'istPayload'+ -> Text -- ^ 'istInstance'+ -> InstancesSetTags+instancesSetTags pIstProject_ pIstZone_ pIstPayload_ pIstInstance_ =+ InstancesSetTags+ { _istProject = pIstProject_+ , _istZone = pIstZone_+ , _istPayload = pIstPayload_+ , _istInstance = pIstInstance_+ }++-- | Project ID for this request.+istProject :: Lens' InstancesSetTags Text+istProject+ = lens _istProject (\ s a -> s{_istProject = a})++-- | The name of the zone for this request.+istZone :: Lens' InstancesSetTags Text+istZone = lens _istZone (\ s a -> s{_istZone = a})++-- | Multipart request metadata.+istPayload :: Lens' InstancesSetTags Tags+istPayload+ = lens _istPayload (\ s a -> s{_istPayload = a})++-- | Name of the instance scoping this request.+istInstance :: Lens' InstancesSetTags Text+istInstance+ = lens _istInstance (\ s a -> s{_istInstance = a})++instance GoogleRequest InstancesSetTags where+ type Rs InstancesSetTags = Operation+ requestClient InstancesSetTags{..}+ = go _istProject _istZone _istInstance (Just AltJSON)+ _istPayload+ computeService+ where go+ = buildClient+ (Proxy :: Proxy InstancesSetTagsResource)+ mempty
+ gen/Network/Google/Resource/Compute/Instances/Start.hs view
@@ -0,0 +1,111 @@+{-# 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.Start+-- 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)+--+-- This method 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+ (+ -- * REST Resource+ InstancesStartResource++ -- * Creating a Request+ , instancesStart+ , InstancesStart++ -- * Request Lenses+ , insProject+ , insZone+ , insInstance+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.instances.start@ method which the+-- 'InstancesStart' request conforms to.+type InstancesStartResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "zones" :>+ Capture "zone" Text :>+ "instances" :>+ Capture "instance" Text :>+ "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.+--+-- /See:/ 'instancesStart' smart constructor.+data InstancesStart = InstancesStart+ { _insProject :: !Text+ , _insZone :: !Text+ , _insInstance :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstancesStart' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'insProject'+--+-- * 'insZone'+--+-- * 'insInstance'+instancesStart+ :: Text -- ^ 'insProject'+ -> Text -- ^ 'insZone'+ -> Text -- ^ 'insInstance'+ -> InstancesStart+instancesStart pInsProject_ pInsZone_ pInsInstance_ =+ InstancesStart+ { _insProject = pInsProject_+ , _insZone = pInsZone_+ , _insInstance = pInsInstance_+ }++-- | Project ID for this request.+insProject :: Lens' InstancesStart Text+insProject+ = lens _insProject (\ s a -> s{_insProject = a})++-- | The name of the zone for this request.+insZone :: Lens' InstancesStart Text+insZone = lens _insZone (\ s a -> s{_insZone = a})++-- | Name of the instance resource to start.+insInstance :: Lens' InstancesStart Text+insInstance+ = lens _insInstance (\ s a -> s{_insInstance = a})++instance GoogleRequest InstancesStart where+ type Rs InstancesStart = Operation+ requestClient InstancesStart{..}+ = go _insProject _insZone _insInstance (Just AltJSON)+ computeService+ where go+ = buildClient (Proxy :: Proxy InstancesStartResource)+ mempty
+ gen/Network/Google/Resource/Compute/Instances/Stop.hs view
@@ -0,0 +1,119 @@+{-# 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.Stop+-- 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)+--+-- 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.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.instances.stop@.+module Network.Google.Resource.Compute.Instances.Stop+ (+ -- * REST Resource+ InstancesStopResource++ -- * Creating a Request+ , instancesStop+ , InstancesStop++ -- * Request Lenses+ , isProject+ , isZone+ , isInstance+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.instances.stop@ method which the+-- 'InstancesStop' request conforms to.+type InstancesStopResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "zones" :>+ Capture "zone" Text :>+ "instances" :>+ Capture "instance" Text :>+ "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.+--+-- /See:/ 'instancesStop' smart constructor.+data InstancesStop = InstancesStop+ { _isProject :: !Text+ , _isZone :: !Text+ , _isInstance :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'InstancesStop' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'isProject'+--+-- * 'isZone'+--+-- * 'isInstance'+instancesStop+ :: Text -- ^ 'isProject'+ -> Text -- ^ 'isZone'+ -> Text -- ^ 'isInstance'+ -> InstancesStop+instancesStop pIsProject_ pIsZone_ pIsInstance_ =+ InstancesStop+ { _isProject = pIsProject_+ , _isZone = pIsZone_+ , _isInstance = pIsInstance_+ }++-- | Project ID for this request.+isProject :: Lens' InstancesStop Text+isProject+ = lens _isProject (\ s a -> s{_isProject = a})++-- | The name of the zone for this request.+isZone :: Lens' InstancesStop Text+isZone = lens _isZone (\ s a -> s{_isZone = a})++-- | Name of the instance resource to stop.+isInstance :: Lens' InstancesStop Text+isInstance+ = lens _isInstance (\ s a -> s{_isInstance = a})++instance GoogleRequest InstancesStop where+ type Rs InstancesStop = Operation+ requestClient InstancesStop{..}+ = go _isProject _isZone _isInstance (Just AltJSON)+ computeService+ where go+ = buildClient (Proxy :: Proxy InstancesStopResource)+ mempty
+ gen/Network/Google/Resource/Compute/Licenses/Get.hs view
@@ -0,0 +1,97 @@+{-# 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.Licenses.Get+-- 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)+--+-- Returns the specified license resource.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.licenses.get@.+module Network.Google.Resource.Compute.Licenses.Get+ (+ -- * REST Resource+ LicensesGetResource++ -- * Creating a Request+ , licensesGet+ , LicensesGet++ -- * Request Lenses+ , lgProject+ , lgLicense+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.licenses.get@ method which the+-- 'LicensesGet' request conforms to.+type LicensesGetResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "global" :>+ "licenses" :>+ Capture "license" Text :>+ QueryParam "alt" AltJSON :> Get '[JSON] License++-- | Returns the specified license resource.+--+-- /See:/ 'licensesGet' smart constructor.+data LicensesGet = LicensesGet+ { _lgProject :: !Text+ , _lgLicense :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'LicensesGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lgProject'+--+-- * 'lgLicense'+licensesGet+ :: Text -- ^ 'lgProject'+ -> Text -- ^ 'lgLicense'+ -> LicensesGet+licensesGet pLgProject_ pLgLicense_ =+ LicensesGet+ { _lgProject = pLgProject_+ , _lgLicense = pLgLicense_+ }++-- | Project ID for this request.+lgProject :: Lens' LicensesGet Text+lgProject+ = lens _lgProject (\ s a -> s{_lgProject = a})++-- | 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{..}+ = go _lgProject _lgLicense (Just AltJSON)+ computeService+ where go+ = buildClient (Proxy :: Proxy LicensesGetResource)+ mempty
+ gen/Network/Google/Resource/Compute/MachineTypes/AggregatedList.hs view
@@ -0,0 +1,139 @@+{-# 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.MachineTypes.AggregatedList+-- 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)+--+-- Retrieves the list of machine type resources grouped by scope.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.machineTypes.aggregatedList@.+module Network.Google.Resource.Compute.MachineTypes.AggregatedList+ (+ -- * REST Resource+ MachineTypesAggregatedListResource++ -- * Creating a Request+ , machineTypesAggregatedList+ , MachineTypesAggregatedList++ -- * Request Lenses+ , mtalProject+ , mtalFilter+ , mtalPageToken+ , mtalMaxResults+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.machineTypes.aggregatedList@ method which the+-- 'MachineTypesAggregatedList' request conforms to.+type MachineTypesAggregatedListResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "aggregated" :>+ "machineTypes" :>+ QueryParam "filter" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] MachineTypeAggregatedList++-- | Retrieves the list of machine type resources grouped by scope.+--+-- /See:/ 'machineTypesAggregatedList' smart constructor.+data MachineTypesAggregatedList = MachineTypesAggregatedList+ { _mtalProject :: !Text+ , _mtalFilter :: !(Maybe Text)+ , _mtalPageToken :: !(Maybe Text)+ , _mtalMaxResults :: !(Textual Word32)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'MachineTypesAggregatedList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mtalProject'+--+-- * 'mtalFilter'+--+-- * 'mtalPageToken'+--+-- * 'mtalMaxResults'+machineTypesAggregatedList+ :: Text -- ^ 'mtalProject'+ -> MachineTypesAggregatedList+machineTypesAggregatedList pMtalProject_ =+ MachineTypesAggregatedList+ { _mtalProject = pMtalProject_+ , _mtalFilter = Nothing+ , _mtalPageToken = Nothing+ , _mtalMaxResults = 500+ }++-- | Project ID for this request.+mtalProject :: Lens' MachineTypesAggregatedList Text+mtalProject+ = 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+-- 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.+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.+mtalPageToken :: Lens' MachineTypesAggregatedList (Maybe Text)+mtalPageToken+ = lens _mtalPageToken+ (\ s a -> s{_mtalPageToken = a})++-- | Maximum count of results to be returned.+mtalMaxResults :: Lens' MachineTypesAggregatedList Word32+mtalMaxResults+ = lens _mtalMaxResults+ (\ s a -> s{_mtalMaxResults = a})+ . _Coerce++instance GoogleRequest MachineTypesAggregatedList+ where+ type Rs MachineTypesAggregatedList =+ MachineTypeAggregatedList+ requestClient MachineTypesAggregatedList{..}+ = go _mtalProject _mtalFilter _mtalPageToken+ (Just _mtalMaxResults)+ (Just AltJSON)+ computeService+ where go+ = buildClient+ (Proxy :: Proxy MachineTypesAggregatedListResource)+ mempty
+ gen/Network/Google/Resource/Compute/MachineTypes/Get.hs view
@@ -0,0 +1,111 @@+{-# 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.MachineTypes.Get+-- 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)+--+-- Returns the specified machine type resource.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.machineTypes.get@.+module Network.Google.Resource.Compute.MachineTypes.Get+ (+ -- * REST Resource+ MachineTypesGetResource++ -- * Creating a Request+ , machineTypesGet+ , MachineTypesGet++ -- * Request Lenses+ , mtgProject+ , mtgZone+ , mtgMachineType+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.machineTypes.get@ method which the+-- 'MachineTypesGet' request conforms to.+type MachineTypesGetResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "zones" :>+ Capture "zone" Text :>+ "machineTypes" :>+ Capture "machineType" Text :>+ QueryParam "alt" AltJSON :> Get '[JSON] MachineType++-- | Returns the specified machine type resource.+--+-- /See:/ 'machineTypesGet' smart constructor.+data MachineTypesGet = MachineTypesGet+ { _mtgProject :: !Text+ , _mtgZone :: !Text+ , _mtgMachineType :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'MachineTypesGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mtgProject'+--+-- * 'mtgZone'+--+-- * 'mtgMachineType'+machineTypesGet+ :: Text -- ^ 'mtgProject'+ -> Text -- ^ 'mtgZone'+ -> Text -- ^ 'mtgMachineType'+ -> MachineTypesGet+machineTypesGet pMtgProject_ pMtgZone_ pMtgMachineType_ =+ MachineTypesGet+ { _mtgProject = pMtgProject_+ , _mtgZone = pMtgZone_+ , _mtgMachineType = pMtgMachineType_+ }++-- | Project ID for this request.+mtgProject :: Lens' MachineTypesGet Text+mtgProject+ = lens _mtgProject (\ s a -> s{_mtgProject = a})++-- | The name of the zone for this request.+mtgZone :: Lens' MachineTypesGet Text+mtgZone = lens _mtgZone (\ s a -> s{_mtgZone = a})++-- | Name of the machine type resource to return.+mtgMachineType :: Lens' MachineTypesGet Text+mtgMachineType+ = lens _mtgMachineType+ (\ s a -> s{_mtgMachineType = a})++instance GoogleRequest MachineTypesGet where+ type Rs MachineTypesGet = MachineType+ requestClient MachineTypesGet{..}+ = go _mtgProject _mtgZone _mtgMachineType+ (Just AltJSON)+ computeService+ where go+ = buildClient+ (Proxy :: Proxy MachineTypesGetResource)+ mempty
+ gen/Network/Google/Resource/Compute/MachineTypes/List.hs view
@@ -0,0 +1,149 @@+{-# 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.MachineTypes.List+-- 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)+--+-- Retrieves the list of machine type resources 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+ (+ -- * REST Resource+ MachineTypesListResource++ -- * Creating a Request+ , machineTypesList+ , MachineTypesList++ -- * Request Lenses+ , mtlProject+ , mtlZone+ , mtlFilter+ , mtlPageToken+ , mtlMaxResults+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.machineTypes.list@ method which the+-- 'MachineTypesList' request conforms to.+type MachineTypesListResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "zones" :>+ Capture "zone" Text :>+ "machineTypes" :>+ QueryParam "filter" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] MachineTypeList++-- | Retrieves the list of machine type resources available to the specified+-- project.+--+-- /See:/ 'machineTypesList' smart constructor.+data MachineTypesList = MachineTypesList+ { _mtlProject :: !Text+ , _mtlZone :: !Text+ , _mtlFilter :: !(Maybe Text)+ , _mtlPageToken :: !(Maybe Text)+ , _mtlMaxResults :: !(Textual Word32)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'MachineTypesList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mtlProject'+--+-- * 'mtlZone'+--+-- * 'mtlFilter'+--+-- * 'mtlPageToken'+--+-- * 'mtlMaxResults'+machineTypesList+ :: Text -- ^ 'mtlProject'+ -> Text -- ^ 'mtlZone'+ -> MachineTypesList+machineTypesList pMtlProject_ pMtlZone_ =+ MachineTypesList+ { _mtlProject = pMtlProject_+ , _mtlZone = pMtlZone_+ , _mtlFilter = Nothing+ , _mtlPageToken = Nothing+ , _mtlMaxResults = 500+ }++-- | Project ID for this request.+mtlProject :: Lens' MachineTypesList Text+mtlProject+ = lens _mtlProject (\ s a -> s{_mtlProject = a})++-- | The name of the zone for this request.+mtlZone :: Lens' MachineTypesList Text+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+-- 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.+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.+mtlPageToken :: Lens' MachineTypesList (Maybe Text)+mtlPageToken+ = lens _mtlPageToken (\ s a -> s{_mtlPageToken = a})++-- | Maximum count of results to be returned.+mtlMaxResults :: Lens' MachineTypesList Word32+mtlMaxResults+ = lens _mtlMaxResults+ (\ s a -> s{_mtlMaxResults = a})+ . _Coerce++instance GoogleRequest MachineTypesList where+ type Rs MachineTypesList = MachineTypeList+ requestClient MachineTypesList{..}+ = go _mtlProject _mtlZone _mtlFilter _mtlPageToken+ (Just _mtlMaxResults)+ (Just AltJSON)+ computeService+ where go+ = buildClient+ (Proxy :: Proxy MachineTypesListResource)+ mempty
+ gen/Network/Google/Resource/Compute/Networks/Delete.hs view
@@ -0,0 +1,97 @@+{-# 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.Networks.Delete+-- 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)+--+-- Deletes the specified network resource.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.networks.delete@.+module Network.Google.Resource.Compute.Networks.Delete+ (+ -- * REST Resource+ NetworksDeleteResource++ -- * Creating a Request+ , networksDelete+ , NetworksDelete++ -- * Request Lenses+ , ndProject+ , ndNetwork+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.networks.delete@ method which the+-- 'NetworksDelete' request conforms to.+type NetworksDeleteResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "global" :>+ "networks" :>+ Capture "network" Text :>+ QueryParam "alt" AltJSON :> Delete '[JSON] Operation++-- | Deletes the specified network resource.+--+-- /See:/ 'networksDelete' smart constructor.+data NetworksDelete = NetworksDelete+ { _ndProject :: !Text+ , _ndNetwork :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'NetworksDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ndProject'+--+-- * 'ndNetwork'+networksDelete+ :: Text -- ^ 'ndProject'+ -> Text -- ^ 'ndNetwork'+ -> NetworksDelete+networksDelete pNdProject_ pNdNetwork_ =+ NetworksDelete+ { _ndProject = pNdProject_+ , _ndNetwork = pNdNetwork_+ }++-- | Project ID for this request.+ndProject :: Lens' NetworksDelete Text+ndProject+ = lens _ndProject (\ s a -> s{_ndProject = a})++-- | Name of the network resource to delete.+ndNetwork :: Lens' NetworksDelete Text+ndNetwork+ = lens _ndNetwork (\ s a -> s{_ndNetwork = a})++instance GoogleRequest NetworksDelete where+ type Rs NetworksDelete = Operation+ requestClient NetworksDelete{..}+ = go _ndProject _ndNetwork (Just AltJSON)+ computeService+ where go+ = buildClient (Proxy :: Proxy NetworksDeleteResource)+ mempty
+ gen/Network/Google/Resource/Compute/Networks/Get.hs view
@@ -0,0 +1,97 @@+{-# 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.Networks.Get+-- 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)+--+-- Returns the specified network resource.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.networks.get@.+module Network.Google.Resource.Compute.Networks.Get+ (+ -- * REST Resource+ NetworksGetResource++ -- * Creating a Request+ , networksGet+ , NetworksGet++ -- * Request Lenses+ , ngProject+ , ngNetwork+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.networks.get@ method which the+-- 'NetworksGet' request conforms to.+type NetworksGetResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "global" :>+ "networks" :>+ Capture "network" Text :>+ QueryParam "alt" AltJSON :> Get '[JSON] Network++-- | Returns the specified network resource.+--+-- /See:/ 'networksGet' smart constructor.+data NetworksGet = NetworksGet+ { _ngProject :: !Text+ , _ngNetwork :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'NetworksGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ngProject'+--+-- * 'ngNetwork'+networksGet+ :: Text -- ^ 'ngProject'+ -> Text -- ^ 'ngNetwork'+ -> NetworksGet+networksGet pNgProject_ pNgNetwork_ =+ NetworksGet+ { _ngProject = pNgProject_+ , _ngNetwork = pNgNetwork_+ }++-- | Project ID for this request.+ngProject :: Lens' NetworksGet Text+ngProject+ = lens _ngProject (\ s a -> s{_ngProject = a})++-- | Name of the network resource to return.+ngNetwork :: Lens' NetworksGet Text+ngNetwork+ = lens _ngNetwork (\ s a -> s{_ngNetwork = a})++instance GoogleRequest NetworksGet where+ type Rs NetworksGet = Network+ requestClient NetworksGet{..}+ = go _ngProject _ngNetwork (Just AltJSON)+ computeService+ where go+ = buildClient (Proxy :: Proxy NetworksGetResource)+ mempty
+ gen/Network/Google/Resource/Compute/Networks/Insert.hs view
@@ -0,0 +1,99 @@+{-# 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.Networks.Insert+-- 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)+--+-- Creates a network 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.networks.insert@.+module Network.Google.Resource.Compute.Networks.Insert+ (+ -- * REST Resource+ NetworksInsertResource++ -- * Creating a Request+ , networksInsert+ , NetworksInsert++ -- * Request Lenses+ , niProject+ , niPayload+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.networks.insert@ method which the+-- 'NetworksInsert' request conforms to.+type NetworksInsertResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "global" :>+ "networks" :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] Network :> Post '[JSON] Operation++-- | Creates a network resource in the specified project using the data+-- included in the request.+--+-- /See:/ 'networksInsert' smart constructor.+data NetworksInsert = NetworksInsert+ { _niProject :: !Text+ , _niPayload :: !Network+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'NetworksInsert' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'niProject'+--+-- * 'niPayload'+networksInsert+ :: Text -- ^ 'niProject'+ -> Network -- ^ 'niPayload'+ -> NetworksInsert+networksInsert pNiProject_ pNiPayload_ =+ NetworksInsert+ { _niProject = pNiProject_+ , _niPayload = pNiPayload_+ }++-- | Project ID for this request.+niProject :: Lens' NetworksInsert Text+niProject+ = lens _niProject (\ s a -> s{_niProject = a})++-- | Multipart request metadata.+niPayload :: Lens' NetworksInsert Network+niPayload+ = lens _niPayload (\ s a -> s{_niPayload = a})++instance GoogleRequest NetworksInsert where+ type Rs NetworksInsert = Operation+ requestClient NetworksInsert{..}+ = go _niProject (Just AltJSON) _niPayload+ computeService+ where go+ = buildClient (Proxy :: Proxy NetworksInsertResource)+ mempty
+ gen/Network/Google/Resource/Compute/Networks/List.hs view
@@ -0,0 +1,134 @@+{-# 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.Networks.List+-- 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)+--+-- Retrieves the list of network resources 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+ (+ -- * REST Resource+ NetworksListResource++ -- * Creating a Request+ , networksList+ , NetworksList++ -- * Request Lenses+ , nlProject+ , nlFilter+ , nlPageToken+ , nlMaxResults+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.networks.list@ method which the+-- 'NetworksList' request conforms to.+type NetworksListResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "global" :>+ "networks" :>+ QueryParam "filter" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :> Get '[JSON] NetworkList++-- | Retrieves the list of network resources available to the specified+-- project.+--+-- /See:/ 'networksList' smart constructor.+data NetworksList = NetworksList+ { _nlProject :: !Text+ , _nlFilter :: !(Maybe Text)+ , _nlPageToken :: !(Maybe Text)+ , _nlMaxResults :: !(Textual Word32)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'NetworksList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'nlProject'+--+-- * 'nlFilter'+--+-- * 'nlPageToken'+--+-- * 'nlMaxResults'+networksList+ :: Text -- ^ 'nlProject'+ -> NetworksList+networksList pNlProject_ =+ NetworksList+ { _nlProject = pNlProject_+ , _nlFilter = Nothing+ , _nlPageToken = Nothing+ , _nlMaxResults = 500+ }++-- | Project ID for this request.+nlProject :: Lens' NetworksList Text+nlProject+ = 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+-- 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.+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.+nlPageToken :: Lens' NetworksList (Maybe Text)+nlPageToken+ = lens _nlPageToken (\ s a -> s{_nlPageToken = a})++-- | Maximum count of results to be returned.+nlMaxResults :: Lens' NetworksList Word32+nlMaxResults+ = lens _nlMaxResults (\ s a -> s{_nlMaxResults = a})+ . _Coerce++instance GoogleRequest NetworksList where+ type Rs NetworksList = NetworkList+ requestClient NetworksList{..}+ = go _nlProject _nlFilter _nlPageToken+ (Just _nlMaxResults)+ (Just AltJSON)+ computeService+ where go+ = buildClient (Proxy :: Proxy NetworksListResource)+ mempty
+ gen/Network/Google/Resource/Compute/Projects/Get.hs view
@@ -0,0 +1,82 @@+{-# 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.Projects.Get+-- 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)+--+-- 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+ (+ -- * REST Resource+ ProjectsGetResource++ -- * Creating a Request+ , projectsGet+ , ProjectsGet++ -- * Request Lenses+ , pgProject+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.projects.get@ method which the+-- 'ProjectsGet' request conforms to.+type ProjectsGetResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ QueryParam "alt" AltJSON :> Get '[JSON] Project++-- | Returns the specified project resource.+--+-- /See:/ 'projectsGet' smart constructor.+newtype ProjectsGet = ProjectsGet+ { _pgProject :: Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pgProject'+projectsGet+ :: Text -- ^ 'pgProject'+ -> ProjectsGet+projectsGet pPgProject_ =+ ProjectsGet+ { _pgProject = pPgProject_+ }++-- | Project ID for this request.+pgProject :: Lens' ProjectsGet Text+pgProject+ = lens _pgProject (\ s a -> s{_pgProject = a})++instance GoogleRequest ProjectsGet where+ type Rs ProjectsGet = Project+ requestClient ProjectsGet{..}+ = go _pgProject (Just AltJSON) computeService+ where go+ = buildClient (Proxy :: Proxy ProjectsGetResource)+ mempty
+ gen/Network/Google/Resource/Compute/Projects/MoveDisk.hs view
@@ -0,0 +1,98 @@+{-# 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.Projects.MoveDisk+-- 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)+--+-- Moves a persistent disk from one zone to another.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.projects.moveDisk@.+module Network.Google.Resource.Compute.Projects.MoveDisk+ (+ -- * REST Resource+ ProjectsMoveDiskResource++ -- * Creating a Request+ , projectsMoveDisk+ , ProjectsMoveDisk++ -- * Request Lenses+ , pmdProject+ , pmdPayload+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.projects.moveDisk@ method which the+-- 'ProjectsMoveDisk' request conforms to.+type ProjectsMoveDiskResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "moveDisk" :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] DiskMoveRequest :>+ Post '[JSON] Operation++-- | Moves a persistent disk from one zone to another.+--+-- /See:/ 'projectsMoveDisk' smart constructor.+data ProjectsMoveDisk = ProjectsMoveDisk+ { _pmdProject :: !Text+ , _pmdPayload :: !DiskMoveRequest+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsMoveDisk' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pmdProject'+--+-- * 'pmdPayload'+projectsMoveDisk+ :: Text -- ^ 'pmdProject'+ -> DiskMoveRequest -- ^ 'pmdPayload'+ -> ProjectsMoveDisk+projectsMoveDisk pPmdProject_ pPmdPayload_ =+ ProjectsMoveDisk+ { _pmdProject = pPmdProject_+ , _pmdPayload = pPmdPayload_+ }++-- | Project ID for this request.+pmdProject :: Lens' ProjectsMoveDisk Text+pmdProject+ = lens _pmdProject (\ s a -> s{_pmdProject = a})++-- | Multipart request metadata.+pmdPayload :: Lens' ProjectsMoveDisk DiskMoveRequest+pmdPayload+ = lens _pmdPayload (\ s a -> s{_pmdPayload = a})++instance GoogleRequest ProjectsMoveDisk where+ type Rs ProjectsMoveDisk = Operation+ requestClient ProjectsMoveDisk{..}+ = go _pmdProject (Just AltJSON) _pmdPayload+ computeService+ where go+ = buildClient+ (Proxy :: Proxy ProjectsMoveDiskResource)+ mempty
+ gen/Network/Google/Resource/Compute/Projects/MoveInstance.hs view
@@ -0,0 +1,100 @@+{-# 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.Projects.MoveInstance+-- 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)+--+-- Moves an instance and its attached persistent disks from one zone to+-- another.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.projects.moveInstance@.+module Network.Google.Resource.Compute.Projects.MoveInstance+ (+ -- * REST Resource+ ProjectsMoveInstanceResource++ -- * Creating a Request+ , projectsMoveInstance+ , ProjectsMoveInstance++ -- * Request Lenses+ , pmiProject+ , pmiPayload+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.projects.moveInstance@ method which the+-- 'ProjectsMoveInstance' request conforms to.+type ProjectsMoveInstanceResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "moveInstance" :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] InstanceMoveRequest :>+ Post '[JSON] Operation++-- | Moves an instance and its attached persistent disks from one zone to+-- another.+--+-- /See:/ 'projectsMoveInstance' smart constructor.+data ProjectsMoveInstance = ProjectsMoveInstance+ { _pmiProject :: !Text+ , _pmiPayload :: !InstanceMoveRequest+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsMoveInstance' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pmiProject'+--+-- * 'pmiPayload'+projectsMoveInstance+ :: Text -- ^ 'pmiProject'+ -> InstanceMoveRequest -- ^ 'pmiPayload'+ -> ProjectsMoveInstance+projectsMoveInstance pPmiProject_ pPmiPayload_ =+ ProjectsMoveInstance+ { _pmiProject = pPmiProject_+ , _pmiPayload = pPmiPayload_+ }++-- | Project ID for this request.+pmiProject :: Lens' ProjectsMoveInstance Text+pmiProject+ = lens _pmiProject (\ s a -> s{_pmiProject = a})++-- | Multipart request metadata.+pmiPayload :: Lens' ProjectsMoveInstance InstanceMoveRequest+pmiPayload+ = lens _pmiPayload (\ s a -> s{_pmiPayload = a})++instance GoogleRequest ProjectsMoveInstance where+ type Rs ProjectsMoveInstance = Operation+ requestClient ProjectsMoveInstance{..}+ = go _pmiProject (Just AltJSON) _pmiPayload+ computeService+ where go+ = buildClient+ (Proxy :: Proxy ProjectsMoveInstanceResource)+ mempty
+ gen/Network/Google/Resource/Compute/Projects/SetCommonInstanceMetadata.hs view
@@ -0,0 +1,101 @@+{-# 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.Projects.SetCommonInstanceMetadata+-- 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)+--+-- Sets metadata common to all instances within 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.projects.setCommonInstanceMetadata@.+module Network.Google.Resource.Compute.Projects.SetCommonInstanceMetadata+ (+ -- * REST Resource+ ProjectsSetCommonInstanceMetadataResource++ -- * Creating a Request+ , projectsSetCommonInstanceMetadata+ , ProjectsSetCommonInstanceMetadata++ -- * Request Lenses+ , pscimProject+ , pscimPayload+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.projects.setCommonInstanceMetadata@ method which the+-- 'ProjectsSetCommonInstanceMetadata' request conforms to.+type ProjectsSetCommonInstanceMetadataResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "setCommonInstanceMetadata" :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] Metadata :> Post '[JSON] Operation++-- | Sets metadata common to all instances within the specified project using+-- the data included in the request.+--+-- /See:/ 'projectsSetCommonInstanceMetadata' smart constructor.+data ProjectsSetCommonInstanceMetadata = ProjectsSetCommonInstanceMetadata+ { _pscimProject :: !Text+ , _pscimPayload :: !Metadata+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsSetCommonInstanceMetadata' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pscimProject'+--+-- * 'pscimPayload'+projectsSetCommonInstanceMetadata+ :: Text -- ^ 'pscimProject'+ -> Metadata -- ^ 'pscimPayload'+ -> ProjectsSetCommonInstanceMetadata+projectsSetCommonInstanceMetadata pPscimProject_ pPscimPayload_ =+ ProjectsSetCommonInstanceMetadata+ { _pscimProject = pPscimProject_+ , _pscimPayload = pPscimPayload_+ }++-- | Project ID for this request.+pscimProject :: Lens' ProjectsSetCommonInstanceMetadata Text+pscimProject+ = lens _pscimProject (\ s a -> s{_pscimProject = a})++-- | Multipart request metadata.+pscimPayload :: Lens' ProjectsSetCommonInstanceMetadata Metadata+pscimPayload+ = lens _pscimPayload (\ s a -> s{_pscimPayload = a})++instance GoogleRequest+ ProjectsSetCommonInstanceMetadata where+ type Rs ProjectsSetCommonInstanceMetadata = Operation+ requestClient ProjectsSetCommonInstanceMetadata{..}+ = go _pscimProject (Just AltJSON) _pscimPayload+ computeService+ where go+ = buildClient+ (Proxy ::+ Proxy ProjectsSetCommonInstanceMetadataResource)+ mempty
+ gen/Network/Google/Resource/Compute/Projects/SetUsageExportBucket.hs view
@@ -0,0 +1,103 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.Compute.Projects.SetUsageExportBucket+-- 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)+--+-- Enables the usage export feature and sets the usage export bucket where+-- reports are stored. If you provide an empty request body using this+-- method, the usage export feature will be disabled.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.projects.setUsageExportBucket@.+module Network.Google.Resource.Compute.Projects.SetUsageExportBucket+ (+ -- * REST Resource+ ProjectsSetUsageExportBucketResource++ -- * Creating a Request+ , projectsSetUsageExportBucket+ , ProjectsSetUsageExportBucket++ -- * Request Lenses+ , psuebProject+ , psuebPayload+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.projects.setUsageExportBucket@ method which the+-- 'ProjectsSetUsageExportBucket' request conforms to.+type ProjectsSetUsageExportBucketResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "setUsageExportBucket" :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] UsageExportLocation :>+ Post '[JSON] Operation++-- | Enables the usage export feature and sets the usage export bucket where+-- reports are stored. If you provide an empty request body using this+-- method, the usage export feature will be disabled.+--+-- /See:/ 'projectsSetUsageExportBucket' smart constructor.+data ProjectsSetUsageExportBucket = ProjectsSetUsageExportBucket+ { _psuebProject :: !Text+ , _psuebPayload :: !UsageExportLocation+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsSetUsageExportBucket' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'psuebProject'+--+-- * 'psuebPayload'+projectsSetUsageExportBucket+ :: Text -- ^ 'psuebProject'+ -> UsageExportLocation -- ^ 'psuebPayload'+ -> ProjectsSetUsageExportBucket+projectsSetUsageExportBucket pPsuebProject_ pPsuebPayload_ =+ ProjectsSetUsageExportBucket+ { _psuebProject = pPsuebProject_+ , _psuebPayload = pPsuebPayload_+ }++-- | Project ID for this request.+psuebProject :: Lens' ProjectsSetUsageExportBucket Text+psuebProject+ = lens _psuebProject (\ s a -> s{_psuebProject = a})++-- | Multipart request metadata.+psuebPayload :: Lens' ProjectsSetUsageExportBucket UsageExportLocation+psuebPayload+ = lens _psuebPayload (\ s a -> s{_psuebPayload = a})++instance GoogleRequest ProjectsSetUsageExportBucket+ where+ type Rs ProjectsSetUsageExportBucket = Operation+ requestClient ProjectsSetUsageExportBucket{..}+ = go _psuebProject (Just AltJSON) _psuebPayload+ computeService+ where go+ = buildClient+ (Proxy :: Proxy ProjectsSetUsageExportBucketResource)+ mempty
+ gen/Network/Google/Resource/Compute/RegionOperations/Delete.hs view
@@ -0,0 +1,111 @@+{-# 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.RegionOperations.Delete+-- 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)+--+-- Deletes the specified region-specific Operations resource.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.regionOperations.delete@.+module Network.Google.Resource.Compute.RegionOperations.Delete+ (+ -- * REST Resource+ RegionOperationsDeleteResource++ -- * Creating a Request+ , regionOperationsDelete+ , RegionOperationsDelete++ -- * Request Lenses+ , rodProject+ , rodOperation+ , rodRegion+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.regionOperations.delete@ method which the+-- 'RegionOperationsDelete' request conforms to.+type RegionOperationsDeleteResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "regions" :>+ Capture "region" Text :>+ "operations" :>+ Capture "operation" Text :>+ QueryParam "alt" AltJSON :> Delete '[JSON] ()++-- | Deletes the specified region-specific Operations resource.+--+-- /See:/ 'regionOperationsDelete' smart constructor.+data RegionOperationsDelete = RegionOperationsDelete+ { _rodProject :: !Text+ , _rodOperation :: !Text+ , _rodRegion :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RegionOperationsDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rodProject'+--+-- * 'rodOperation'+--+-- * 'rodRegion'+regionOperationsDelete+ :: Text -- ^ 'rodProject'+ -> Text -- ^ 'rodOperation'+ -> Text -- ^ 'rodRegion'+ -> RegionOperationsDelete+regionOperationsDelete pRodProject_ pRodOperation_ pRodRegion_ =+ RegionOperationsDelete+ { _rodProject = pRodProject_+ , _rodOperation = pRodOperation_+ , _rodRegion = pRodRegion_+ }++-- | Project ID for this request.+rodProject :: Lens' RegionOperationsDelete Text+rodProject+ = lens _rodProject (\ s a -> s{_rodProject = a})++-- | Name of the Operations resource to delete.+rodOperation :: Lens' RegionOperationsDelete Text+rodOperation+ = lens _rodOperation (\ s a -> s{_rodOperation = a})++-- | Name of the region scoping this request.+rodRegion :: Lens' RegionOperationsDelete Text+rodRegion+ = lens _rodRegion (\ s a -> s{_rodRegion = a})++instance GoogleRequest RegionOperationsDelete where+ type Rs RegionOperationsDelete = ()+ requestClient RegionOperationsDelete{..}+ = go _rodProject _rodRegion _rodOperation+ (Just AltJSON)+ computeService+ where go+ = buildClient+ (Proxy :: Proxy RegionOperationsDeleteResource)+ mempty
+ gen/Network/Google/Resource/Compute/RegionOperations/Get.hs view
@@ -0,0 +1,111 @@+{-# 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.RegionOperations.Get+-- 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)+--+-- Retrieves the specified region-specific Operations resource.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.regionOperations.get@.+module Network.Google.Resource.Compute.RegionOperations.Get+ (+ -- * REST Resource+ RegionOperationsGetResource++ -- * Creating a Request+ , regionOperationsGet+ , RegionOperationsGet++ -- * Request Lenses+ , rogProject+ , rogOperation+ , rogRegion+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.regionOperations.get@ method which the+-- 'RegionOperationsGet' request conforms to.+type RegionOperationsGetResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "regions" :>+ Capture "region" Text :>+ "operations" :>+ Capture "operation" Text :>+ QueryParam "alt" AltJSON :> Get '[JSON] Operation++-- | Retrieves the specified region-specific Operations resource.+--+-- /See:/ 'regionOperationsGet' smart constructor.+data RegionOperationsGet = RegionOperationsGet+ { _rogProject :: !Text+ , _rogOperation :: !Text+ , _rogRegion :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RegionOperationsGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rogProject'+--+-- * 'rogOperation'+--+-- * 'rogRegion'+regionOperationsGet+ :: Text -- ^ 'rogProject'+ -> Text -- ^ 'rogOperation'+ -> Text -- ^ 'rogRegion'+ -> RegionOperationsGet+regionOperationsGet pRogProject_ pRogOperation_ pRogRegion_ =+ RegionOperationsGet+ { _rogProject = pRogProject_+ , _rogOperation = pRogOperation_+ , _rogRegion = pRogRegion_+ }++-- | Project ID for this request.+rogProject :: Lens' RegionOperationsGet Text+rogProject+ = lens _rogProject (\ s a -> s{_rogProject = a})++-- | Name of the Operations resource to return.+rogOperation :: Lens' RegionOperationsGet Text+rogOperation+ = lens _rogOperation (\ s a -> s{_rogOperation = a})++-- | Name of the zone scoping this request.+rogRegion :: Lens' RegionOperationsGet Text+rogRegion+ = lens _rogRegion (\ s a -> s{_rogRegion = a})++instance GoogleRequest RegionOperationsGet where+ type Rs RegionOperationsGet = Operation+ requestClient RegionOperationsGet{..}+ = go _rogProject _rogRegion _rogOperation+ (Just AltJSON)+ computeService+ where go+ = buildClient+ (Proxy :: Proxy RegionOperationsGetResource)+ mempty
+ gen/Network/Google/Resource/Compute/RegionOperations/List.hs view
@@ -0,0 +1,149 @@+{-# 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.RegionOperations.List+-- 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)+--+-- Retrieves the 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@.+module Network.Google.Resource.Compute.RegionOperations.List+ (+ -- * REST Resource+ RegionOperationsListResource++ -- * Creating a Request+ , regionOperationsList+ , RegionOperationsList++ -- * Request Lenses+ , rolProject+ , rolFilter+ , rolRegion+ , rolPageToken+ , rolMaxResults+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.regionOperations.list@ method which the+-- 'RegionOperationsList' request conforms to.+type RegionOperationsListResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "regions" :>+ Capture "region" Text :>+ "operations" :>+ QueryParam "filter" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :> Get '[JSON] OperationList++-- | Retrieves the list of Operation resources contained within the specified+-- region.+--+-- /See:/ 'regionOperationsList' smart constructor.+data RegionOperationsList = RegionOperationsList+ { _rolProject :: !Text+ , _rolFilter :: !(Maybe Text)+ , _rolRegion :: !Text+ , _rolPageToken :: !(Maybe Text)+ , _rolMaxResults :: !(Textual Word32)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RegionOperationsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rolProject'+--+-- * 'rolFilter'+--+-- * 'rolRegion'+--+-- * 'rolPageToken'+--+-- * 'rolMaxResults'+regionOperationsList+ :: Text -- ^ 'rolProject'+ -> Text -- ^ 'rolRegion'+ -> RegionOperationsList+regionOperationsList pRolProject_ pRolRegion_ =+ RegionOperationsList+ { _rolProject = pRolProject_+ , _rolFilter = Nothing+ , _rolRegion = pRolRegion_+ , _rolPageToken = Nothing+ , _rolMaxResults = 500+ }++-- | Project ID for this request.+rolProject :: Lens' RegionOperationsList Text+rolProject+ = 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+-- 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.+rolFilter :: Lens' RegionOperationsList (Maybe Text)+rolFilter+ = lens _rolFilter (\ s a -> s{_rolFilter = a})++-- | Name of the region scoping 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.+rolPageToken :: Lens' RegionOperationsList (Maybe Text)+rolPageToken+ = lens _rolPageToken (\ s a -> s{_rolPageToken = a})++-- | Maximum count of results to be returned.+rolMaxResults :: Lens' RegionOperationsList Word32+rolMaxResults+ = lens _rolMaxResults+ (\ s a -> s{_rolMaxResults = a})+ . _Coerce++instance GoogleRequest RegionOperationsList where+ type Rs RegionOperationsList = OperationList+ requestClient RegionOperationsList{..}+ = go _rolProject _rolRegion _rolFilter _rolPageToken+ (Just _rolMaxResults)+ (Just AltJSON)+ computeService+ where go+ = buildClient+ (Proxy :: Proxy RegionOperationsListResource)+ mempty
+ gen/Network/Google/Resource/Compute/Regions/Get.hs view
@@ -0,0 +1,95 @@+{-# 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.Regions.Get+-- 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)+--+-- Returns the specified region resource.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.regions.get@.+module Network.Google.Resource.Compute.Regions.Get+ (+ -- * REST Resource+ RegionsGetResource++ -- * Creating a Request+ , regionsGet+ , RegionsGet++ -- * Request Lenses+ , rgProject+ , rgRegion+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.regions.get@ method which the+-- 'RegionsGet' request conforms to.+type RegionsGetResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "regions" :>+ Capture "region" Text :>+ QueryParam "alt" AltJSON :> Get '[JSON] Region++-- | Returns the specified region resource.+--+-- /See:/ 'regionsGet' smart constructor.+data RegionsGet = RegionsGet+ { _rgProject :: !Text+ , _rgRegion :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RegionsGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rgProject'+--+-- * 'rgRegion'+regionsGet+ :: Text -- ^ 'rgProject'+ -> Text -- ^ 'rgRegion'+ -> RegionsGet+regionsGet pRgProject_ pRgRegion_ =+ RegionsGet+ { _rgProject = pRgProject_+ , _rgRegion = pRgRegion_+ }++-- | Project ID for this request.+rgProject :: Lens' RegionsGet Text+rgProject+ = lens _rgProject (\ s a -> s{_rgProject = a})++-- | Name of the region resource to return.+rgRegion :: Lens' RegionsGet Text+rgRegion = lens _rgRegion (\ s a -> s{_rgRegion = a})++instance GoogleRequest RegionsGet where+ type Rs RegionsGet = Region+ requestClient RegionsGet{..}+ = go _rgProject _rgRegion (Just AltJSON)+ computeService+ where go+ = buildClient (Proxy :: Proxy RegionsGetResource)+ mempty
+ gen/Network/Google/Resource/Compute/Regions/List.hs view
@@ -0,0 +1,132 @@+{-# 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.Regions.List+-- 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)+--+-- Retrieves the list of region resources available to the specified+-- project.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.regions.list@.+module Network.Google.Resource.Compute.Regions.List+ (+ -- * REST Resource+ RegionsListResource++ -- * Creating a Request+ , regionsList+ , RegionsList++ -- * Request Lenses+ , rProject+ , rFilter+ , rPageToken+ , rMaxResults+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.regions.list@ method which the+-- 'RegionsList' request conforms to.+type RegionsListResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "regions" :>+ QueryParam "filter" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :> Get '[JSON] RegionList++-- | Retrieves the list of region resources available to the specified+-- project.+--+-- /See:/ 'regionsList' smart constructor.+data RegionsList = RegionsList+ { _rProject :: !Text+ , _rFilter :: !(Maybe Text)+ , _rPageToken :: !(Maybe Text)+ , _rMaxResults :: !(Textual Word32)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RegionsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rProject'+--+-- * 'rFilter'+--+-- * 'rPageToken'+--+-- * 'rMaxResults'+regionsList+ :: Text -- ^ 'rProject'+ -> RegionsList+regionsList pRProject_ =+ RegionsList+ { _rProject = pRProject_+ , _rFilter = Nothing+ , _rPageToken = Nothing+ , _rMaxResults = 500+ }++-- | Project ID for this request.+rProject :: Lens' RegionsList Text+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+-- 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.+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.+rPageToken :: Lens' RegionsList (Maybe Text)+rPageToken+ = lens _rPageToken (\ s a -> s{_rPageToken = a})++-- | Maximum count of results to be returned.+rMaxResults :: Lens' RegionsList Word32+rMaxResults+ = lens _rMaxResults (\ s a -> s{_rMaxResults = a}) .+ _Coerce++instance GoogleRequest RegionsList where+ type Rs RegionsList = RegionList+ requestClient RegionsList{..}+ = go _rProject _rFilter _rPageToken+ (Just _rMaxResults)+ (Just AltJSON)+ computeService+ where go+ = buildClient (Proxy :: Proxy RegionsListResource)+ mempty
+ gen/Network/Google/Resource/Compute/Routes/Delete.hs view
@@ -0,0 +1,96 @@+{-# 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.Routes.Delete+-- 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)+--+-- 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+ (+ -- * REST Resource+ RoutesDeleteResource++ -- * Creating a Request+ , routesDelete+ , RoutesDelete++ -- * Request Lenses+ , rdProject+ , rdRoute+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.routes.delete@ method which the+-- 'RoutesDelete' request conforms to.+type RoutesDeleteResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "global" :>+ "routes" :>+ Capture "route" Text :>+ QueryParam "alt" AltJSON :> Delete '[JSON] Operation++-- | Deletes the specified route resource.+--+-- /See:/ 'routesDelete' smart constructor.+data RoutesDelete = RoutesDelete+ { _rdProject :: !Text+ , _rdRoute :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RoutesDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rdProject'+--+-- * 'rdRoute'+routesDelete+ :: Text -- ^ 'rdProject'+ -> Text -- ^ 'rdRoute'+ -> RoutesDelete+routesDelete pRdProject_ pRdRoute_ =+ RoutesDelete+ { _rdProject = pRdProject_+ , _rdRoute = pRdRoute_+ }++-- | Name of the project scoping this request.+rdProject :: Lens' RoutesDelete Text+rdProject+ = lens _rdProject (\ s a -> s{_rdProject = a})++-- | 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{..}+ = go _rdProject _rdRoute (Just AltJSON)+ computeService+ where go+ = buildClient (Proxy :: Proxy RoutesDeleteResource)+ mempty
+ gen/Network/Google/Resource/Compute/Routes/Get.hs view
@@ -0,0 +1,96 @@+{-# 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.Routes.Get+-- 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)+--+-- Returns the specified route resource.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.routes.get@.+module Network.Google.Resource.Compute.Routes.Get+ (+ -- * REST Resource+ RoutesGetResource++ -- * Creating a Request+ , routesGet+ , RoutesGet++ -- * Request Lenses+ , rouProject+ , rouRoute+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.routes.get@ method which the+-- 'RoutesGet' request conforms to.+type RoutesGetResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "global" :>+ "routes" :>+ Capture "route" Text :>+ QueryParam "alt" AltJSON :> Get '[JSON] Route++-- | Returns the specified route resource.+--+-- /See:/ 'routesGet' smart constructor.+data RoutesGet = RoutesGet+ { _rouProject :: !Text+ , _rouRoute :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RoutesGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rouProject'+--+-- * 'rouRoute'+routesGet+ :: Text -- ^ 'rouProject'+ -> Text -- ^ 'rouRoute'+ -> RoutesGet+routesGet pRouProject_ pRouRoute_ =+ RoutesGet+ { _rouProject = pRouProject_+ , _rouRoute = pRouRoute_+ }++-- | Name of the project scoping this request.+rouProject :: Lens' RoutesGet Text+rouProject+ = lens _rouProject (\ s a -> s{_rouProject = a})++-- | 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{..}+ = go _rouProject _rouRoute (Just AltJSON)+ computeService+ where go+ = buildClient (Proxy :: Proxy RoutesGetResource)+ mempty
+ gen/Network/Google/Resource/Compute/Routes/Insert.hs view
@@ -0,0 +1,99 @@+{-# 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.Routes.Insert+-- 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)+--+-- 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@.+module Network.Google.Resource.Compute.Routes.Insert+ (+ -- * REST Resource+ RoutesInsertResource++ -- * Creating a Request+ , routesInsert+ , RoutesInsert++ -- * Request Lenses+ , riProject+ , riPayload+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.routes.insert@ method which the+-- 'RoutesInsert' request conforms to.+type RoutesInsertResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "global" :>+ "routes" :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] Route :> Post '[JSON] Operation++-- | Creates a route resource in the specified project using the data+-- included in the request.+--+-- /See:/ 'routesInsert' smart constructor.+data RoutesInsert = RoutesInsert+ { _riProject :: !Text+ , _riPayload :: !Route+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RoutesInsert' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'riProject'+--+-- * 'riPayload'+routesInsert+ :: Text -- ^ 'riProject'+ -> Route -- ^ 'riPayload'+ -> RoutesInsert+routesInsert pRiProject_ pRiPayload_ =+ RoutesInsert+ { _riProject = pRiProject_+ , _riPayload = pRiPayload_+ }++-- | Name of the project scoping this request.+riProject :: Lens' RoutesInsert Text+riProject+ = lens _riProject (\ s a -> s{_riProject = a})++-- | Multipart request metadata.+riPayload :: Lens' RoutesInsert Route+riPayload+ = lens _riPayload (\ s a -> s{_riPayload = a})++instance GoogleRequest RoutesInsert where+ type Rs RoutesInsert = Operation+ requestClient RoutesInsert{..}+ = go _riProject (Just AltJSON) _riPayload+ computeService+ where go+ = buildClient (Proxy :: Proxy RoutesInsertResource)+ mempty
+ gen/Network/Google/Resource/Compute/Routes/List.hs view
@@ -0,0 +1,134 @@+{-# 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.Routes.List+-- 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)+--+-- 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@.+module Network.Google.Resource.Compute.Routes.List+ (+ -- * REST Resource+ RoutesListResource++ -- * Creating a Request+ , routesList+ , RoutesList++ -- * Request Lenses+ , rlProject+ , rlFilter+ , rlPageToken+ , rlMaxResults+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.routes.list@ method which the+-- 'RoutesList' request conforms to.+type RoutesListResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "global" :>+ "routes" :>+ QueryParam "filter" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :> Get '[JSON] RouteList++-- | Retrieves the list of route resources available to the specified+-- project.+--+-- /See:/ 'routesList' smart constructor.+data RoutesList = RoutesList+ { _rlProject :: !Text+ , _rlFilter :: !(Maybe Text)+ , _rlPageToken :: !(Maybe Text)+ , _rlMaxResults :: !(Textual Word32)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RoutesList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rlProject'+--+-- * 'rlFilter'+--+-- * 'rlPageToken'+--+-- * 'rlMaxResults'+routesList+ :: Text -- ^ 'rlProject'+ -> RoutesList+routesList pRlProject_ =+ RoutesList+ { _rlProject = pRlProject_+ , _rlFilter = Nothing+ , _rlPageToken = Nothing+ , _rlMaxResults = 500+ }++-- | Name of the project scoping 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+-- 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.+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.+rlPageToken :: Lens' RoutesList (Maybe Text)+rlPageToken+ = lens _rlPageToken (\ s a -> s{_rlPageToken = a})++-- | Maximum count of results to be returned.+rlMaxResults :: Lens' RoutesList Word32+rlMaxResults+ = lens _rlMaxResults (\ s a -> s{_rlMaxResults = a})+ . _Coerce++instance GoogleRequest RoutesList where+ type Rs RoutesList = RouteList+ requestClient RoutesList{..}+ = go _rlProject _rlFilter _rlPageToken+ (Just _rlMaxResults)+ (Just AltJSON)+ computeService+ where go+ = buildClient (Proxy :: Proxy RoutesListResource)+ mempty
+ gen/Network/Google/Resource/Compute/SSLCertificates/Delete.hs view
@@ -0,0 +1,99 @@+{-# 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.SSLCertificates.Delete+-- 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)+--+-- Deletes the specified SslCertificate resource.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.sslCertificates.delete@.+module Network.Google.Resource.Compute.SSLCertificates.Delete+ (+ -- * REST Resource+ SSLCertificatesDeleteResource++ -- * Creating a Request+ , sslCertificatesDelete+ , SSLCertificatesDelete++ -- * Request Lenses+ , scdProject+ , scdSSLCertificate+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.sslCertificates.delete@ method which the+-- 'SSLCertificatesDelete' request conforms to.+type SSLCertificatesDeleteResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "global" :>+ "sslCertificates" :>+ Capture "sslCertificate" Text :>+ QueryParam "alt" AltJSON :> Delete '[JSON] Operation++-- | Deletes the specified SslCertificate resource.+--+-- /See:/ 'sslCertificatesDelete' smart constructor.+data SSLCertificatesDelete = SSLCertificatesDelete+ { _scdProject :: !Text+ , _scdSSLCertificate :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SSLCertificatesDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'scdProject'+--+-- * 'scdSSLCertificate'+sslCertificatesDelete+ :: Text -- ^ 'scdProject'+ -> Text -- ^ 'scdSSLCertificate'+ -> SSLCertificatesDelete+sslCertificatesDelete pScdProject_ pScdSSLCertificate_ =+ SSLCertificatesDelete+ { _scdProject = pScdProject_+ , _scdSSLCertificate = pScdSSLCertificate_+ }++-- | Name of the project scoping this request.+scdProject :: Lens' SSLCertificatesDelete Text+scdProject+ = lens _scdProject (\ s a -> s{_scdProject = a})++-- | Name of the SslCertificate resource to delete.+scdSSLCertificate :: Lens' SSLCertificatesDelete Text+scdSSLCertificate+ = lens _scdSSLCertificate+ (\ s a -> s{_scdSSLCertificate = a})++instance GoogleRequest SSLCertificatesDelete where+ type Rs SSLCertificatesDelete = Operation+ requestClient SSLCertificatesDelete{..}+ = go _scdProject _scdSSLCertificate (Just AltJSON)+ computeService+ where go+ = buildClient+ (Proxy :: Proxy SSLCertificatesDeleteResource)+ mempty
+ gen/Network/Google/Resource/Compute/SSLCertificates/Get.hs view
@@ -0,0 +1,100 @@+{-# 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.SSLCertificates.Get+-- 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)+--+-- Returns the specified SslCertificate resource.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.sslCertificates.get@.+module Network.Google.Resource.Compute.SSLCertificates.Get+ (+ -- * REST Resource+ SSLCertificatesGetResource++ -- * Creating a Request+ , sslCertificatesGet+ , SSLCertificatesGet++ -- * Request Lenses+ , scgProject+ , scgSSLCertificate+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.sslCertificates.get@ method which the+-- 'SSLCertificatesGet' request conforms to.+type SSLCertificatesGetResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "global" :>+ "sslCertificates" :>+ Capture "sslCertificate" Text :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] SSLCertificate++-- | Returns the specified SslCertificate resource.+--+-- /See:/ 'sslCertificatesGet' smart constructor.+data SSLCertificatesGet = SSLCertificatesGet+ { _scgProject :: !Text+ , _scgSSLCertificate :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SSLCertificatesGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'scgProject'+--+-- * 'scgSSLCertificate'+sslCertificatesGet+ :: Text -- ^ 'scgProject'+ -> Text -- ^ 'scgSSLCertificate'+ -> SSLCertificatesGet+sslCertificatesGet pScgProject_ pScgSSLCertificate_ =+ SSLCertificatesGet+ { _scgProject = pScgProject_+ , _scgSSLCertificate = pScgSSLCertificate_+ }++-- | Name of the project scoping this request.+scgProject :: Lens' SSLCertificatesGet Text+scgProject+ = lens _scgProject (\ s a -> s{_scgProject = a})++-- | Name of the SslCertificate resource to return.+scgSSLCertificate :: Lens' SSLCertificatesGet Text+scgSSLCertificate+ = lens _scgSSLCertificate+ (\ s a -> s{_scgSSLCertificate = a})++instance GoogleRequest SSLCertificatesGet where+ type Rs SSLCertificatesGet = SSLCertificate+ requestClient SSLCertificatesGet{..}+ = go _scgProject _scgSSLCertificate (Just AltJSON)+ computeService+ where go+ = buildClient+ (Proxy :: Proxy SSLCertificatesGetResource)+ mempty
+ gen/Network/Google/Resource/Compute/SSLCertificates/Insert.hs view
@@ -0,0 +1,101 @@+{-# 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.SSLCertificates.Insert+-- 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)+--+-- Creates a SslCertificate 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.sslCertificates.insert@.+module Network.Google.Resource.Compute.SSLCertificates.Insert+ (+ -- * REST Resource+ SSLCertificatesInsertResource++ -- * Creating a Request+ , sslCertificatesInsert+ , SSLCertificatesInsert++ -- * Request Lenses+ , sciProject+ , sciPayload+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.sslCertificates.insert@ method which the+-- 'SSLCertificatesInsert' request conforms to.+type SSLCertificatesInsertResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "global" :>+ "sslCertificates" :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] SSLCertificate :>+ Post '[JSON] Operation++-- | Creates a SslCertificate resource in the specified project using the+-- data included in the request.+--+-- /See:/ 'sslCertificatesInsert' smart constructor.+data SSLCertificatesInsert = SSLCertificatesInsert+ { _sciProject :: !Text+ , _sciPayload :: !SSLCertificate+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SSLCertificatesInsert' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sciProject'+--+-- * 'sciPayload'+sslCertificatesInsert+ :: Text -- ^ 'sciProject'+ -> SSLCertificate -- ^ 'sciPayload'+ -> SSLCertificatesInsert+sslCertificatesInsert pSciProject_ pSciPayload_ =+ SSLCertificatesInsert+ { _sciProject = pSciProject_+ , _sciPayload = pSciPayload_+ }++-- | Name of the project scoping this request.+sciProject :: Lens' SSLCertificatesInsert Text+sciProject+ = lens _sciProject (\ s a -> s{_sciProject = a})++-- | Multipart request metadata.+sciPayload :: Lens' SSLCertificatesInsert SSLCertificate+sciPayload+ = lens _sciPayload (\ s a -> s{_sciPayload = a})++instance GoogleRequest SSLCertificatesInsert where+ type Rs SSLCertificatesInsert = Operation+ requestClient SSLCertificatesInsert{..}+ = go _sciProject (Just AltJSON) _sciPayload+ computeService+ where go+ = buildClient+ (Proxy :: Proxy SSLCertificatesInsertResource)+ mempty
+ gen/Network/Google/Resource/Compute/SSLCertificates/List.hs view
@@ -0,0 +1,138 @@+{-# 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.SSLCertificates.List+-- 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)+--+-- Retrieves the list of SslCertificate resources available to the+-- specified project.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.sslCertificates.list@.+module Network.Google.Resource.Compute.SSLCertificates.List+ (+ -- * REST Resource+ SSLCertificatesListResource++ -- * Creating a Request+ , sslCertificatesList+ , SSLCertificatesList++ -- * Request Lenses+ , sclProject+ , sclFilter+ , sclPageToken+ , sclMaxResults+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.sslCertificates.list@ method which the+-- 'SSLCertificatesList' request conforms to.+type SSLCertificatesListResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "global" :>+ "sslCertificates" :>+ QueryParam "filter" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] SSLCertificateList++-- | Retrieves the list of SslCertificate resources available to the+-- specified project.+--+-- /See:/ 'sslCertificatesList' smart constructor.+data SSLCertificatesList = SSLCertificatesList+ { _sclProject :: !Text+ , _sclFilter :: !(Maybe Text)+ , _sclPageToken :: !(Maybe Text)+ , _sclMaxResults :: !(Textual Word32)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SSLCertificatesList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sclProject'+--+-- * 'sclFilter'+--+-- * 'sclPageToken'+--+-- * 'sclMaxResults'+sslCertificatesList+ :: Text -- ^ 'sclProject'+ -> SSLCertificatesList+sslCertificatesList pSclProject_ =+ SSLCertificatesList+ { _sclProject = pSclProject_+ , _sclFilter = Nothing+ , _sclPageToken = Nothing+ , _sclMaxResults = 500+ }++-- | Name of the project scoping 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+-- 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.+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.+sclPageToken :: Lens' SSLCertificatesList (Maybe Text)+sclPageToken+ = lens _sclPageToken (\ s a -> s{_sclPageToken = a})++-- | Maximum count of results to be returned.+sclMaxResults :: Lens' SSLCertificatesList Word32+sclMaxResults+ = lens _sclMaxResults+ (\ s a -> s{_sclMaxResults = a})+ . _Coerce++instance GoogleRequest SSLCertificatesList where+ type Rs SSLCertificatesList = SSLCertificateList+ requestClient SSLCertificatesList{..}+ = go _sclProject _sclFilter _sclPageToken+ (Just _sclMaxResults)+ (Just AltJSON)+ computeService+ where go+ = buildClient+ (Proxy :: Proxy SSLCertificatesListResource)+ mempty
+ gen/Network/Google/Resource/Compute/Snapshots/Delete.hs view
@@ -0,0 +1,106 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.Compute.Snapshots.Delete+-- 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)+--+-- Deletes the specified Snapshot resource. Keep in mind that deleting a+-- single snapshot might not necessarily delete all the data on that+-- snapshot. If any data on the snapshot that is marked for deletion is+-- needed for subsequent snapshots, the data will be moved to the next+-- corresponding snapshot. For more information, see Deleting snaphots.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.snapshots.delete@.+module Network.Google.Resource.Compute.Snapshots.Delete+ (+ -- * REST Resource+ SnapshotsDeleteResource++ -- * Creating a Request+ , snapshotsDelete+ , SnapshotsDelete++ -- * Request Lenses+ , sdSnapshot+ , sdProject+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.snapshots.delete@ method which the+-- 'SnapshotsDelete' request conforms to.+type SnapshotsDeleteResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "global" :>+ "snapshots" :>+ Capture "snapshot" Text :>+ QueryParam "alt" AltJSON :> Delete '[JSON] Operation++-- | Deletes the specified Snapshot resource. Keep in mind that deleting a+-- single snapshot might not necessarily delete all the data on that+-- snapshot. If any data on the snapshot that is marked for deletion is+-- needed for subsequent snapshots, the data will be moved to the next+-- corresponding snapshot. For more information, see Deleting snaphots.+--+-- /See:/ 'snapshotsDelete' smart constructor.+data SnapshotsDelete = SnapshotsDelete+ { _sdSnapshot :: !Text+ , _sdProject :: !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'+--+-- * 'sdProject'+snapshotsDelete+ :: Text -- ^ 'sdSnapshot'+ -> Text -- ^ 'sdProject'+ -> SnapshotsDelete+snapshotsDelete pSdSnapshot_ pSdProject_ =+ SnapshotsDelete+ { _sdSnapshot = pSdSnapshot_+ , _sdProject = pSdProject_+ }++-- | Name of the Snapshot resource to delete.+sdSnapshot :: Lens' SnapshotsDelete Text+sdSnapshot+ = lens _sdSnapshot (\ s a -> s{_sdSnapshot = a})++-- | Name of the project scoping this request.+sdProject :: Lens' SnapshotsDelete Text+sdProject+ = lens _sdProject (\ s a -> s{_sdProject = a})++instance GoogleRequest SnapshotsDelete where+ type Rs SnapshotsDelete = Operation+ requestClient SnapshotsDelete{..}+ = go _sdProject _sdSnapshot (Just AltJSON)+ computeService+ where go+ = buildClient+ (Proxy :: Proxy SnapshotsDeleteResource)+ mempty
+ gen/Network/Google/Resource/Compute/Snapshots/Get.hs view
@@ -0,0 +1,97 @@+{-# 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.Snapshots.Get+-- 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)+--+-- Returns the specified Snapshot resource.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.snapshots.get@.+module Network.Google.Resource.Compute.Snapshots.Get+ (+ -- * REST Resource+ SnapshotsGetResource++ -- * Creating a Request+ , snapshotsGet+ , SnapshotsGet++ -- * Request Lenses+ , sgSnapshot+ , sgProject+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.snapshots.get@ method which the+-- 'SnapshotsGet' request conforms to.+type SnapshotsGetResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "global" :>+ "snapshots" :>+ Capture "snapshot" Text :>+ QueryParam "alt" AltJSON :> Get '[JSON] Snapshot++-- | Returns the specified Snapshot resource.+--+-- /See:/ 'snapshotsGet' smart constructor.+data SnapshotsGet = SnapshotsGet+ { _sgSnapshot :: !Text+ , _sgProject :: !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'+--+-- * 'sgProject'+snapshotsGet+ :: Text -- ^ 'sgSnapshot'+ -> Text -- ^ 'sgProject'+ -> SnapshotsGet+snapshotsGet pSgSnapshot_ pSgProject_ =+ SnapshotsGet+ { _sgSnapshot = pSgSnapshot_+ , _sgProject = pSgProject_+ }++-- | Name of the Snapshot resource to return.+sgSnapshot :: Lens' SnapshotsGet Text+sgSnapshot+ = lens _sgSnapshot (\ s a -> s{_sgSnapshot = a})++-- | Name of the project scoping this request.+sgProject :: Lens' SnapshotsGet Text+sgProject+ = lens _sgProject (\ s a -> s{_sgProject = a})++instance GoogleRequest SnapshotsGet where+ type Rs SnapshotsGet = Snapshot+ requestClient SnapshotsGet{..}+ = go _sgProject _sgSnapshot (Just AltJSON)+ computeService+ where go+ = buildClient (Proxy :: Proxy SnapshotsGetResource)+ mempty
+ gen/Network/Google/Resource/Compute/Snapshots/List.hs view
@@ -0,0 +1,134 @@+{-# 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.Snapshots.List+-- 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)+--+-- Retrieves the list of Snapshot resources contained within the specified+-- project.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.snapshots.list@.+module Network.Google.Resource.Compute.Snapshots.List+ (+ -- * REST Resource+ SnapshotsListResource++ -- * Creating a Request+ , snapshotsList+ , SnapshotsList++ -- * Request Lenses+ , slProject+ , slFilter+ , slPageToken+ , slMaxResults+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.snapshots.list@ method which the+-- 'SnapshotsList' request conforms to.+type SnapshotsListResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "global" :>+ "snapshots" :>+ QueryParam "filter" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :> Get '[JSON] SnapshotList++-- | Retrieves the list of Snapshot resources contained within the specified+-- project.+--+-- /See:/ 'snapshotsList' smart constructor.+data SnapshotsList = SnapshotsList+ { _slProject :: !Text+ , _slFilter :: !(Maybe Text)+ , _slPageToken :: !(Maybe Text)+ , _slMaxResults :: !(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'+--+-- * 'slFilter'+--+-- * 'slPageToken'+--+-- * 'slMaxResults'+snapshotsList+ :: Text -- ^ 'slProject'+ -> SnapshotsList+snapshotsList pSlProject_ =+ SnapshotsList+ { _slProject = pSlProject_+ , _slFilter = Nothing+ , _slPageToken = Nothing+ , _slMaxResults = 500+ }++-- | Name of the project scoping this request.+slProject :: Lens' SnapshotsList 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+-- (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})++-- | 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})++-- | Maximum count of results to be returned.+slMaxResults :: Lens' SnapshotsList Word32+slMaxResults+ = lens _slMaxResults (\ s a -> s{_slMaxResults = a})+ . _Coerce++instance GoogleRequest SnapshotsList where+ type Rs SnapshotsList = SnapshotList+ requestClient SnapshotsList{..}+ = go _slProject _slFilter _slPageToken+ (Just _slMaxResults)+ (Just AltJSON)+ computeService+ where go+ = buildClient (Proxy :: Proxy SnapshotsListResource)+ mempty
+ gen/Network/Google/Resource/Compute/TargetHTTPProxies/Delete.hs view
@@ -0,0 +1,101 @@+{-# 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.TargetHTTPProxies.Delete+-- 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)+--+-- Deletes the specified TargetHttpProxy resource.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.targetHttpProxies.delete@.+module Network.Google.Resource.Compute.TargetHTTPProxies.Delete+ (+ -- * REST Resource+ TargetHTTPProxiesDeleteResource++ -- * Creating a Request+ , targetHTTPProxiesDelete+ , TargetHTTPProxiesDelete++ -- * Request Lenses+ , thttppdProject+ , thttppdTargetHTTPProxy+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.targetHttpProxies.delete@ method which the+-- 'TargetHTTPProxiesDelete' request conforms to.+type TargetHTTPProxiesDeleteResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "global" :>+ "targetHttpProxies" :>+ Capture "targetHttpProxy" Text :>+ QueryParam "alt" AltJSON :> Delete '[JSON] Operation++-- | Deletes the specified TargetHttpProxy resource.+--+-- /See:/ 'targetHTTPProxiesDelete' smart constructor.+data TargetHTTPProxiesDelete = TargetHTTPProxiesDelete+ { _thttppdProject :: !Text+ , _thttppdTargetHTTPProxy :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TargetHTTPProxiesDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'thttppdProject'+--+-- * 'thttppdTargetHTTPProxy'+targetHTTPProxiesDelete+ :: Text -- ^ 'thttppdProject'+ -> Text -- ^ 'thttppdTargetHTTPProxy'+ -> TargetHTTPProxiesDelete+targetHTTPProxiesDelete pThttppdProject_ pThttppdTargetHTTPProxy_ =+ TargetHTTPProxiesDelete+ { _thttppdProject = pThttppdProject_+ , _thttppdTargetHTTPProxy = pThttppdTargetHTTPProxy_+ }++-- | Name of the project scoping this request.+thttppdProject :: Lens' TargetHTTPProxiesDelete Text+thttppdProject+ = lens _thttppdProject+ (\ s a -> s{_thttppdProject = a})++-- | Name of the TargetHttpProxy resource to delete.+thttppdTargetHTTPProxy :: Lens' TargetHTTPProxiesDelete Text+thttppdTargetHTTPProxy+ = lens _thttppdTargetHTTPProxy+ (\ s a -> s{_thttppdTargetHTTPProxy = a})++instance GoogleRequest TargetHTTPProxiesDelete where+ type Rs TargetHTTPProxiesDelete = Operation+ requestClient TargetHTTPProxiesDelete{..}+ = go _thttppdProject _thttppdTargetHTTPProxy+ (Just AltJSON)+ computeService+ where go+ = buildClient+ (Proxy :: Proxy TargetHTTPProxiesDeleteResource)+ mempty
+ gen/Network/Google/Resource/Compute/TargetHTTPProxies/Get.hs view
@@ -0,0 +1,102 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.Compute.TargetHTTPProxies.Get+-- 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)+--+-- Returns the specified TargetHttpProxy resource.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.targetHttpProxies.get@.+module Network.Google.Resource.Compute.TargetHTTPProxies.Get+ (+ -- * REST Resource+ TargetHTTPProxiesGetResource++ -- * Creating a Request+ , targetHTTPProxiesGet+ , TargetHTTPProxiesGet++ -- * Request Lenses+ , thttppgProject+ , thttppgTargetHTTPProxy+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.targetHttpProxies.get@ method which the+-- 'TargetHTTPProxiesGet' request conforms to.+type TargetHTTPProxiesGetResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "global" :>+ "targetHttpProxies" :>+ Capture "targetHttpProxy" Text :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] TargetHTTPProxy++-- | Returns the specified TargetHttpProxy resource.+--+-- /See:/ 'targetHTTPProxiesGet' smart constructor.+data TargetHTTPProxiesGet = TargetHTTPProxiesGet+ { _thttppgProject :: !Text+ , _thttppgTargetHTTPProxy :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TargetHTTPProxiesGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'thttppgProject'+--+-- * 'thttppgTargetHTTPProxy'+targetHTTPProxiesGet+ :: Text -- ^ 'thttppgProject'+ -> Text -- ^ 'thttppgTargetHTTPProxy'+ -> TargetHTTPProxiesGet+targetHTTPProxiesGet pThttppgProject_ pThttppgTargetHTTPProxy_ =+ TargetHTTPProxiesGet+ { _thttppgProject = pThttppgProject_+ , _thttppgTargetHTTPProxy = pThttppgTargetHTTPProxy_+ }++-- | Name of the project scoping this request.+thttppgProject :: Lens' TargetHTTPProxiesGet Text+thttppgProject+ = lens _thttppgProject+ (\ s a -> s{_thttppgProject = a})++-- | Name of the TargetHttpProxy resource to return.+thttppgTargetHTTPProxy :: Lens' TargetHTTPProxiesGet Text+thttppgTargetHTTPProxy+ = lens _thttppgTargetHTTPProxy+ (\ s a -> s{_thttppgTargetHTTPProxy = a})++instance GoogleRequest TargetHTTPProxiesGet where+ type Rs TargetHTTPProxiesGet = TargetHTTPProxy+ requestClient TargetHTTPProxiesGet{..}+ = go _thttppgProject _thttppgTargetHTTPProxy+ (Just AltJSON)+ computeService+ where go+ = buildClient+ (Proxy :: Proxy TargetHTTPProxiesGetResource)+ mempty
+ gen/Network/Google/Resource/Compute/TargetHTTPProxies/Insert.hs view
@@ -0,0 +1,103 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.Compute.TargetHTTPProxies.Insert+-- 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)+--+-- Creates a TargetHttpProxy 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.targetHttpProxies.insert@.+module Network.Google.Resource.Compute.TargetHTTPProxies.Insert+ (+ -- * REST Resource+ TargetHTTPProxiesInsertResource++ -- * Creating a Request+ , targetHTTPProxiesInsert+ , TargetHTTPProxiesInsert++ -- * Request Lenses+ , thttppiProject+ , thttppiPayload+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.targetHttpProxies.insert@ method which the+-- 'TargetHTTPProxiesInsert' request conforms to.+type TargetHTTPProxiesInsertResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "global" :>+ "targetHttpProxies" :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] TargetHTTPProxy :>+ Post '[JSON] Operation++-- | Creates a TargetHttpProxy resource in the specified project using the+-- data included in the request.+--+-- /See:/ 'targetHTTPProxiesInsert' smart constructor.+data TargetHTTPProxiesInsert = TargetHTTPProxiesInsert+ { _thttppiProject :: !Text+ , _thttppiPayload :: !TargetHTTPProxy+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TargetHTTPProxiesInsert' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'thttppiProject'+--+-- * 'thttppiPayload'+targetHTTPProxiesInsert+ :: Text -- ^ 'thttppiProject'+ -> TargetHTTPProxy -- ^ 'thttppiPayload'+ -> TargetHTTPProxiesInsert+targetHTTPProxiesInsert pThttppiProject_ pThttppiPayload_ =+ TargetHTTPProxiesInsert+ { _thttppiProject = pThttppiProject_+ , _thttppiPayload = pThttppiPayload_+ }++-- | Name of the project scoping this request.+thttppiProject :: Lens' TargetHTTPProxiesInsert Text+thttppiProject+ = lens _thttppiProject+ (\ s a -> s{_thttppiProject = a})++-- | Multipart request metadata.+thttppiPayload :: Lens' TargetHTTPProxiesInsert TargetHTTPProxy+thttppiPayload+ = lens _thttppiPayload+ (\ s a -> s{_thttppiPayload = a})++instance GoogleRequest TargetHTTPProxiesInsert where+ type Rs TargetHTTPProxiesInsert = Operation+ requestClient TargetHTTPProxiesInsert{..}+ = go _thttppiProject (Just AltJSON) _thttppiPayload+ computeService+ where go+ = buildClient+ (Proxy :: Proxy TargetHTTPProxiesInsertResource)+ mempty
+ gen/Network/Google/Resource/Compute/TargetHTTPProxies/List.hs view
@@ -0,0 +1,141 @@+{-# 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.TargetHTTPProxies.List+-- 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)+--+-- Retrieves the list of TargetHttpProxy resources available to the+-- specified project.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.targetHttpProxies.list@.+module Network.Google.Resource.Compute.TargetHTTPProxies.List+ (+ -- * REST Resource+ TargetHTTPProxiesListResource++ -- * Creating a Request+ , targetHTTPProxiesList+ , TargetHTTPProxiesList++ -- * Request Lenses+ , thttpplProject+ , thttpplFilter+ , thttpplPageToken+ , thttpplMaxResults+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.targetHttpProxies.list@ method which the+-- 'TargetHTTPProxiesList' request conforms to.+type TargetHTTPProxiesListResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "global" :>+ "targetHttpProxies" :>+ QueryParam "filter" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] TargetHTTPProxyList++-- | Retrieves the list of TargetHttpProxy resources available to the+-- specified project.+--+-- /See:/ 'targetHTTPProxiesList' smart constructor.+data TargetHTTPProxiesList = TargetHTTPProxiesList+ { _thttpplProject :: !Text+ , _thttpplFilter :: !(Maybe Text)+ , _thttpplPageToken :: !(Maybe Text)+ , _thttpplMaxResults :: !(Textual Word32)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TargetHTTPProxiesList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'thttpplProject'+--+-- * 'thttpplFilter'+--+-- * 'thttpplPageToken'+--+-- * 'thttpplMaxResults'+targetHTTPProxiesList+ :: Text -- ^ 'thttpplProject'+ -> TargetHTTPProxiesList+targetHTTPProxiesList pThttpplProject_ =+ TargetHTTPProxiesList+ { _thttpplProject = pThttpplProject_+ , _thttpplFilter = Nothing+ , _thttpplPageToken = Nothing+ , _thttpplMaxResults = 500+ }++-- | Name of the project scoping 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+-- 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.+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.+thttpplPageToken :: Lens' TargetHTTPProxiesList (Maybe Text)+thttpplPageToken+ = lens _thttpplPageToken+ (\ s a -> s{_thttpplPageToken = a})++-- | Maximum count of results to be returned.+thttpplMaxResults :: Lens' TargetHTTPProxiesList Word32+thttpplMaxResults+ = lens _thttpplMaxResults+ (\ s a -> s{_thttpplMaxResults = a})+ . _Coerce++instance GoogleRequest TargetHTTPProxiesList where+ type Rs TargetHTTPProxiesList = TargetHTTPProxyList+ requestClient TargetHTTPProxiesList{..}+ = go _thttpplProject _thttpplFilter _thttpplPageToken+ (Just _thttpplMaxResults)+ (Just AltJSON)+ computeService+ where go+ = buildClient+ (Proxy :: Proxy TargetHTTPProxiesListResource)+ mempty
+ gen/Network/Google/Resource/Compute/TargetHTTPProxies/SetURLMap.hs view
@@ -0,0 +1,117 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.Compute.TargetHTTPProxies.SetURLMap+-- 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)+--+-- Changes the URL map for TargetHttpProxy.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.targetHttpProxies.setUrlMap@.+module Network.Google.Resource.Compute.TargetHTTPProxies.SetURLMap+ (+ -- * REST Resource+ TargetHTTPProxiesSetURLMapResource++ -- * Creating a Request+ , targetHTTPProxiesSetURLMap+ , TargetHTTPProxiesSetURLMap++ -- * Request Lenses+ , thttppsumProject+ , thttppsumPayload+ , thttppsumTargetHTTPProxy+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.targetHttpProxies.setUrlMap@ method which the+-- 'TargetHTTPProxiesSetURLMap' request conforms to.+type TargetHTTPProxiesSetURLMapResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "targetHttpProxies" :>+ Capture "targetHttpProxy" Text :>+ "setUrlMap" :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] URLMapReference :>+ Post '[JSON] Operation++-- | Changes the URL map for TargetHttpProxy.+--+-- /See:/ 'targetHTTPProxiesSetURLMap' smart constructor.+data TargetHTTPProxiesSetURLMap = TargetHTTPProxiesSetURLMap+ { _thttppsumProject :: !Text+ , _thttppsumPayload :: !URLMapReference+ , _thttppsumTargetHTTPProxy :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TargetHTTPProxiesSetURLMap' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'thttppsumProject'+--+-- * 'thttppsumPayload'+--+-- * 'thttppsumTargetHTTPProxy'+targetHTTPProxiesSetURLMap+ :: Text -- ^ 'thttppsumProject'+ -> URLMapReference -- ^ 'thttppsumPayload'+ -> Text -- ^ 'thttppsumTargetHTTPProxy'+ -> TargetHTTPProxiesSetURLMap+targetHTTPProxiesSetURLMap pThttppsumProject_ pThttppsumPayload_ pThttppsumTargetHTTPProxy_ =+ TargetHTTPProxiesSetURLMap+ { _thttppsumProject = pThttppsumProject_+ , _thttppsumPayload = pThttppsumPayload_+ , _thttppsumTargetHTTPProxy = pThttppsumTargetHTTPProxy_+ }++-- | Name of the project scoping this request.+thttppsumProject :: Lens' TargetHTTPProxiesSetURLMap Text+thttppsumProject+ = lens _thttppsumProject+ (\ s a -> s{_thttppsumProject = a})++-- | Multipart request metadata.+thttppsumPayload :: Lens' TargetHTTPProxiesSetURLMap URLMapReference+thttppsumPayload+ = lens _thttppsumPayload+ (\ s a -> s{_thttppsumPayload = a})++-- | Name of the TargetHttpProxy resource whose URL map is to be set.+thttppsumTargetHTTPProxy :: Lens' TargetHTTPProxiesSetURLMap Text+thttppsumTargetHTTPProxy+ = lens _thttppsumTargetHTTPProxy+ (\ s a -> s{_thttppsumTargetHTTPProxy = a})++instance GoogleRequest TargetHTTPProxiesSetURLMap+ where+ type Rs TargetHTTPProxiesSetURLMap = Operation+ requestClient TargetHTTPProxiesSetURLMap{..}+ = go _thttppsumProject _thttppsumTargetHTTPProxy+ (Just AltJSON)+ _thttppsumPayload+ computeService+ where go+ = buildClient+ (Proxy :: Proxy TargetHTTPProxiesSetURLMapResource)+ mempty
+ gen/Network/Google/Resource/Compute/TargetHTTPSProxies/Delete.hs view
@@ -0,0 +1,100 @@+{-# 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.TargetHTTPSProxies.Delete+-- 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)+--+-- Deletes the specified TargetHttpsProxy resource.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.targetHttpsProxies.delete@.+module Network.Google.Resource.Compute.TargetHTTPSProxies.Delete+ (+ -- * REST Resource+ TargetHTTPSProxiesDeleteResource++ -- * Creating a Request+ , targetHTTPSProxiesDelete+ , TargetHTTPSProxiesDelete++ -- * Request Lenses+ , thpdProject+ , thpdTargetHTTPSProxy+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.targetHttpsProxies.delete@ method which the+-- 'TargetHTTPSProxiesDelete' request conforms to.+type TargetHTTPSProxiesDeleteResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "global" :>+ "targetHttpsProxies" :>+ Capture "targetHttpsProxy" Text :>+ QueryParam "alt" AltJSON :> Delete '[JSON] Operation++-- | Deletes the specified TargetHttpsProxy resource.+--+-- /See:/ 'targetHTTPSProxiesDelete' smart constructor.+data TargetHTTPSProxiesDelete = TargetHTTPSProxiesDelete+ { _thpdProject :: !Text+ , _thpdTargetHTTPSProxy :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TargetHTTPSProxiesDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'thpdProject'+--+-- * 'thpdTargetHTTPSProxy'+targetHTTPSProxiesDelete+ :: Text -- ^ 'thpdProject'+ -> Text -- ^ 'thpdTargetHTTPSProxy'+ -> TargetHTTPSProxiesDelete+targetHTTPSProxiesDelete pThpdProject_ pThpdTargetHTTPSProxy_ =+ TargetHTTPSProxiesDelete+ { _thpdProject = pThpdProject_+ , _thpdTargetHTTPSProxy = pThpdTargetHTTPSProxy_+ }++-- | Name of the project scoping this request.+thpdProject :: Lens' TargetHTTPSProxiesDelete Text+thpdProject+ = lens _thpdProject (\ s a -> s{_thpdProject = a})++-- | Name of the TargetHttpsProxy resource to delete.+thpdTargetHTTPSProxy :: Lens' TargetHTTPSProxiesDelete Text+thpdTargetHTTPSProxy+ = lens _thpdTargetHTTPSProxy+ (\ s a -> s{_thpdTargetHTTPSProxy = a})++instance GoogleRequest TargetHTTPSProxiesDelete where+ type Rs TargetHTTPSProxiesDelete = Operation+ requestClient TargetHTTPSProxiesDelete{..}+ = go _thpdProject _thpdTargetHTTPSProxy+ (Just AltJSON)+ computeService+ where go+ = buildClient+ (Proxy :: Proxy TargetHTTPSProxiesDeleteResource)+ mempty
+ gen/Network/Google/Resource/Compute/TargetHTTPSProxies/Get.hs view
@@ -0,0 +1,101 @@+{-# 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.TargetHTTPSProxies.Get+-- 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)+--+-- Returns the specified TargetHttpsProxy resource.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.targetHttpsProxies.get@.+module Network.Google.Resource.Compute.TargetHTTPSProxies.Get+ (+ -- * REST Resource+ TargetHTTPSProxiesGetResource++ -- * Creating a Request+ , targetHTTPSProxiesGet+ , TargetHTTPSProxiesGet++ -- * Request Lenses+ , thpgProject+ , thpgTargetHTTPSProxy+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.targetHttpsProxies.get@ method which the+-- 'TargetHTTPSProxiesGet' request conforms to.+type TargetHTTPSProxiesGetResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "global" :>+ "targetHttpsProxies" :>+ Capture "targetHttpsProxy" Text :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] TargetHTTPSProxy++-- | Returns the specified TargetHttpsProxy resource.+--+-- /See:/ 'targetHTTPSProxiesGet' smart constructor.+data TargetHTTPSProxiesGet = TargetHTTPSProxiesGet+ { _thpgProject :: !Text+ , _thpgTargetHTTPSProxy :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TargetHTTPSProxiesGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'thpgProject'+--+-- * 'thpgTargetHTTPSProxy'+targetHTTPSProxiesGet+ :: Text -- ^ 'thpgProject'+ -> Text -- ^ 'thpgTargetHTTPSProxy'+ -> TargetHTTPSProxiesGet+targetHTTPSProxiesGet pThpgProject_ pThpgTargetHTTPSProxy_ =+ TargetHTTPSProxiesGet+ { _thpgProject = pThpgProject_+ , _thpgTargetHTTPSProxy = pThpgTargetHTTPSProxy_+ }++-- | Name of the project scoping this request.+thpgProject :: Lens' TargetHTTPSProxiesGet Text+thpgProject+ = lens _thpgProject (\ s a -> s{_thpgProject = a})++-- | Name of the TargetHttpsProxy resource to return.+thpgTargetHTTPSProxy :: Lens' TargetHTTPSProxiesGet Text+thpgTargetHTTPSProxy+ = lens _thpgTargetHTTPSProxy+ (\ s a -> s{_thpgTargetHTTPSProxy = a})++instance GoogleRequest TargetHTTPSProxiesGet where+ type Rs TargetHTTPSProxiesGet = TargetHTTPSProxy+ requestClient TargetHTTPSProxiesGet{..}+ = go _thpgProject _thpgTargetHTTPSProxy+ (Just AltJSON)+ computeService+ where go+ = buildClient+ (Proxy :: Proxy TargetHTTPSProxiesGetResource)+ mempty
+ gen/Network/Google/Resource/Compute/TargetHTTPSProxies/Insert.hs view
@@ -0,0 +1,101 @@+{-# 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.TargetHTTPSProxies.Insert+-- 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)+--+-- Creates a TargetHttpsProxy 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.targetHttpsProxies.insert@.+module Network.Google.Resource.Compute.TargetHTTPSProxies.Insert+ (+ -- * REST Resource+ TargetHTTPSProxiesInsertResource++ -- * Creating a Request+ , targetHTTPSProxiesInsert+ , TargetHTTPSProxiesInsert++ -- * Request Lenses+ , thpiProject+ , thpiPayload+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.targetHttpsProxies.insert@ method which the+-- 'TargetHTTPSProxiesInsert' request conforms to.+type TargetHTTPSProxiesInsertResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "global" :>+ "targetHttpsProxies" :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] TargetHTTPSProxy :>+ Post '[JSON] Operation++-- | Creates a TargetHttpsProxy resource in the specified project using the+-- data included in the request.+--+-- /See:/ 'targetHTTPSProxiesInsert' smart constructor.+data TargetHTTPSProxiesInsert = TargetHTTPSProxiesInsert+ { _thpiProject :: !Text+ , _thpiPayload :: !TargetHTTPSProxy+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TargetHTTPSProxiesInsert' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'thpiProject'+--+-- * 'thpiPayload'+targetHTTPSProxiesInsert+ :: Text -- ^ 'thpiProject'+ -> TargetHTTPSProxy -- ^ 'thpiPayload'+ -> TargetHTTPSProxiesInsert+targetHTTPSProxiesInsert pThpiProject_ pThpiPayload_ =+ TargetHTTPSProxiesInsert+ { _thpiProject = pThpiProject_+ , _thpiPayload = pThpiPayload_+ }++-- | Name of the project scoping this request.+thpiProject :: Lens' TargetHTTPSProxiesInsert Text+thpiProject+ = lens _thpiProject (\ s a -> s{_thpiProject = a})++-- | Multipart request metadata.+thpiPayload :: Lens' TargetHTTPSProxiesInsert TargetHTTPSProxy+thpiPayload+ = lens _thpiPayload (\ s a -> s{_thpiPayload = a})++instance GoogleRequest TargetHTTPSProxiesInsert where+ type Rs TargetHTTPSProxiesInsert = Operation+ requestClient TargetHTTPSProxiesInsert{..}+ = go _thpiProject (Just AltJSON) _thpiPayload+ computeService+ where go+ = buildClient+ (Proxy :: Proxy TargetHTTPSProxiesInsertResource)+ mempty
+ gen/Network/Google/Resource/Compute/TargetHTTPSProxies/List.hs view
@@ -0,0 +1,139 @@+{-# 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.TargetHTTPSProxies.List+-- 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)+--+-- Retrieves the list of TargetHttpsProxy resources available to the+-- specified project.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.targetHttpsProxies.list@.+module Network.Google.Resource.Compute.TargetHTTPSProxies.List+ (+ -- * REST Resource+ TargetHTTPSProxiesListResource++ -- * Creating a Request+ , targetHTTPSProxiesList+ , TargetHTTPSProxiesList++ -- * Request Lenses+ , thplProject+ , thplFilter+ , thplPageToken+ , thplMaxResults+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.targetHttpsProxies.list@ method which the+-- 'TargetHTTPSProxiesList' request conforms to.+type TargetHTTPSProxiesListResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "global" :>+ "targetHttpsProxies" :>+ QueryParam "filter" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] TargetHTTPSProxyList++-- | Retrieves the list of TargetHttpsProxy resources available to the+-- specified project.+--+-- /See:/ 'targetHTTPSProxiesList' smart constructor.+data TargetHTTPSProxiesList = TargetHTTPSProxiesList+ { _thplProject :: !Text+ , _thplFilter :: !(Maybe Text)+ , _thplPageToken :: !(Maybe Text)+ , _thplMaxResults :: !(Textual Word32)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TargetHTTPSProxiesList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'thplProject'+--+-- * 'thplFilter'+--+-- * 'thplPageToken'+--+-- * 'thplMaxResults'+targetHTTPSProxiesList+ :: Text -- ^ 'thplProject'+ -> TargetHTTPSProxiesList+targetHTTPSProxiesList pThplProject_ =+ TargetHTTPSProxiesList+ { _thplProject = pThplProject_+ , _thplFilter = Nothing+ , _thplPageToken = Nothing+ , _thplMaxResults = 500+ }++-- | Name of the project scoping 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+-- 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.+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.+thplPageToken :: Lens' TargetHTTPSProxiesList (Maybe Text)+thplPageToken+ = lens _thplPageToken+ (\ s a -> s{_thplPageToken = a})++-- | Maximum count of results to be returned.+thplMaxResults :: Lens' TargetHTTPSProxiesList Word32+thplMaxResults+ = lens _thplMaxResults+ (\ s a -> s{_thplMaxResults = a})+ . _Coerce++instance GoogleRequest TargetHTTPSProxiesList where+ type Rs TargetHTTPSProxiesList = TargetHTTPSProxyList+ requestClient TargetHTTPSProxiesList{..}+ = go _thplProject _thplFilter _thplPageToken+ (Just _thplMaxResults)+ (Just AltJSON)+ computeService+ where go+ = buildClient+ (Proxy :: Proxy TargetHTTPSProxiesListResource)+ mempty
+ gen/Network/Google/Resource/Compute/TargetHTTPSProxies/SetSSLCertificates.hs view
@@ -0,0 +1,121 @@+{-# 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.TargetHTTPSProxies.SetSSLCertificates+-- 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)+--+-- Replaces SslCertificates for TargetHttpsProxy.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.targetHttpsProxies.setSslCertificates@.+module Network.Google.Resource.Compute.TargetHTTPSProxies.SetSSLCertificates+ (+ -- * REST Resource+ TargetHTTPSProxiesSetSSLCertificatesResource++ -- * Creating a Request+ , targetHTTPSProxiesSetSSLCertificates+ , TargetHTTPSProxiesSetSSLCertificates++ -- * Request Lenses+ , thpsscProject+ , thpsscPayload+ , thpsscTargetHTTPSProxy+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.targetHttpsProxies.setSslCertificates@ method which the+-- 'TargetHTTPSProxiesSetSSLCertificates' request conforms to.+type TargetHTTPSProxiesSetSSLCertificatesResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "targetHttpsProxies" :>+ Capture "targetHttpsProxy" Text :>+ "setSslCertificates" :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON]+ TargetHTTPSProxiesSetSSLCertificatesRequest+ :> Post '[JSON] Operation++-- | Replaces SslCertificates for TargetHttpsProxy.+--+-- /See:/ 'targetHTTPSProxiesSetSSLCertificates' smart constructor.+data TargetHTTPSProxiesSetSSLCertificates = TargetHTTPSProxiesSetSSLCertificates+ { _thpsscProject :: !Text+ , _thpsscPayload :: !TargetHTTPSProxiesSetSSLCertificatesRequest+ , _thpsscTargetHTTPSProxy :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TargetHTTPSProxiesSetSSLCertificates' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'thpsscProject'+--+-- * 'thpsscPayload'+--+-- * 'thpsscTargetHTTPSProxy'+targetHTTPSProxiesSetSSLCertificates+ :: Text -- ^ 'thpsscProject'+ -> TargetHTTPSProxiesSetSSLCertificatesRequest -- ^ 'thpsscPayload'+ -> Text -- ^ 'thpsscTargetHTTPSProxy'+ -> TargetHTTPSProxiesSetSSLCertificates+targetHTTPSProxiesSetSSLCertificates pThpsscProject_ pThpsscPayload_ pThpsscTargetHTTPSProxy_ =+ TargetHTTPSProxiesSetSSLCertificates+ { _thpsscProject = pThpsscProject_+ , _thpsscPayload = pThpsscPayload_+ , _thpsscTargetHTTPSProxy = pThpsscTargetHTTPSProxy_+ }++-- | Name of the project scoping this request.+thpsscProject :: Lens' TargetHTTPSProxiesSetSSLCertificates Text+thpsscProject+ = lens _thpsscProject+ (\ s a -> s{_thpsscProject = a})++-- | Multipart request metadata.+thpsscPayload :: Lens' TargetHTTPSProxiesSetSSLCertificates TargetHTTPSProxiesSetSSLCertificatesRequest+thpsscPayload+ = lens _thpsscPayload+ (\ s a -> s{_thpsscPayload = a})++-- | Name of the TargetHttpsProxy resource whose URL map is to be set.+thpsscTargetHTTPSProxy :: Lens' TargetHTTPSProxiesSetSSLCertificates Text+thpsscTargetHTTPSProxy+ = lens _thpsscTargetHTTPSProxy+ (\ s a -> s{_thpsscTargetHTTPSProxy = a})++instance GoogleRequest+ TargetHTTPSProxiesSetSSLCertificates where+ type Rs TargetHTTPSProxiesSetSSLCertificates =+ Operation+ requestClient+ TargetHTTPSProxiesSetSSLCertificates{..}+ = go _thpsscProject _thpsscTargetHTTPSProxy+ (Just AltJSON)+ _thpsscPayload+ computeService+ where go+ = buildClient+ (Proxy ::+ Proxy TargetHTTPSProxiesSetSSLCertificatesResource)+ mempty
+ gen/Network/Google/Resource/Compute/TargetHTTPSProxies/SetURLMap.hs view
@@ -0,0 +1,117 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.Compute.TargetHTTPSProxies.SetURLMap+-- 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)+--+-- Changes the URL map for TargetHttpsProxy.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.targetHttpsProxies.setUrlMap@.+module Network.Google.Resource.Compute.TargetHTTPSProxies.SetURLMap+ (+ -- * REST Resource+ TargetHTTPSProxiesSetURLMapResource++ -- * Creating a Request+ , targetHTTPSProxiesSetURLMap+ , TargetHTTPSProxiesSetURLMap++ -- * Request Lenses+ , thpsumProject+ , thpsumPayload+ , thpsumTargetHTTPSProxy+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.targetHttpsProxies.setUrlMap@ method which the+-- 'TargetHTTPSProxiesSetURLMap' request conforms to.+type TargetHTTPSProxiesSetURLMapResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "targetHttpsProxies" :>+ Capture "targetHttpsProxy" Text :>+ "setUrlMap" :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] URLMapReference :>+ Post '[JSON] Operation++-- | Changes the URL map for TargetHttpsProxy.+--+-- /See:/ 'targetHTTPSProxiesSetURLMap' smart constructor.+data TargetHTTPSProxiesSetURLMap = TargetHTTPSProxiesSetURLMap+ { _thpsumProject :: !Text+ , _thpsumPayload :: !URLMapReference+ , _thpsumTargetHTTPSProxy :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TargetHTTPSProxiesSetURLMap' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'thpsumProject'+--+-- * 'thpsumPayload'+--+-- * 'thpsumTargetHTTPSProxy'+targetHTTPSProxiesSetURLMap+ :: Text -- ^ 'thpsumProject'+ -> URLMapReference -- ^ 'thpsumPayload'+ -> Text -- ^ 'thpsumTargetHTTPSProxy'+ -> TargetHTTPSProxiesSetURLMap+targetHTTPSProxiesSetURLMap pThpsumProject_ pThpsumPayload_ pThpsumTargetHTTPSProxy_ =+ TargetHTTPSProxiesSetURLMap+ { _thpsumProject = pThpsumProject_+ , _thpsumPayload = pThpsumPayload_+ , _thpsumTargetHTTPSProxy = pThpsumTargetHTTPSProxy_+ }++-- | Name of the project scoping this request.+thpsumProject :: Lens' TargetHTTPSProxiesSetURLMap Text+thpsumProject+ = lens _thpsumProject+ (\ s a -> s{_thpsumProject = a})++-- | Multipart request metadata.+thpsumPayload :: Lens' TargetHTTPSProxiesSetURLMap URLMapReference+thpsumPayload+ = lens _thpsumPayload+ (\ s a -> s{_thpsumPayload = a})++-- | Name of the TargetHttpsProxy resource whose URL map is to be set.+thpsumTargetHTTPSProxy :: Lens' TargetHTTPSProxiesSetURLMap Text+thpsumTargetHTTPSProxy+ = lens _thpsumTargetHTTPSProxy+ (\ s a -> s{_thpsumTargetHTTPSProxy = a})++instance GoogleRequest TargetHTTPSProxiesSetURLMap+ where+ type Rs TargetHTTPSProxiesSetURLMap = Operation+ requestClient TargetHTTPSProxiesSetURLMap{..}+ = go _thpsumProject _thpsumTargetHTTPSProxy+ (Just AltJSON)+ _thpsumPayload+ computeService+ where go+ = buildClient+ (Proxy :: Proxy TargetHTTPSProxiesSetURLMapResource)+ mempty
+ gen/Network/Google/Resource/Compute/TargetInstances/AggregatedList.hs view
@@ -0,0 +1,140 @@+{-# 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.TargetInstances.AggregatedList+-- 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)+--+-- Retrieves the list of target instances grouped by scope.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.targetInstances.aggregatedList@.+module Network.Google.Resource.Compute.TargetInstances.AggregatedList+ (+ -- * REST Resource+ TargetInstancesAggregatedListResource++ -- * Creating a Request+ , targetInstancesAggregatedList+ , TargetInstancesAggregatedList++ -- * Request Lenses+ , tialProject+ , tialFilter+ , tialPageToken+ , tialMaxResults+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.targetInstances.aggregatedList@ method which the+-- 'TargetInstancesAggregatedList' request conforms to.+type TargetInstancesAggregatedListResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "aggregated" :>+ "targetInstances" :>+ QueryParam "filter" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] TargetInstanceAggregatedList++-- | Retrieves the list of target instances grouped by scope.+--+-- /See:/ 'targetInstancesAggregatedList' smart constructor.+data TargetInstancesAggregatedList = TargetInstancesAggregatedList+ { _tialProject :: !Text+ , _tialFilter :: !(Maybe Text)+ , _tialPageToken :: !(Maybe Text)+ , _tialMaxResults :: !(Textual Word32)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TargetInstancesAggregatedList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tialProject'+--+-- * 'tialFilter'+--+-- * 'tialPageToken'+--+-- * 'tialMaxResults'+targetInstancesAggregatedList+ :: Text -- ^ 'tialProject'+ -> TargetInstancesAggregatedList+targetInstancesAggregatedList pTialProject_ =+ TargetInstancesAggregatedList+ { _tialProject = pTialProject_+ , _tialFilter = Nothing+ , _tialPageToken = Nothing+ , _tialMaxResults = 500+ }++-- | Name of the project scoping 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+-- 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.+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.+tialPageToken :: Lens' TargetInstancesAggregatedList (Maybe Text)+tialPageToken+ = lens _tialPageToken+ (\ s a -> s{_tialPageToken = a})++-- | Maximum count of results to be returned.+tialMaxResults :: Lens' TargetInstancesAggregatedList Word32+tialMaxResults+ = lens _tialMaxResults+ (\ s a -> s{_tialMaxResults = a})+ . _Coerce++instance GoogleRequest TargetInstancesAggregatedList+ where+ type Rs TargetInstancesAggregatedList =+ TargetInstanceAggregatedList+ requestClient TargetInstancesAggregatedList{..}+ = go _tialProject _tialFilter _tialPageToken+ (Just _tialMaxResults)+ (Just AltJSON)+ computeService+ where go+ = buildClient+ (Proxy ::+ Proxy TargetInstancesAggregatedListResource)+ mempty
+ gen/Network/Google/Resource/Compute/TargetInstances/Delete.hs view
@@ -0,0 +1,111 @@+{-# 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.TargetInstances.Delete+-- 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)+--+-- Deletes the specified TargetInstance resource.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.targetInstances.delete@.+module Network.Google.Resource.Compute.TargetInstances.Delete+ (+ -- * REST Resource+ TargetInstancesDeleteResource++ -- * Creating a Request+ , targetInstancesDelete+ , TargetInstancesDelete++ -- * Request Lenses+ , tidProject+ , tidTargetInstance+ , tidZone+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.targetInstances.delete@ method which the+-- 'TargetInstancesDelete' request conforms to.+type TargetInstancesDeleteResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "zones" :>+ Capture "zone" Text :>+ "targetInstances" :>+ Capture "targetInstance" Text :>+ QueryParam "alt" AltJSON :> Delete '[JSON] Operation++-- | Deletes the specified TargetInstance resource.+--+-- /See:/ 'targetInstancesDelete' smart constructor.+data TargetInstancesDelete = TargetInstancesDelete+ { _tidProject :: !Text+ , _tidTargetInstance :: !Text+ , _tidZone :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TargetInstancesDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tidProject'+--+-- * 'tidTargetInstance'+--+-- * 'tidZone'+targetInstancesDelete+ :: Text -- ^ 'tidProject'+ -> Text -- ^ 'tidTargetInstance'+ -> Text -- ^ 'tidZone'+ -> TargetInstancesDelete+targetInstancesDelete pTidProject_ pTidTargetInstance_ pTidZone_ =+ TargetInstancesDelete+ { _tidProject = pTidProject_+ , _tidTargetInstance = pTidTargetInstance_+ , _tidZone = pTidZone_+ }++-- | Name of the project scoping this request.+tidProject :: Lens' TargetInstancesDelete Text+tidProject+ = lens _tidProject (\ s a -> s{_tidProject = a})++-- | Name of the TargetInstance resource to delete.+tidTargetInstance :: Lens' TargetInstancesDelete Text+tidTargetInstance+ = lens _tidTargetInstance+ (\ s a -> s{_tidTargetInstance = a})++-- | Name of the zone scoping this request.+tidZone :: Lens' TargetInstancesDelete Text+tidZone = lens _tidZone (\ s a -> s{_tidZone = a})++instance GoogleRequest TargetInstancesDelete where+ type Rs TargetInstancesDelete = Operation+ requestClient TargetInstancesDelete{..}+ = go _tidProject _tidZone _tidTargetInstance+ (Just AltJSON)+ computeService+ where go+ = buildClient+ (Proxy :: Proxy TargetInstancesDeleteResource)+ mempty
+ gen/Network/Google/Resource/Compute/TargetInstances/Get.hs view
@@ -0,0 +1,112 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.Compute.TargetInstances.Get+-- 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)+--+-- Returns the specified TargetInstance resource.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.targetInstances.get@.+module Network.Google.Resource.Compute.TargetInstances.Get+ (+ -- * REST Resource+ TargetInstancesGetResource++ -- * Creating a Request+ , targetInstancesGet+ , TargetInstancesGet++ -- * Request Lenses+ , tigProject+ , tigTargetInstance+ , tigZone+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.targetInstances.get@ method which the+-- 'TargetInstancesGet' request conforms to.+type TargetInstancesGetResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "zones" :>+ Capture "zone" Text :>+ "targetInstances" :>+ Capture "targetInstance" Text :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] TargetInstance++-- | Returns the specified TargetInstance resource.+--+-- /See:/ 'targetInstancesGet' smart constructor.+data TargetInstancesGet = TargetInstancesGet+ { _tigProject :: !Text+ , _tigTargetInstance :: !Text+ , _tigZone :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TargetInstancesGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tigProject'+--+-- * 'tigTargetInstance'+--+-- * 'tigZone'+targetInstancesGet+ :: Text -- ^ 'tigProject'+ -> Text -- ^ 'tigTargetInstance'+ -> Text -- ^ 'tigZone'+ -> TargetInstancesGet+targetInstancesGet pTigProject_ pTigTargetInstance_ pTigZone_ =+ TargetInstancesGet+ { _tigProject = pTigProject_+ , _tigTargetInstance = pTigTargetInstance_+ , _tigZone = pTigZone_+ }++-- | Name of the project scoping this request.+tigProject :: Lens' TargetInstancesGet Text+tigProject+ = lens _tigProject (\ s a -> s{_tigProject = a})++-- | Name of the TargetInstance resource to return.+tigTargetInstance :: Lens' TargetInstancesGet Text+tigTargetInstance+ = lens _tigTargetInstance+ (\ s a -> s{_tigTargetInstance = a})++-- | Name of the zone scoping this request.+tigZone :: Lens' TargetInstancesGet Text+tigZone = lens _tigZone (\ s a -> s{_tigZone = a})++instance GoogleRequest TargetInstancesGet where+ type Rs TargetInstancesGet = TargetInstance+ requestClient TargetInstancesGet{..}+ = go _tigProject _tigZone _tigTargetInstance+ (Just AltJSON)+ computeService+ where go+ = buildClient+ (Proxy :: Proxy TargetInstancesGetResource)+ mempty
+ gen/Network/Google/Resource/Compute/TargetInstances/Insert.hs view
@@ -0,0 +1,112 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.Compute.TargetInstances.Insert+-- 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)+--+-- Creates a TargetInstance resource in the specified project and zone+-- using the data included in the request.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.targetInstances.insert@.+module Network.Google.Resource.Compute.TargetInstances.Insert+ (+ -- * REST Resource+ TargetInstancesInsertResource++ -- * Creating a Request+ , targetInstancesInsert+ , TargetInstancesInsert++ -- * Request Lenses+ , tiiProject+ , tiiZone+ , tiiPayload+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.targetInstances.insert@ method which the+-- 'TargetInstancesInsert' request conforms to.+type TargetInstancesInsertResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "zones" :>+ Capture "zone" Text :>+ "targetInstances" :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] TargetInstance :>+ Post '[JSON] Operation++-- | Creates a TargetInstance resource in the specified project and zone+-- using the data included in the request.+--+-- /See:/ 'targetInstancesInsert' smart constructor.+data TargetInstancesInsert = TargetInstancesInsert+ { _tiiProject :: !Text+ , _tiiZone :: !Text+ , _tiiPayload :: !TargetInstance+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TargetInstancesInsert' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tiiProject'+--+-- * 'tiiZone'+--+-- * 'tiiPayload'+targetInstancesInsert+ :: Text -- ^ 'tiiProject'+ -> Text -- ^ 'tiiZone'+ -> TargetInstance -- ^ 'tiiPayload'+ -> TargetInstancesInsert+targetInstancesInsert pTiiProject_ pTiiZone_ pTiiPayload_ =+ TargetInstancesInsert+ { _tiiProject = pTiiProject_+ , _tiiZone = pTiiZone_+ , _tiiPayload = pTiiPayload_+ }++-- | Name of the project scoping this request.+tiiProject :: Lens' TargetInstancesInsert Text+tiiProject+ = lens _tiiProject (\ s a -> s{_tiiProject = a})++-- | Name of the zone scoping this request.+tiiZone :: Lens' TargetInstancesInsert Text+tiiZone = lens _tiiZone (\ s a -> s{_tiiZone = a})++-- | Multipart request metadata.+tiiPayload :: Lens' TargetInstancesInsert TargetInstance+tiiPayload+ = lens _tiiPayload (\ s a -> s{_tiiPayload = a})++instance GoogleRequest TargetInstancesInsert where+ type Rs TargetInstancesInsert = Operation+ requestClient TargetInstancesInsert{..}+ = go _tiiProject _tiiZone (Just AltJSON) _tiiPayload+ computeService+ where go+ = buildClient+ (Proxy :: Proxy TargetInstancesInsertResource)+ mempty
+ gen/Network/Google/Resource/Compute/TargetInstances/List.hs view
@@ -0,0 +1,149 @@+{-# 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.TargetInstances.List+-- 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)+--+-- Retrieves the 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+ (+ -- * REST Resource+ TargetInstancesListResource++ -- * Creating a Request+ , targetInstancesList+ , TargetInstancesList++ -- * Request Lenses+ , tilProject+ , tilZone+ , tilFilter+ , tilPageToken+ , tilMaxResults+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.targetInstances.list@ method which the+-- 'TargetInstancesList' request conforms to.+type TargetInstancesListResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "zones" :>+ Capture "zone" Text :>+ "targetInstances" :>+ QueryParam "filter" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] TargetInstanceList++-- | Retrieves the list of TargetInstance resources available to the+-- specified project and zone.+--+-- /See:/ 'targetInstancesList' smart constructor.+data TargetInstancesList = TargetInstancesList+ { _tilProject :: !Text+ , _tilZone :: !Text+ , _tilFilter :: !(Maybe Text)+ , _tilPageToken :: !(Maybe Text)+ , _tilMaxResults :: !(Textual Word32)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TargetInstancesList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tilProject'+--+-- * 'tilZone'+--+-- * 'tilFilter'+--+-- * 'tilPageToken'+--+-- * 'tilMaxResults'+targetInstancesList+ :: Text -- ^ 'tilProject'+ -> Text -- ^ 'tilZone'+ -> TargetInstancesList+targetInstancesList pTilProject_ pTilZone_ =+ TargetInstancesList+ { _tilProject = pTilProject_+ , _tilZone = pTilZone_+ , _tilFilter = Nothing+ , _tilPageToken = Nothing+ , _tilMaxResults = 500+ }++-- | Name of the project scoping this request.+tilProject :: Lens' TargetInstancesList Text+tilProject+ = lens _tilProject (\ s a -> s{_tilProject = a})++-- | Name of the zone scoping this request.+tilZone :: Lens' TargetInstancesList Text+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+-- 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.+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.+tilPageToken :: Lens' TargetInstancesList (Maybe Text)+tilPageToken+ = lens _tilPageToken (\ s a -> s{_tilPageToken = a})++-- | Maximum count of results to be returned.+tilMaxResults :: Lens' TargetInstancesList Word32+tilMaxResults+ = lens _tilMaxResults+ (\ s a -> s{_tilMaxResults = a})+ . _Coerce++instance GoogleRequest TargetInstancesList where+ type Rs TargetInstancesList = TargetInstanceList+ requestClient TargetInstancesList{..}+ = go _tilProject _tilZone _tilFilter _tilPageToken+ (Just _tilMaxResults)+ (Just AltJSON)+ computeService+ where go+ = buildClient+ (Proxy :: Proxy TargetInstancesListResource)+ mempty
+ gen/Network/Google/Resource/Compute/TargetPools/AddHealthCheck.hs view
@@ -0,0 +1,128 @@+{-# 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.TargetPools.AddHealthCheck+-- 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)+--+-- Adds health check URL to targetPool.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.targetPools.addHealthCheck@.+module Network.Google.Resource.Compute.TargetPools.AddHealthCheck+ (+ -- * REST Resource+ TargetPoolsAddHealthCheckResource++ -- * Creating a Request+ , targetPoolsAddHealthCheck+ , TargetPoolsAddHealthCheck++ -- * Request Lenses+ , tpahcProject+ , tpahcTargetPool+ , tpahcPayload+ , tpahcRegion+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.targetPools.addHealthCheck@ method which the+-- 'TargetPoolsAddHealthCheck' request conforms to.+type TargetPoolsAddHealthCheckResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "regions" :>+ Capture "region" Text :>+ "targetPools" :>+ Capture "targetPool" Text :>+ "addHealthCheck" :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] TargetPoolsAddHealthCheckRequest :>+ Post '[JSON] Operation++-- | Adds health check URL to targetPool.+--+-- /See:/ 'targetPoolsAddHealthCheck' smart constructor.+data TargetPoolsAddHealthCheck = TargetPoolsAddHealthCheck+ { _tpahcProject :: !Text+ , _tpahcTargetPool :: !Text+ , _tpahcPayload :: !TargetPoolsAddHealthCheckRequest+ , _tpahcRegion :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TargetPoolsAddHealthCheck' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tpahcProject'+--+-- * 'tpahcTargetPool'+--+-- * 'tpahcPayload'+--+-- * 'tpahcRegion'+targetPoolsAddHealthCheck+ :: Text -- ^ 'tpahcProject'+ -> Text -- ^ 'tpahcTargetPool'+ -> TargetPoolsAddHealthCheckRequest -- ^ 'tpahcPayload'+ -> Text -- ^ 'tpahcRegion'+ -> TargetPoolsAddHealthCheck+targetPoolsAddHealthCheck pTpahcProject_ pTpahcTargetPool_ pTpahcPayload_ pTpahcRegion_ =+ TargetPoolsAddHealthCheck+ { _tpahcProject = pTpahcProject_+ , _tpahcTargetPool = pTpahcTargetPool_+ , _tpahcPayload = pTpahcPayload_+ , _tpahcRegion = pTpahcRegion_+ }++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.+tpahcTargetPool :: Lens' TargetPoolsAddHealthCheck Text+tpahcTargetPool+ = lens _tpahcTargetPool+ (\ s a -> s{_tpahcTargetPool = a})++-- | Multipart request metadata.+tpahcPayload :: Lens' TargetPoolsAddHealthCheck TargetPoolsAddHealthCheckRequest+tpahcPayload+ = lens _tpahcPayload (\ s a -> s{_tpahcPayload = a})++-- | Name of the region scoping this request.+tpahcRegion :: Lens' TargetPoolsAddHealthCheck Text+tpahcRegion+ = lens _tpahcRegion (\ s a -> s{_tpahcRegion = a})++instance GoogleRequest TargetPoolsAddHealthCheck+ where+ type Rs TargetPoolsAddHealthCheck = Operation+ requestClient TargetPoolsAddHealthCheck{..}+ = go _tpahcProject _tpahcRegion _tpahcTargetPool+ (Just AltJSON)+ _tpahcPayload+ computeService+ where go+ = buildClient+ (Proxy :: Proxy TargetPoolsAddHealthCheckResource)+ mempty
+ gen/Network/Google/Resource/Compute/TargetPools/AddInstance.hs view
@@ -0,0 +1,126 @@+{-# 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.TargetPools.AddInstance+-- 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)+--+-- Adds instance url to targetPool.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.targetPools.addInstance@.+module Network.Google.Resource.Compute.TargetPools.AddInstance+ (+ -- * REST Resource+ TargetPoolsAddInstanceResource++ -- * Creating a Request+ , targetPoolsAddInstance+ , TargetPoolsAddInstance++ -- * Request Lenses+ , tpaiProject+ , tpaiTargetPool+ , tpaiPayload+ , tpaiRegion+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.targetPools.addInstance@ method which the+-- 'TargetPoolsAddInstance' request conforms to.+type TargetPoolsAddInstanceResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "regions" :>+ Capture "region" Text :>+ "targetPools" :>+ Capture "targetPool" Text :>+ "addInstance" :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] TargetPoolsAddInstanceRequest :>+ Post '[JSON] Operation++-- | Adds instance url to targetPool.+--+-- /See:/ 'targetPoolsAddInstance' smart constructor.+data TargetPoolsAddInstance = TargetPoolsAddInstance+ { _tpaiProject :: !Text+ , _tpaiTargetPool :: !Text+ , _tpaiPayload :: !TargetPoolsAddInstanceRequest+ , _tpaiRegion :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TargetPoolsAddInstance' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tpaiProject'+--+-- * 'tpaiTargetPool'+--+-- * 'tpaiPayload'+--+-- * 'tpaiRegion'+targetPoolsAddInstance+ :: Text -- ^ 'tpaiProject'+ -> Text -- ^ 'tpaiTargetPool'+ -> TargetPoolsAddInstanceRequest -- ^ 'tpaiPayload'+ -> Text -- ^ 'tpaiRegion'+ -> TargetPoolsAddInstance+targetPoolsAddInstance pTpaiProject_ pTpaiTargetPool_ pTpaiPayload_ pTpaiRegion_ =+ TargetPoolsAddInstance+ { _tpaiProject = pTpaiProject_+ , _tpaiTargetPool = pTpaiTargetPool_+ , _tpaiPayload = pTpaiPayload_+ , _tpaiRegion = pTpaiRegion_+ }++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.+tpaiTargetPool :: Lens' TargetPoolsAddInstance Text+tpaiTargetPool+ = lens _tpaiTargetPool+ (\ s a -> s{_tpaiTargetPool = a})++-- | Multipart request metadata.+tpaiPayload :: Lens' TargetPoolsAddInstance TargetPoolsAddInstanceRequest+tpaiPayload+ = lens _tpaiPayload (\ s a -> s{_tpaiPayload = a})++-- | Name of the region scoping this request.+tpaiRegion :: Lens' TargetPoolsAddInstance Text+tpaiRegion+ = lens _tpaiRegion (\ s a -> s{_tpaiRegion = a})++instance GoogleRequest TargetPoolsAddInstance where+ type Rs TargetPoolsAddInstance = Operation+ requestClient TargetPoolsAddInstance{..}+ = go _tpaiProject _tpaiRegion _tpaiTargetPool+ (Just AltJSON)+ _tpaiPayload+ computeService+ where go+ = buildClient+ (Proxy :: Proxy TargetPoolsAddInstanceResource)+ mempty
+ gen/Network/Google/Resource/Compute/TargetPools/AggregatedList.hs view
@@ -0,0 +1,139 @@+{-# 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.TargetPools.AggregatedList+-- 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)+--+-- Retrieves the list of target pools grouped by scope.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.targetPools.aggregatedList@.+module Network.Google.Resource.Compute.TargetPools.AggregatedList+ (+ -- * REST Resource+ TargetPoolsAggregatedListResource++ -- * Creating a Request+ , targetPoolsAggregatedList+ , TargetPoolsAggregatedList++ -- * Request Lenses+ , tpalProject+ , tpalFilter+ , tpalPageToken+ , tpalMaxResults+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.targetPools.aggregatedList@ method which the+-- 'TargetPoolsAggregatedList' request conforms to.+type TargetPoolsAggregatedListResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "aggregated" :>+ "targetPools" :>+ QueryParam "filter" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] TargetPoolAggregatedList++-- | Retrieves the list of target pools grouped by scope.+--+-- /See:/ 'targetPoolsAggregatedList' smart constructor.+data TargetPoolsAggregatedList = TargetPoolsAggregatedList+ { _tpalProject :: !Text+ , _tpalFilter :: !(Maybe Text)+ , _tpalPageToken :: !(Maybe Text)+ , _tpalMaxResults :: !(Textual Word32)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TargetPoolsAggregatedList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tpalProject'+--+-- * 'tpalFilter'+--+-- * 'tpalPageToken'+--+-- * 'tpalMaxResults'+targetPoolsAggregatedList+ :: Text -- ^ 'tpalProject'+ -> TargetPoolsAggregatedList+targetPoolsAggregatedList pTpalProject_ =+ TargetPoolsAggregatedList+ { _tpalProject = pTpalProject_+ , _tpalFilter = Nothing+ , _tpalPageToken = Nothing+ , _tpalMaxResults = 500+ }++-- | Name of the project scoping 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+-- 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.+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.+tpalPageToken :: Lens' TargetPoolsAggregatedList (Maybe Text)+tpalPageToken+ = lens _tpalPageToken+ (\ s a -> s{_tpalPageToken = a})++-- | Maximum count of results to be returned.+tpalMaxResults :: Lens' TargetPoolsAggregatedList Word32+tpalMaxResults+ = lens _tpalMaxResults+ (\ s a -> s{_tpalMaxResults = a})+ . _Coerce++instance GoogleRequest TargetPoolsAggregatedList+ where+ type Rs TargetPoolsAggregatedList =+ TargetPoolAggregatedList+ requestClient TargetPoolsAggregatedList{..}+ = go _tpalProject _tpalFilter _tpalPageToken+ (Just _tpalMaxResults)+ (Just AltJSON)+ computeService+ where go+ = buildClient+ (Proxy :: Proxy TargetPoolsAggregatedListResource)+ mempty
+ gen/Network/Google/Resource/Compute/TargetPools/Delete.hs view
@@ -0,0 +1,112 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.Compute.TargetPools.Delete+-- 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)+--+-- Deletes the specified TargetPool resource.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.targetPools.delete@.+module Network.Google.Resource.Compute.TargetPools.Delete+ (+ -- * REST Resource+ TargetPoolsDeleteResource++ -- * Creating a Request+ , targetPoolsDelete+ , TargetPoolsDelete++ -- * Request Lenses+ , tpdProject+ , tpdTargetPool+ , tpdRegion+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.targetPools.delete@ method which the+-- 'TargetPoolsDelete' request conforms to.+type TargetPoolsDeleteResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "regions" :>+ Capture "region" Text :>+ "targetPools" :>+ Capture "targetPool" Text :>+ QueryParam "alt" AltJSON :> Delete '[JSON] Operation++-- | Deletes the specified TargetPool resource.+--+-- /See:/ 'targetPoolsDelete' smart constructor.+data TargetPoolsDelete = TargetPoolsDelete+ { _tpdProject :: !Text+ , _tpdTargetPool :: !Text+ , _tpdRegion :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TargetPoolsDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tpdProject'+--+-- * 'tpdTargetPool'+--+-- * 'tpdRegion'+targetPoolsDelete+ :: Text -- ^ 'tpdProject'+ -> Text -- ^ 'tpdTargetPool'+ -> Text -- ^ 'tpdRegion'+ -> TargetPoolsDelete+targetPoolsDelete pTpdProject_ pTpdTargetPool_ pTpdRegion_ =+ TargetPoolsDelete+ { _tpdProject = pTpdProject_+ , _tpdTargetPool = pTpdTargetPool_+ , _tpdRegion = pTpdRegion_+ }++-- | Name of the project scoping this request.+tpdProject :: Lens' TargetPoolsDelete Text+tpdProject+ = lens _tpdProject (\ s a -> s{_tpdProject = a})++-- | Name of the TargetPool resource to delete.+tpdTargetPool :: Lens' TargetPoolsDelete Text+tpdTargetPool+ = lens _tpdTargetPool+ (\ s a -> s{_tpdTargetPool = a})++-- | Name of the region scoping this request.+tpdRegion :: Lens' TargetPoolsDelete Text+tpdRegion+ = lens _tpdRegion (\ s a -> s{_tpdRegion = a})++instance GoogleRequest TargetPoolsDelete where+ type Rs TargetPoolsDelete = Operation+ requestClient TargetPoolsDelete{..}+ = go _tpdProject _tpdRegion _tpdTargetPool+ (Just AltJSON)+ computeService+ where go+ = buildClient+ (Proxy :: Proxy TargetPoolsDeleteResource)+ mempty
+ gen/Network/Google/Resource/Compute/TargetPools/Get.hs view
@@ -0,0 +1,111 @@+{-# 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.TargetPools.Get+-- 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)+--+-- Returns the specified TargetPool resource.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.targetPools.get@.+module Network.Google.Resource.Compute.TargetPools.Get+ (+ -- * REST Resource+ TargetPoolsGetResource++ -- * Creating a Request+ , targetPoolsGet+ , TargetPoolsGet++ -- * Request Lenses+ , tpgProject+ , tpgTargetPool+ , tpgRegion+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.targetPools.get@ method which the+-- 'TargetPoolsGet' request conforms to.+type TargetPoolsGetResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "regions" :>+ Capture "region" Text :>+ "targetPools" :>+ Capture "targetPool" Text :>+ QueryParam "alt" AltJSON :> Get '[JSON] TargetPool++-- | Returns the specified TargetPool resource.+--+-- /See:/ 'targetPoolsGet' smart constructor.+data TargetPoolsGet = TargetPoolsGet+ { _tpgProject :: !Text+ , _tpgTargetPool :: !Text+ , _tpgRegion :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TargetPoolsGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tpgProject'+--+-- * 'tpgTargetPool'+--+-- * 'tpgRegion'+targetPoolsGet+ :: Text -- ^ 'tpgProject'+ -> Text -- ^ 'tpgTargetPool'+ -> Text -- ^ 'tpgRegion'+ -> TargetPoolsGet+targetPoolsGet pTpgProject_ pTpgTargetPool_ pTpgRegion_ =+ TargetPoolsGet+ { _tpgProject = pTpgProject_+ , _tpgTargetPool = pTpgTargetPool_+ , _tpgRegion = pTpgRegion_+ }++-- | Name of the project scoping this request.+tpgProject :: Lens' TargetPoolsGet Text+tpgProject+ = lens _tpgProject (\ s a -> s{_tpgProject = a})++-- | Name of the TargetPool resource to return.+tpgTargetPool :: Lens' TargetPoolsGet Text+tpgTargetPool+ = lens _tpgTargetPool+ (\ s a -> s{_tpgTargetPool = a})++-- | Name of the region scoping this request.+tpgRegion :: Lens' TargetPoolsGet Text+tpgRegion+ = lens _tpgRegion (\ s a -> s{_tpgRegion = a})++instance GoogleRequest TargetPoolsGet where+ type Rs TargetPoolsGet = TargetPool+ requestClient TargetPoolsGet{..}+ = go _tpgProject _tpgRegion _tpgTargetPool+ (Just AltJSON)+ computeService+ where go+ = buildClient (Proxy :: Proxy TargetPoolsGetResource)+ mempty
+ gen/Network/Google/Resource/Compute/TargetPools/GetHealth.hs view
@@ -0,0 +1,129 @@+{-# 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.TargetPools.GetHealth+-- 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)+--+-- Gets the most recent health check results for each IP for the given+-- instance that is referenced by given TargetPool.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.targetPools.getHealth@.+module Network.Google.Resource.Compute.TargetPools.GetHealth+ (+ -- * REST Resource+ TargetPoolsGetHealthResource++ -- * Creating a Request+ , targetPoolsGetHealth+ , TargetPoolsGetHealth++ -- * Request Lenses+ , tpghProject+ , tpghTargetPool+ , tpghPayload+ , tpghRegion+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.targetPools.getHealth@ method which the+-- 'TargetPoolsGetHealth' request conforms to.+type TargetPoolsGetHealthResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "regions" :>+ Capture "region" Text :>+ "targetPools" :>+ Capture "targetPool" Text :>+ "getHealth" :>+ QueryParam "alt" AltJSON :>+ 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.+--+-- /See:/ 'targetPoolsGetHealth' smart constructor.+data TargetPoolsGetHealth = TargetPoolsGetHealth+ { _tpghProject :: !Text+ , _tpghTargetPool :: !Text+ , _tpghPayload :: !InstanceReference+ , _tpghRegion :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TargetPoolsGetHealth' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tpghProject'+--+-- * 'tpghTargetPool'+--+-- * 'tpghPayload'+--+-- * 'tpghRegion'+targetPoolsGetHealth+ :: Text -- ^ 'tpghProject'+ -> Text -- ^ 'tpghTargetPool'+ -> InstanceReference -- ^ 'tpghPayload'+ -> Text -- ^ 'tpghRegion'+ -> TargetPoolsGetHealth+targetPoolsGetHealth pTpghProject_ pTpghTargetPool_ pTpghPayload_ pTpghRegion_ =+ TargetPoolsGetHealth+ { _tpghProject = pTpghProject_+ , _tpghTargetPool = pTpghTargetPool_+ , _tpghPayload = pTpghPayload_+ , _tpghRegion = pTpghRegion_+ }++tpghProject :: Lens' TargetPoolsGetHealth Text+tpghProject+ = lens _tpghProject (\ s a -> s{_tpghProject = a})++-- | Name of the TargetPool resource to which the queried instance belongs.+tpghTargetPool :: Lens' TargetPoolsGetHealth Text+tpghTargetPool+ = lens _tpghTargetPool+ (\ s a -> s{_tpghTargetPool = a})++-- | Multipart request metadata.+tpghPayload :: Lens' TargetPoolsGetHealth InstanceReference+tpghPayload+ = lens _tpghPayload (\ s a -> s{_tpghPayload = a})++-- | Name of the region scoping this request.+tpghRegion :: Lens' TargetPoolsGetHealth Text+tpghRegion+ = lens _tpghRegion (\ s a -> s{_tpghRegion = a})++instance GoogleRequest TargetPoolsGetHealth where+ type Rs TargetPoolsGetHealth =+ TargetPoolInstanceHealth+ requestClient TargetPoolsGetHealth{..}+ = go _tpghProject _tpghRegion _tpghTargetPool+ (Just AltJSON)+ _tpghPayload+ computeService+ where go+ = buildClient+ (Proxy :: Proxy TargetPoolsGetHealthResource)+ mempty
+ gen/Network/Google/Resource/Compute/TargetPools/Insert.hs view
@@ -0,0 +1,113 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.Compute.TargetPools.Insert+-- 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)+--+-- Creates a TargetPool resource in the specified project and region using+-- the data included in the request.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.targetPools.insert@.+module Network.Google.Resource.Compute.TargetPools.Insert+ (+ -- * REST Resource+ TargetPoolsInsertResource++ -- * Creating a Request+ , targetPoolsInsert+ , TargetPoolsInsert++ -- * Request Lenses+ , tpiProject+ , tpiPayload+ , tpiRegion+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.targetPools.insert@ method which the+-- 'TargetPoolsInsert' request conforms to.+type TargetPoolsInsertResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "regions" :>+ Capture "region" Text :>+ "targetPools" :>+ 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.+--+-- /See:/ 'targetPoolsInsert' smart constructor.+data TargetPoolsInsert = TargetPoolsInsert+ { _tpiProject :: !Text+ , _tpiPayload :: !TargetPool+ , _tpiRegion :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TargetPoolsInsert' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tpiProject'+--+-- * 'tpiPayload'+--+-- * 'tpiRegion'+targetPoolsInsert+ :: Text -- ^ 'tpiProject'+ -> TargetPool -- ^ 'tpiPayload'+ -> Text -- ^ 'tpiRegion'+ -> TargetPoolsInsert+targetPoolsInsert pTpiProject_ pTpiPayload_ pTpiRegion_ =+ TargetPoolsInsert+ { _tpiProject = pTpiProject_+ , _tpiPayload = pTpiPayload_+ , _tpiRegion = pTpiRegion_+ }++-- | Name of the project scoping this request.+tpiProject :: Lens' TargetPoolsInsert Text+tpiProject+ = lens _tpiProject (\ s a -> s{_tpiProject = a})++-- | Multipart request metadata.+tpiPayload :: Lens' TargetPoolsInsert TargetPool+tpiPayload+ = lens _tpiPayload (\ s a -> s{_tpiPayload = a})++-- | Name of the region scoping this request.+tpiRegion :: Lens' TargetPoolsInsert Text+tpiRegion+ = lens _tpiRegion (\ s a -> s{_tpiRegion = a})++instance GoogleRequest TargetPoolsInsert where+ type Rs TargetPoolsInsert = Operation+ requestClient TargetPoolsInsert{..}+ = go _tpiProject _tpiRegion (Just AltJSON)+ _tpiPayload+ computeService+ where go+ = buildClient+ (Proxy :: Proxy TargetPoolsInsertResource)+ mempty
+ gen/Network/Google/Resource/Compute/TargetPools/List.hs view
@@ -0,0 +1,150 @@+{-# 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.TargetPools.List+-- 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)+--+-- Retrieves the list of TargetPool resources 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+ (+ -- * REST Resource+ TargetPoolsListResource++ -- * Creating a Request+ , targetPoolsList+ , TargetPoolsList++ -- * Request Lenses+ , tplProject+ , tplFilter+ , tplRegion+ , tplPageToken+ , tplMaxResults+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.targetPools.list@ method which the+-- 'TargetPoolsList' request conforms to.+type TargetPoolsListResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "regions" :>+ Capture "region" Text :>+ "targetPools" :>+ QueryParam "filter" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] TargetPoolList++-- | Retrieves the list of TargetPool resources available to the specified+-- project and region.+--+-- /See:/ 'targetPoolsList' smart constructor.+data TargetPoolsList = TargetPoolsList+ { _tplProject :: !Text+ , _tplFilter :: !(Maybe Text)+ , _tplRegion :: !Text+ , _tplPageToken :: !(Maybe Text)+ , _tplMaxResults :: !(Textual Word32)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TargetPoolsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tplProject'+--+-- * 'tplFilter'+--+-- * 'tplRegion'+--+-- * 'tplPageToken'+--+-- * 'tplMaxResults'+targetPoolsList+ :: Text -- ^ 'tplProject'+ -> Text -- ^ 'tplRegion'+ -> TargetPoolsList+targetPoolsList pTplProject_ pTplRegion_ =+ TargetPoolsList+ { _tplProject = pTplProject_+ , _tplFilter = Nothing+ , _tplRegion = pTplRegion_+ , _tplPageToken = Nothing+ , _tplMaxResults = 500+ }++-- | Name of the project scoping 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+-- 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.+tplFilter :: Lens' TargetPoolsList (Maybe Text)+tplFilter+ = lens _tplFilter (\ s a -> s{_tplFilter = a})++-- | Name of the region scoping this request.+tplRegion :: Lens' TargetPoolsList Text+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.+tplPageToken :: Lens' TargetPoolsList (Maybe Text)+tplPageToken+ = lens _tplPageToken (\ s a -> s{_tplPageToken = a})++-- | Maximum count of results to be returned.+tplMaxResults :: Lens' TargetPoolsList Word32+tplMaxResults+ = lens _tplMaxResults+ (\ s a -> s{_tplMaxResults = a})+ . _Coerce++instance GoogleRequest TargetPoolsList where+ type Rs TargetPoolsList = TargetPoolList+ requestClient TargetPoolsList{..}+ = go _tplProject _tplRegion _tplFilter _tplPageToken+ (Just _tplMaxResults)+ (Just AltJSON)+ computeService+ where go+ = buildClient+ (Proxy :: Proxy TargetPoolsListResource)+ mempty
+ gen/Network/Google/Resource/Compute/TargetPools/RemoveHealthCheck.hs view
@@ -0,0 +1,128 @@+{-# 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.TargetPools.RemoveHealthCheck+-- 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)+--+-- Removes health check URL from targetPool.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.targetPools.removeHealthCheck@.+module Network.Google.Resource.Compute.TargetPools.RemoveHealthCheck+ (+ -- * REST Resource+ TargetPoolsRemoveHealthCheckResource++ -- * Creating a Request+ , targetPoolsRemoveHealthCheck+ , TargetPoolsRemoveHealthCheck++ -- * Request Lenses+ , tprhcProject+ , tprhcTargetPool+ , tprhcPayload+ , tprhcRegion+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.targetPools.removeHealthCheck@ method which the+-- 'TargetPoolsRemoveHealthCheck' request conforms to.+type TargetPoolsRemoveHealthCheckResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "regions" :>+ Capture "region" Text :>+ "targetPools" :>+ Capture "targetPool" Text :>+ "removeHealthCheck" :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] TargetPoolsRemoveHealthCheckRequest+ :> Post '[JSON] Operation++-- | Removes health check URL from targetPool.+--+-- /See:/ 'targetPoolsRemoveHealthCheck' smart constructor.+data TargetPoolsRemoveHealthCheck = TargetPoolsRemoveHealthCheck+ { _tprhcProject :: !Text+ , _tprhcTargetPool :: !Text+ , _tprhcPayload :: !TargetPoolsRemoveHealthCheckRequest+ , _tprhcRegion :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TargetPoolsRemoveHealthCheck' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tprhcProject'+--+-- * 'tprhcTargetPool'+--+-- * 'tprhcPayload'+--+-- * 'tprhcRegion'+targetPoolsRemoveHealthCheck+ :: Text -- ^ 'tprhcProject'+ -> Text -- ^ 'tprhcTargetPool'+ -> TargetPoolsRemoveHealthCheckRequest -- ^ 'tprhcPayload'+ -> Text -- ^ 'tprhcRegion'+ -> TargetPoolsRemoveHealthCheck+targetPoolsRemoveHealthCheck pTprhcProject_ pTprhcTargetPool_ pTprhcPayload_ pTprhcRegion_ =+ TargetPoolsRemoveHealthCheck+ { _tprhcProject = pTprhcProject_+ , _tprhcTargetPool = pTprhcTargetPool_+ , _tprhcPayload = pTprhcPayload_+ , _tprhcRegion = pTprhcRegion_+ }++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.+tprhcTargetPool :: Lens' TargetPoolsRemoveHealthCheck Text+tprhcTargetPool+ = lens _tprhcTargetPool+ (\ s a -> s{_tprhcTargetPool = a})++-- | Multipart request metadata.+tprhcPayload :: Lens' TargetPoolsRemoveHealthCheck TargetPoolsRemoveHealthCheckRequest+tprhcPayload+ = lens _tprhcPayload (\ s a -> s{_tprhcPayload = a})++-- | Name of the region scoping this request.+tprhcRegion :: Lens' TargetPoolsRemoveHealthCheck Text+tprhcRegion+ = lens _tprhcRegion (\ s a -> s{_tprhcRegion = a})++instance GoogleRequest TargetPoolsRemoveHealthCheck+ where+ type Rs TargetPoolsRemoveHealthCheck = Operation+ requestClient TargetPoolsRemoveHealthCheck{..}+ = go _tprhcProject _tprhcRegion _tprhcTargetPool+ (Just AltJSON)+ _tprhcPayload+ computeService+ where go+ = buildClient+ (Proxy :: Proxy TargetPoolsRemoveHealthCheckResource)+ mempty
+ gen/Network/Google/Resource/Compute/TargetPools/RemoveInstance.hs view
@@ -0,0 +1,127 @@+{-# 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.TargetPools.RemoveInstance+-- 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)+--+-- Removes instance URL from targetPool.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.targetPools.removeInstance@.+module Network.Google.Resource.Compute.TargetPools.RemoveInstance+ (+ -- * REST Resource+ TargetPoolsRemoveInstanceResource++ -- * Creating a Request+ , targetPoolsRemoveInstance+ , TargetPoolsRemoveInstance++ -- * Request Lenses+ , tpriProject+ , tpriTargetPool+ , tpriPayload+ , tpriRegion+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.targetPools.removeInstance@ method which the+-- 'TargetPoolsRemoveInstance' request conforms to.+type TargetPoolsRemoveInstanceResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "regions" :>+ Capture "region" Text :>+ "targetPools" :>+ Capture "targetPool" Text :>+ "removeInstance" :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] TargetPoolsRemoveInstanceRequest :>+ Post '[JSON] Operation++-- | Removes instance URL from targetPool.+--+-- /See:/ 'targetPoolsRemoveInstance' smart constructor.+data TargetPoolsRemoveInstance = TargetPoolsRemoveInstance+ { _tpriProject :: !Text+ , _tpriTargetPool :: !Text+ , _tpriPayload :: !TargetPoolsRemoveInstanceRequest+ , _tpriRegion :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TargetPoolsRemoveInstance' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tpriProject'+--+-- * 'tpriTargetPool'+--+-- * 'tpriPayload'+--+-- * 'tpriRegion'+targetPoolsRemoveInstance+ :: Text -- ^ 'tpriProject'+ -> Text -- ^ 'tpriTargetPool'+ -> TargetPoolsRemoveInstanceRequest -- ^ 'tpriPayload'+ -> Text -- ^ 'tpriRegion'+ -> TargetPoolsRemoveInstance+targetPoolsRemoveInstance pTpriProject_ pTpriTargetPool_ pTpriPayload_ pTpriRegion_ =+ TargetPoolsRemoveInstance+ { _tpriProject = pTpriProject_+ , _tpriTargetPool = pTpriTargetPool_+ , _tpriPayload = pTpriPayload_+ , _tpriRegion = pTpriRegion_+ }++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.+tpriTargetPool :: Lens' TargetPoolsRemoveInstance Text+tpriTargetPool+ = lens _tpriTargetPool+ (\ s a -> s{_tpriTargetPool = a})++-- | Multipart request metadata.+tpriPayload :: Lens' TargetPoolsRemoveInstance TargetPoolsRemoveInstanceRequest+tpriPayload+ = lens _tpriPayload (\ s a -> s{_tpriPayload = a})++-- | Name of the region scoping this request.+tpriRegion :: Lens' TargetPoolsRemoveInstance Text+tpriRegion+ = lens _tpriRegion (\ s a -> s{_tpriRegion = a})++instance GoogleRequest TargetPoolsRemoveInstance+ where+ type Rs TargetPoolsRemoveInstance = Operation+ requestClient TargetPoolsRemoveInstance{..}+ = go _tpriProject _tpriRegion _tpriTargetPool+ (Just AltJSON)+ _tpriPayload+ computeService+ where go+ = buildClient+ (Proxy :: Proxy TargetPoolsRemoveInstanceResource)+ mempty
+ gen/Network/Google/Resource/Compute/TargetPools/SetBackup.hs view
@@ -0,0 +1,141 @@+{-# 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.TargetPools.SetBackup+-- 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)+--+-- Changes backup pool 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+ (+ -- * REST Resource+ TargetPoolsSetBackupResource++ -- * Creating a Request+ , targetPoolsSetBackup+ , TargetPoolsSetBackup++ -- * Request Lenses+ , tpsbProject+ , tpsbTargetPool+ , tpsbPayload+ , tpsbFailoverRatio+ , tpsbRegion+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.targetPools.setBackup@ method which the+-- 'TargetPoolsSetBackup' request conforms to.+type TargetPoolsSetBackupResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "regions" :>+ Capture "region" Text :>+ "targetPools" :>+ Capture "targetPool" Text :>+ "setBackup" :>+ QueryParam "failoverRatio" (Textual Double) :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] TargetReference :>+ Post '[JSON] Operation++-- | Changes backup pool configurations.+--+-- /See:/ 'targetPoolsSetBackup' smart constructor.+data TargetPoolsSetBackup = TargetPoolsSetBackup+ { _tpsbProject :: !Text+ , _tpsbTargetPool :: !Text+ , _tpsbPayload :: !TargetReference+ , _tpsbFailoverRatio :: !(Maybe (Textual Double))+ , _tpsbRegion :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TargetPoolsSetBackup' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tpsbProject'+--+-- * 'tpsbTargetPool'+--+-- * 'tpsbPayload'+--+-- * 'tpsbFailoverRatio'+--+-- * 'tpsbRegion'+targetPoolsSetBackup+ :: Text -- ^ 'tpsbProject'+ -> Text -- ^ 'tpsbTargetPool'+ -> TargetReference -- ^ 'tpsbPayload'+ -> Text -- ^ 'tpsbRegion'+ -> TargetPoolsSetBackup+targetPoolsSetBackup pTpsbProject_ pTpsbTargetPool_ pTpsbPayload_ pTpsbRegion_ =+ TargetPoolsSetBackup+ { _tpsbProject = pTpsbProject_+ , _tpsbTargetPool = pTpsbTargetPool_+ , _tpsbPayload = pTpsbPayload_+ , _tpsbFailoverRatio = Nothing+ , _tpsbRegion = pTpsbRegion_+ }++-- | Name of the project scoping 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.+tpsbTargetPool :: Lens' TargetPoolsSetBackup Text+tpsbTargetPool+ = lens _tpsbTargetPool+ (\ s a -> s{_tpsbTargetPool = a})++-- | Multipart request metadata.+tpsbPayload :: Lens' TargetPoolsSetBackup TargetReference+tpsbPayload+ = lens _tpsbPayload (\ s a -> s{_tpsbPayload = a})++-- | New failoverRatio value for the containing target pool.+tpsbFailoverRatio :: Lens' TargetPoolsSetBackup (Maybe Double)+tpsbFailoverRatio+ = lens _tpsbFailoverRatio+ (\ s a -> s{_tpsbFailoverRatio = a})+ . mapping _Coerce++-- | Name of the region scoping this request.+tpsbRegion :: Lens' TargetPoolsSetBackup Text+tpsbRegion+ = lens _tpsbRegion (\ s a -> s{_tpsbRegion = a})++instance GoogleRequest TargetPoolsSetBackup where+ type Rs TargetPoolsSetBackup = Operation+ requestClient TargetPoolsSetBackup{..}+ = go _tpsbProject _tpsbRegion _tpsbTargetPool+ _tpsbFailoverRatio+ (Just AltJSON)+ _tpsbPayload+ computeService+ where go+ = buildClient+ (Proxy :: Proxy TargetPoolsSetBackupResource)+ mempty
+ gen/Network/Google/Resource/Compute/TargetVPNGateways/AggregatedList.hs view
@@ -0,0 +1,140 @@+{-# 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.TargetVPNGateways.AggregatedList+-- 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)+--+-- Retrieves the list of target VPN gateways grouped by scope.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.targetVpnGateways.aggregatedList@.+module Network.Google.Resource.Compute.TargetVPNGateways.AggregatedList+ (+ -- * REST Resource+ TargetVPNGatewaysAggregatedListResource++ -- * Creating a Request+ , targetVPNGatewaysAggregatedList+ , TargetVPNGatewaysAggregatedList++ -- * Request Lenses+ , tvgalProject+ , tvgalFilter+ , tvgalPageToken+ , tvgalMaxResults+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.targetVpnGateways.aggregatedList@ method which the+-- 'TargetVPNGatewaysAggregatedList' request conforms to.+type TargetVPNGatewaysAggregatedListResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "aggregated" :>+ "targetVpnGateways" :>+ QueryParam "filter" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] TargetVPNGatewayAggregatedList++-- | Retrieves the list of target VPN gateways grouped by scope.+--+-- /See:/ 'targetVPNGatewaysAggregatedList' smart constructor.+data TargetVPNGatewaysAggregatedList = TargetVPNGatewaysAggregatedList+ { _tvgalProject :: !Text+ , _tvgalFilter :: !(Maybe Text)+ , _tvgalPageToken :: !(Maybe Text)+ , _tvgalMaxResults :: !(Textual Word32)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TargetVPNGatewaysAggregatedList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tvgalProject'+--+-- * 'tvgalFilter'+--+-- * 'tvgalPageToken'+--+-- * 'tvgalMaxResults'+targetVPNGatewaysAggregatedList+ :: Text -- ^ 'tvgalProject'+ -> TargetVPNGatewaysAggregatedList+targetVPNGatewaysAggregatedList pTvgalProject_ =+ TargetVPNGatewaysAggregatedList+ { _tvgalProject = pTvgalProject_+ , _tvgalFilter = Nothing+ , _tvgalPageToken = Nothing+ , _tvgalMaxResults = 500+ }++-- | Project ID for this request.+tvgalProject :: Lens' TargetVPNGatewaysAggregatedList Text+tvgalProject+ = 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+-- 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.+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.+tvgalPageToken :: Lens' TargetVPNGatewaysAggregatedList (Maybe Text)+tvgalPageToken+ = lens _tvgalPageToken+ (\ s a -> s{_tvgalPageToken = a})++-- | Maximum count of results to be returned.+tvgalMaxResults :: Lens' TargetVPNGatewaysAggregatedList Word32+tvgalMaxResults+ = lens _tvgalMaxResults+ (\ s a -> s{_tvgalMaxResults = a})+ . _Coerce++instance GoogleRequest+ TargetVPNGatewaysAggregatedList where+ type Rs TargetVPNGatewaysAggregatedList =+ TargetVPNGatewayAggregatedList+ requestClient TargetVPNGatewaysAggregatedList{..}+ = go _tvgalProject _tvgalFilter _tvgalPageToken+ (Just _tvgalMaxResults)+ (Just AltJSON)+ computeService+ where go+ = buildClient+ (Proxy ::+ Proxy TargetVPNGatewaysAggregatedListResource)+ mempty
+ gen/Network/Google/Resource/Compute/TargetVPNGateways/Delete.hs view
@@ -0,0 +1,112 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.Compute.TargetVPNGateways.Delete+-- 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)+--+-- Deletes the specified TargetVpnGateway resource.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.targetVpnGateways.delete@.+module Network.Google.Resource.Compute.TargetVPNGateways.Delete+ (+ -- * REST Resource+ TargetVPNGatewaysDeleteResource++ -- * Creating a Request+ , targetVPNGatewaysDelete+ , TargetVPNGatewaysDelete++ -- * Request Lenses+ , tvgdProject+ , tvgdTargetVPNGateway+ , tvgdRegion+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.targetVpnGateways.delete@ method which the+-- 'TargetVPNGatewaysDelete' request conforms to.+type TargetVPNGatewaysDeleteResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "regions" :>+ Capture "region" Text :>+ "targetVpnGateways" :>+ Capture "targetVpnGateway" Text :>+ QueryParam "alt" AltJSON :> Delete '[JSON] Operation++-- | Deletes the specified TargetVpnGateway resource.+--+-- /See:/ 'targetVPNGatewaysDelete' smart constructor.+data TargetVPNGatewaysDelete = TargetVPNGatewaysDelete+ { _tvgdProject :: !Text+ , _tvgdTargetVPNGateway :: !Text+ , _tvgdRegion :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TargetVPNGatewaysDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tvgdProject'+--+-- * 'tvgdTargetVPNGateway'+--+-- * 'tvgdRegion'+targetVPNGatewaysDelete+ :: Text -- ^ 'tvgdProject'+ -> Text -- ^ 'tvgdTargetVPNGateway'+ -> Text -- ^ 'tvgdRegion'+ -> TargetVPNGatewaysDelete+targetVPNGatewaysDelete pTvgdProject_ pTvgdTargetVPNGateway_ pTvgdRegion_ =+ TargetVPNGatewaysDelete+ { _tvgdProject = pTvgdProject_+ , _tvgdTargetVPNGateway = pTvgdTargetVPNGateway_+ , _tvgdRegion = pTvgdRegion_+ }++-- | Project ID for this request.+tvgdProject :: Lens' TargetVPNGatewaysDelete Text+tvgdProject+ = lens _tvgdProject (\ s a -> s{_tvgdProject = a})++-- | Name of the TargetVpnGateway resource to delete.+tvgdTargetVPNGateway :: Lens' TargetVPNGatewaysDelete Text+tvgdTargetVPNGateway+ = lens _tvgdTargetVPNGateway+ (\ s a -> s{_tvgdTargetVPNGateway = a})++-- | The 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{..}+ = go _tvgdProject _tvgdRegion _tvgdTargetVPNGateway+ (Just AltJSON)+ computeService+ where go+ = buildClient+ (Proxy :: Proxy TargetVPNGatewaysDeleteResource)+ mempty
+ gen/Network/Google/Resource/Compute/TargetVPNGateways/Get.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.TargetVPNGateways.Get+-- 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)+--+-- Returns the specified TargetVpnGateway resource.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.targetVpnGateways.get@.+module Network.Google.Resource.Compute.TargetVPNGateways.Get+ (+ -- * REST Resource+ TargetVPNGatewaysGetResource++ -- * Creating a Request+ , targetVPNGatewaysGet+ , TargetVPNGatewaysGet++ -- * Request Lenses+ , tvggProject+ , tvggTargetVPNGateway+ , tvggRegion+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.targetVpnGateways.get@ method which the+-- 'TargetVPNGatewaysGet' request conforms to.+type TargetVPNGatewaysGetResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "regions" :>+ Capture "region" Text :>+ "targetVpnGateways" :>+ Capture "targetVpnGateway" Text :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] TargetVPNGateway++-- | Returns the specified TargetVpnGateway resource.+--+-- /See:/ 'targetVPNGatewaysGet' smart constructor.+data TargetVPNGatewaysGet = TargetVPNGatewaysGet+ { _tvggProject :: !Text+ , _tvggTargetVPNGateway :: !Text+ , _tvggRegion :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TargetVPNGatewaysGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tvggProject'+--+-- * 'tvggTargetVPNGateway'+--+-- * 'tvggRegion'+targetVPNGatewaysGet+ :: Text -- ^ 'tvggProject'+ -> Text -- ^ 'tvggTargetVPNGateway'+ -> Text -- ^ 'tvggRegion'+ -> TargetVPNGatewaysGet+targetVPNGatewaysGet pTvggProject_ pTvggTargetVPNGateway_ pTvggRegion_ =+ TargetVPNGatewaysGet+ { _tvggProject = pTvggProject_+ , _tvggTargetVPNGateway = pTvggTargetVPNGateway_+ , _tvggRegion = pTvggRegion_+ }++-- | Project ID for this request.+tvggProject :: Lens' TargetVPNGatewaysGet Text+tvggProject+ = lens _tvggProject (\ s a -> s{_tvggProject = a})++-- | Name of the TargetVpnGateway resource to return.+tvggTargetVPNGateway :: Lens' TargetVPNGatewaysGet Text+tvggTargetVPNGateway+ = lens _tvggTargetVPNGateway+ (\ s a -> s{_tvggTargetVPNGateway = a})++-- | The 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{..}+ = go _tvggProject _tvggRegion _tvggTargetVPNGateway+ (Just AltJSON)+ computeService+ where go+ = buildClient+ (Proxy :: Proxy TargetVPNGatewaysGetResource)+ mempty
+ gen/Network/Google/Resource/Compute/TargetVPNGateways/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.TargetVPNGateways.Insert+-- 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)+--+-- Creates a TargetVpnGateway resource in the specified project and region+-- using the data included in the request.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.targetVpnGateways.insert@.+module Network.Google.Resource.Compute.TargetVPNGateways.Insert+ (+ -- * REST Resource+ TargetVPNGatewaysInsertResource++ -- * Creating a Request+ , targetVPNGatewaysInsert+ , TargetVPNGatewaysInsert++ -- * Request Lenses+ , tvgiProject+ , tvgiPayload+ , tvgiRegion+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.targetVpnGateways.insert@ method which the+-- 'TargetVPNGatewaysInsert' request conforms to.+type TargetVPNGatewaysInsertResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "regions" :>+ Capture "region" Text :>+ "targetVpnGateways" :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] TargetVPNGateway :>+ Post '[JSON] Operation++-- | Creates a TargetVpnGateway resource in the specified project and region+-- using the data included in the request.+--+-- /See:/ 'targetVPNGatewaysInsert' smart constructor.+data TargetVPNGatewaysInsert = TargetVPNGatewaysInsert+ { _tvgiProject :: !Text+ , _tvgiPayload :: !TargetVPNGateway+ , _tvgiRegion :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TargetVPNGatewaysInsert' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tvgiProject'+--+-- * 'tvgiPayload'+--+-- * 'tvgiRegion'+targetVPNGatewaysInsert+ :: Text -- ^ 'tvgiProject'+ -> TargetVPNGateway -- ^ 'tvgiPayload'+ -> Text -- ^ 'tvgiRegion'+ -> TargetVPNGatewaysInsert+targetVPNGatewaysInsert pTvgiProject_ pTvgiPayload_ pTvgiRegion_ =+ TargetVPNGatewaysInsert+ { _tvgiProject = pTvgiProject_+ , _tvgiPayload = pTvgiPayload_+ , _tvgiRegion = pTvgiRegion_+ }++-- | Project ID for this request.+tvgiProject :: Lens' TargetVPNGatewaysInsert Text+tvgiProject+ = lens _tvgiProject (\ s a -> s{_tvgiProject = a})++-- | Multipart request metadata.+tvgiPayload :: Lens' TargetVPNGatewaysInsert TargetVPNGateway+tvgiPayload+ = lens _tvgiPayload (\ s a -> s{_tvgiPayload = a})++-- | The 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{..}+ = go _tvgiProject _tvgiRegion (Just AltJSON)+ _tvgiPayload+ computeService+ where go+ = buildClient+ (Proxy :: Proxy TargetVPNGatewaysInsertResource)+ mempty
+ gen/Network/Google/Resource/Compute/TargetVPNGateways/List.hs view
@@ -0,0 +1,152 @@+{-# 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.TargetVPNGateways.List+-- 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)+--+-- Retrieves the list of TargetVpnGateway resources 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+ (+ -- * REST Resource+ TargetVPNGatewaysListResource++ -- * Creating a Request+ , targetVPNGatewaysList+ , TargetVPNGatewaysList++ -- * Request Lenses+ , tvglProject+ , tvglFilter+ , tvglRegion+ , tvglPageToken+ , tvglMaxResults+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.targetVpnGateways.list@ method which the+-- 'TargetVPNGatewaysList' request conforms to.+type TargetVPNGatewaysListResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "regions" :>+ Capture "region" Text :>+ "targetVpnGateways" :>+ QueryParam "filter" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] TargetVPNGatewayList++-- | Retrieves the list of TargetVpnGateway resources available to the+-- specified project and region.+--+-- /See:/ 'targetVPNGatewaysList' smart constructor.+data TargetVPNGatewaysList = TargetVPNGatewaysList+ { _tvglProject :: !Text+ , _tvglFilter :: !(Maybe Text)+ , _tvglRegion :: !Text+ , _tvglPageToken :: !(Maybe Text)+ , _tvglMaxResults :: !(Textual Word32)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TargetVPNGatewaysList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tvglProject'+--+-- * 'tvglFilter'+--+-- * 'tvglRegion'+--+-- * 'tvglPageToken'+--+-- * 'tvglMaxResults'+targetVPNGatewaysList+ :: Text -- ^ 'tvglProject'+ -> Text -- ^ 'tvglRegion'+ -> TargetVPNGatewaysList+targetVPNGatewaysList pTvglProject_ pTvglRegion_ =+ TargetVPNGatewaysList+ { _tvglProject = pTvglProject_+ , _tvglFilter = Nothing+ , _tvglRegion = pTvglRegion_+ , _tvglPageToken = Nothing+ , _tvglMaxResults = 500+ }++-- | Project ID for this request.+tvglProject :: Lens' TargetVPNGatewaysList Text+tvglProject+ = 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+-- 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.+tvglFilter :: Lens' TargetVPNGatewaysList (Maybe Text)+tvglFilter+ = lens _tvglFilter (\ s a -> s{_tvglFilter = a})++-- | The 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.+tvglPageToken :: Lens' TargetVPNGatewaysList (Maybe Text)+tvglPageToken+ = lens _tvglPageToken+ (\ s a -> s{_tvglPageToken = a})++-- | Maximum count of results to be returned.+tvglMaxResults :: Lens' TargetVPNGatewaysList Word32+tvglMaxResults+ = lens _tvglMaxResults+ (\ s a -> s{_tvglMaxResults = a})+ . _Coerce++instance GoogleRequest TargetVPNGatewaysList where+ type Rs TargetVPNGatewaysList = TargetVPNGatewayList+ requestClient TargetVPNGatewaysList{..}+ = go _tvglProject _tvglRegion _tvglFilter+ _tvglPageToken+ (Just _tvglMaxResults)+ (Just AltJSON)+ computeService+ where go+ = buildClient+ (Proxy :: Proxy TargetVPNGatewaysListResource)+ mempty
+ gen/Network/Google/Resource/Compute/URLMaps/Delete.hs view
@@ -0,0 +1,97 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.Compute.URLMaps.Delete+-- 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)+--+-- Deletes the specified UrlMap resource.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.urlMaps.delete@.+module Network.Google.Resource.Compute.URLMaps.Delete+ (+ -- * REST Resource+ URLMapsDeleteResource++ -- * Creating a Request+ , urlMapsDelete+ , URLMapsDelete++ -- * Request Lenses+ , umdURLMap+ , umdProject+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.urlMaps.delete@ method which the+-- 'URLMapsDelete' request conforms to.+type URLMapsDeleteResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "global" :>+ "urlMaps" :>+ Capture "urlMap" Text :>+ QueryParam "alt" AltJSON :> Delete '[JSON] Operation++-- | Deletes the specified UrlMap resource.+--+-- /See:/ 'urlMapsDelete' smart constructor.+data URLMapsDelete = URLMapsDelete+ { _umdURLMap :: !Text+ , _umdProject :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'URLMapsDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'umdURLMap'+--+-- * 'umdProject'+urlMapsDelete+ :: Text -- ^ 'umdURLMap'+ -> Text -- ^ 'umdProject'+ -> URLMapsDelete+urlMapsDelete pUmdURLMap_ pUmdProject_ =+ URLMapsDelete+ { _umdURLMap = pUmdURLMap_+ , _umdProject = pUmdProject_+ }++-- | Name of the UrlMap resource to delete.+umdURLMap :: Lens' URLMapsDelete Text+umdURLMap+ = lens _umdURLMap (\ s a -> s{_umdURLMap = a})++-- | Name of the project scoping this request.+umdProject :: Lens' URLMapsDelete Text+umdProject+ = lens _umdProject (\ s a -> s{_umdProject = a})++instance GoogleRequest URLMapsDelete where+ type Rs URLMapsDelete = Operation+ requestClient URLMapsDelete{..}+ = go _umdProject _umdURLMap (Just AltJSON)+ computeService+ where go+ = buildClient (Proxy :: Proxy URLMapsDeleteResource)+ mempty
+ gen/Network/Google/Resource/Compute/URLMaps/Get.hs view
@@ -0,0 +1,97 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.Compute.URLMaps.Get+-- 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)+--+-- Returns the specified UrlMap resource.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.urlMaps.get@.+module Network.Google.Resource.Compute.URLMaps.Get+ (+ -- * REST Resource+ URLMapsGetResource++ -- * Creating a Request+ , urlMapsGet+ , URLMapsGet++ -- * Request Lenses+ , umgURLMap+ , umgProject+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.urlMaps.get@ method which the+-- 'URLMapsGet' request conforms to.+type URLMapsGetResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "global" :>+ "urlMaps" :>+ Capture "urlMap" Text :>+ QueryParam "alt" AltJSON :> Get '[JSON] URLMap++-- | Returns the specified UrlMap resource.+--+-- /See:/ 'urlMapsGet' smart constructor.+data URLMapsGet = URLMapsGet+ { _umgURLMap :: !Text+ , _umgProject :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'URLMapsGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'umgURLMap'+--+-- * 'umgProject'+urlMapsGet+ :: Text -- ^ 'umgURLMap'+ -> Text -- ^ 'umgProject'+ -> URLMapsGet+urlMapsGet pUmgURLMap_ pUmgProject_ =+ URLMapsGet+ { _umgURLMap = pUmgURLMap_+ , _umgProject = pUmgProject_+ }++-- | Name of the UrlMap resource to return.+umgURLMap :: Lens' URLMapsGet Text+umgURLMap+ = lens _umgURLMap (\ s a -> s{_umgURLMap = a})++-- | Name of the project scoping this request.+umgProject :: Lens' URLMapsGet Text+umgProject+ = lens _umgProject (\ s a -> s{_umgProject = a})++instance GoogleRequest URLMapsGet where+ type Rs URLMapsGet = URLMap+ requestClient URLMapsGet{..}+ = go _umgProject _umgURLMap (Just AltJSON)+ computeService+ where go+ = buildClient (Proxy :: Proxy URLMapsGetResource)+ mempty
+ gen/Network/Google/Resource/Compute/URLMaps/Insert.hs view
@@ -0,0 +1,99 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.Compute.URLMaps.Insert+-- 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)+--+-- Creates a UrlMap 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.urlMaps.insert@.+module Network.Google.Resource.Compute.URLMaps.Insert+ (+ -- * REST Resource+ URLMapsInsertResource++ -- * Creating a Request+ , urlMapsInsert+ , URLMapsInsert++ -- * Request Lenses+ , umiProject+ , umiPayload+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.urlMaps.insert@ method which the+-- 'URLMapsInsert' request conforms to.+type URLMapsInsertResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "global" :>+ "urlMaps" :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] URLMap :> Post '[JSON] Operation++-- | Creates a UrlMap resource in the specified project using the data+-- included in the request.+--+-- /See:/ 'urlMapsInsert' smart constructor.+data URLMapsInsert = URLMapsInsert+ { _umiProject :: !Text+ , _umiPayload :: !URLMap+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'URLMapsInsert' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'umiProject'+--+-- * 'umiPayload'+urlMapsInsert+ :: Text -- ^ 'umiProject'+ -> URLMap -- ^ 'umiPayload'+ -> URLMapsInsert+urlMapsInsert pUmiProject_ pUmiPayload_ =+ URLMapsInsert+ { _umiProject = pUmiProject_+ , _umiPayload = pUmiPayload_+ }++-- | Name of the project scoping this request.+umiProject :: Lens' URLMapsInsert Text+umiProject+ = lens _umiProject (\ s a -> s{_umiProject = a})++-- | Multipart request metadata.+umiPayload :: Lens' URLMapsInsert URLMap+umiPayload+ = lens _umiPayload (\ s a -> s{_umiPayload = a})++instance GoogleRequest URLMapsInsert where+ type Rs URLMapsInsert = Operation+ requestClient URLMapsInsert{..}+ = go _umiProject (Just AltJSON) _umiPayload+ computeService+ where go+ = buildClient (Proxy :: Proxy URLMapsInsertResource)+ mempty
+ gen/Network/Google/Resource/Compute/URLMaps/List.hs view
@@ -0,0 +1,136 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.Compute.URLMaps.List+-- 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)+--+-- Retrieves the list of UrlMap resources available to the specified+-- project.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.urlMaps.list@.+module Network.Google.Resource.Compute.URLMaps.List+ (+ -- * REST Resource+ URLMapsListResource++ -- * Creating a Request+ , urlMapsList+ , URLMapsList++ -- * Request Lenses+ , umlProject+ , umlFilter+ , umlPageToken+ , umlMaxResults+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.urlMaps.list@ method which the+-- 'URLMapsList' request conforms to.+type URLMapsListResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "global" :>+ "urlMaps" :>+ QueryParam "filter" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :> Get '[JSON] URLMapList++-- | Retrieves the list of UrlMap resources available to the specified+-- project.+--+-- /See:/ 'urlMapsList' smart constructor.+data URLMapsList = URLMapsList+ { _umlProject :: !Text+ , _umlFilter :: !(Maybe Text)+ , _umlPageToken :: !(Maybe Text)+ , _umlMaxResults :: !(Textual Word32)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'URLMapsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'umlProject'+--+-- * 'umlFilter'+--+-- * 'umlPageToken'+--+-- * 'umlMaxResults'+urlMapsList+ :: Text -- ^ 'umlProject'+ -> URLMapsList+urlMapsList pUmlProject_ =+ URLMapsList+ { _umlProject = pUmlProject_+ , _umlFilter = Nothing+ , _umlPageToken = Nothing+ , _umlMaxResults = 500+ }++-- | Name of the project scoping 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+-- 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.+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.+umlPageToken :: Lens' URLMapsList (Maybe Text)+umlPageToken+ = lens _umlPageToken (\ s a -> s{_umlPageToken = a})++-- | Maximum count of results to be returned.+umlMaxResults :: Lens' URLMapsList Word32+umlMaxResults+ = lens _umlMaxResults+ (\ s a -> s{_umlMaxResults = a})+ . _Coerce++instance GoogleRequest URLMapsList where+ type Rs URLMapsList = URLMapList+ requestClient URLMapsList{..}+ = go _umlProject _umlFilter _umlPageToken+ (Just _umlMaxResults)+ (Just AltJSON)+ computeService+ where go+ = buildClient (Proxy :: Proxy URLMapsListResource)+ mempty
+ gen/Network/Google/Resource/Compute/URLMaps/Patch.hs view
@@ -0,0 +1,112 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.Compute.URLMaps.Patch+-- 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)+--+-- Update 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@.+module Network.Google.Resource.Compute.URLMaps.Patch+ (+ -- * REST Resource+ URLMapsPatchResource++ -- * Creating a Request+ , urlMapsPatch+ , URLMapsPatch++ -- * Request Lenses+ , umpURLMap+ , umpProject+ , umpPayload+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.urlMaps.patch@ method which the+-- 'URLMapsPatch' request conforms to.+type URLMapsPatchResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "global" :>+ "urlMaps" :>+ Capture "urlMap" Text :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] URLMap :> Patch '[JSON] Operation++-- | Update the entire content of the UrlMap resource. This method supports+-- patch semantics.+--+-- /See:/ 'urlMapsPatch' smart constructor.+data URLMapsPatch = URLMapsPatch+ { _umpURLMap :: !Text+ , _umpProject :: !Text+ , _umpPayload :: !URLMap+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'URLMapsPatch' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'umpURLMap'+--+-- * 'umpProject'+--+-- * 'umpPayload'+urlMapsPatch+ :: Text -- ^ 'umpURLMap'+ -> Text -- ^ 'umpProject'+ -> URLMap -- ^ 'umpPayload'+ -> URLMapsPatch+urlMapsPatch pUmpURLMap_ pUmpProject_ pUmpPayload_ =+ URLMapsPatch+ { _umpURLMap = pUmpURLMap_+ , _umpProject = pUmpProject_+ , _umpPayload = pUmpPayload_+ }++-- | Name of the UrlMap resource to update.+umpURLMap :: Lens' URLMapsPatch Text+umpURLMap+ = lens _umpURLMap (\ s a -> s{_umpURLMap = a})++-- | Name of the project scoping this request.+umpProject :: Lens' URLMapsPatch Text+umpProject+ = lens _umpProject (\ s a -> s{_umpProject = a})++-- | Multipart request metadata.+umpPayload :: Lens' URLMapsPatch URLMap+umpPayload+ = lens _umpPayload (\ s a -> s{_umpPayload = a})++instance GoogleRequest URLMapsPatch where+ type Rs URLMapsPatch = Operation+ requestClient URLMapsPatch{..}+ = go _umpProject _umpURLMap (Just AltJSON)+ _umpPayload+ computeService+ where go+ = buildClient (Proxy :: Proxy URLMapsPatchResource)+ mempty
+ gen/Network/Google/Resource/Compute/URLMaps/Update.hs view
@@ -0,0 +1,110 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.Compute.URLMaps.Update+-- 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)+--+-- Update 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+ (+ -- * REST Resource+ URLMapsUpdateResource++ -- * Creating a Request+ , urlMapsUpdate+ , URLMapsUpdate++ -- * Request Lenses+ , umuURLMap+ , umuProject+ , umuPayload+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.urlMaps.update@ method which the+-- 'URLMapsUpdate' request conforms to.+type URLMapsUpdateResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "global" :>+ "urlMaps" :>+ Capture "urlMap" Text :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] URLMap :> Put '[JSON] Operation++-- | Update the entire content of the UrlMap resource.+--+-- /See:/ 'urlMapsUpdate' smart constructor.+data URLMapsUpdate = URLMapsUpdate+ { _umuURLMap :: !Text+ , _umuProject :: !Text+ , _umuPayload :: !URLMap+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'URLMapsUpdate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'umuURLMap'+--+-- * 'umuProject'+--+-- * 'umuPayload'+urlMapsUpdate+ :: Text -- ^ 'umuURLMap'+ -> Text -- ^ 'umuProject'+ -> URLMap -- ^ 'umuPayload'+ -> URLMapsUpdate+urlMapsUpdate pUmuURLMap_ pUmuProject_ pUmuPayload_ =+ URLMapsUpdate+ { _umuURLMap = pUmuURLMap_+ , _umuProject = pUmuProject_+ , _umuPayload = pUmuPayload_+ }++-- | Name of the UrlMap resource to update.+umuURLMap :: Lens' URLMapsUpdate Text+umuURLMap+ = lens _umuURLMap (\ s a -> s{_umuURLMap = a})++-- | Name of the project scoping this request.+umuProject :: Lens' URLMapsUpdate Text+umuProject+ = lens _umuProject (\ s a -> s{_umuProject = a})++-- | Multipart request metadata.+umuPayload :: Lens' URLMapsUpdate URLMap+umuPayload+ = lens _umuPayload (\ s a -> s{_umuPayload = a})++instance GoogleRequest URLMapsUpdate where+ type Rs URLMapsUpdate = Operation+ requestClient URLMapsUpdate{..}+ = go _umuProject _umuURLMap (Just AltJSON)+ _umuPayload+ computeService+ where go+ = buildClient (Proxy :: Proxy URLMapsUpdateResource)+ mempty
+ gen/Network/Google/Resource/Compute/URLMaps/Validate.hs view
@@ -0,0 +1,117 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.Compute.URLMaps.Validate+-- 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)+--+-- Run 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:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.urlMaps.validate@.+module Network.Google.Resource.Compute.URLMaps.Validate+ (+ -- * REST Resource+ URLMapsValidateResource++ -- * Creating a Request+ , urlMapsValidate+ , URLMapsValidate++ -- * Request Lenses+ , umvURLMap+ , umvProject+ , umvPayload+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.urlMaps.validate@ method which the+-- 'URLMapsValidate' request conforms to.+type URLMapsValidateResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "global" :>+ "urlMaps" :>+ Capture "urlMap" Text :>+ "validate" :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] URLMapsValidateRequest :>+ Post '[JSON] URLMapsValidateResponse++-- | Run 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+ { _umvURLMap :: !Text+ , _umvProject :: !Text+ , _umvPayload :: !URLMapsValidateRequest+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'URLMapsValidate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'umvURLMap'+--+-- * 'umvProject'+--+-- * 'umvPayload'+urlMapsValidate+ :: Text -- ^ 'umvURLMap'+ -> Text -- ^ 'umvProject'+ -> URLMapsValidateRequest -- ^ 'umvPayload'+ -> URLMapsValidate+urlMapsValidate pUmvURLMap_ pUmvProject_ pUmvPayload_ =+ URLMapsValidate+ { _umvURLMap = pUmvURLMap_+ , _umvProject = pUmvProject_+ , _umvPayload = pUmvPayload_+ }++-- | Name of the UrlMap resource to be validated as.+umvURLMap :: Lens' URLMapsValidate Text+umvURLMap+ = lens _umvURLMap (\ s a -> s{_umvURLMap = a})++-- | Name of the project scoping this request.+umvProject :: Lens' URLMapsValidate Text+umvProject+ = lens _umvProject (\ s a -> s{_umvProject = a})++-- | Multipart request metadata.+umvPayload :: Lens' URLMapsValidate URLMapsValidateRequest+umvPayload+ = lens _umvPayload (\ s a -> s{_umvPayload = a})++instance GoogleRequest URLMapsValidate where+ type Rs URLMapsValidate = URLMapsValidateResponse+ requestClient URLMapsValidate{..}+ = go _umvProject _umvURLMap (Just AltJSON)+ _umvPayload+ computeService+ where go+ = buildClient+ (Proxy :: Proxy URLMapsValidateResource)+ mempty
+ gen/Network/Google/Resource/Compute/VPNTunnels/AggregatedList.hs view
@@ -0,0 +1,138 @@+{-# 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.VPNTunnels.AggregatedList+-- 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)+--+-- Retrieves the list of VPN tunnels grouped by scope.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.vpnTunnels.aggregatedList@.+module Network.Google.Resource.Compute.VPNTunnels.AggregatedList+ (+ -- * REST Resource+ VPNTunnelsAggregatedListResource++ -- * Creating a Request+ , vpnTunnelsAggregatedList+ , VPNTunnelsAggregatedList++ -- * Request Lenses+ , vtalProject+ , vtalFilter+ , vtalPageToken+ , vtalMaxResults+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.vpnTunnels.aggregatedList@ method which the+-- 'VPNTunnelsAggregatedList' request conforms to.+type VPNTunnelsAggregatedListResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "aggregated" :>+ "vpnTunnels" :>+ QueryParam "filter" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] VPNTunnelAggregatedList++-- | Retrieves the list of VPN tunnels grouped by scope.+--+-- /See:/ 'vpnTunnelsAggregatedList' smart constructor.+data VPNTunnelsAggregatedList = VPNTunnelsAggregatedList+ { _vtalProject :: !Text+ , _vtalFilter :: !(Maybe Text)+ , _vtalPageToken :: !(Maybe Text)+ , _vtalMaxResults :: !(Textual Word32)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'VPNTunnelsAggregatedList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'vtalProject'+--+-- * 'vtalFilter'+--+-- * 'vtalPageToken'+--+-- * 'vtalMaxResults'+vpnTunnelsAggregatedList+ :: Text -- ^ 'vtalProject'+ -> VPNTunnelsAggregatedList+vpnTunnelsAggregatedList pVtalProject_ =+ VPNTunnelsAggregatedList+ { _vtalProject = pVtalProject_+ , _vtalFilter = Nothing+ , _vtalPageToken = Nothing+ , _vtalMaxResults = 500+ }++-- | Project ID for this request.+vtalProject :: Lens' VPNTunnelsAggregatedList Text+vtalProject+ = 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+-- 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.+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.+vtalPageToken :: Lens' VPNTunnelsAggregatedList (Maybe Text)+vtalPageToken+ = lens _vtalPageToken+ (\ s a -> s{_vtalPageToken = a})++-- | Maximum count of results to be returned.+vtalMaxResults :: Lens' VPNTunnelsAggregatedList Word32+vtalMaxResults+ = lens _vtalMaxResults+ (\ s a -> s{_vtalMaxResults = a})+ . _Coerce++instance GoogleRequest VPNTunnelsAggregatedList where+ type Rs VPNTunnelsAggregatedList =+ VPNTunnelAggregatedList+ requestClient VPNTunnelsAggregatedList{..}+ = go _vtalProject _vtalFilter _vtalPageToken+ (Just _vtalMaxResults)+ (Just AltJSON)+ computeService+ where go+ = buildClient+ (Proxy :: Proxy VPNTunnelsAggregatedListResource)+ mempty
+ gen/Network/Google/Resource/Compute/VPNTunnels/Delete.hs view
@@ -0,0 +1,111 @@+{-# 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.VPNTunnels.Delete+-- 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)+--+-- Deletes the specified VpnTunnel resource.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.vpnTunnels.delete@.+module Network.Google.Resource.Compute.VPNTunnels.Delete+ (+ -- * REST Resource+ VPNTunnelsDeleteResource++ -- * Creating a Request+ , vpnTunnelsDelete+ , VPNTunnelsDelete++ -- * Request Lenses+ , vtdProject+ , vtdVPNTunnel+ , vtdRegion+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.vpnTunnels.delete@ method which the+-- 'VPNTunnelsDelete' request conforms to.+type VPNTunnelsDeleteResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "regions" :>+ Capture "region" Text :>+ "vpnTunnels" :>+ Capture "vpnTunnel" Text :>+ QueryParam "alt" AltJSON :> Delete '[JSON] Operation++-- | Deletes the specified VpnTunnel resource.+--+-- /See:/ 'vpnTunnelsDelete' smart constructor.+data VPNTunnelsDelete = VPNTunnelsDelete+ { _vtdProject :: !Text+ , _vtdVPNTunnel :: !Text+ , _vtdRegion :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'VPNTunnelsDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'vtdProject'+--+-- * 'vtdVPNTunnel'+--+-- * 'vtdRegion'+vpnTunnelsDelete+ :: Text -- ^ 'vtdProject'+ -> Text -- ^ 'vtdVPNTunnel'+ -> Text -- ^ 'vtdRegion'+ -> VPNTunnelsDelete+vpnTunnelsDelete pVtdProject_ pVtdVPNTunnel_ pVtdRegion_ =+ VPNTunnelsDelete+ { _vtdProject = pVtdProject_+ , _vtdVPNTunnel = pVtdVPNTunnel_+ , _vtdRegion = pVtdRegion_+ }++-- | Project ID for this request.+vtdProject :: Lens' VPNTunnelsDelete Text+vtdProject+ = lens _vtdProject (\ s a -> s{_vtdProject = a})++-- | Name of the VpnTunnel resource to delete.+vtdVPNTunnel :: Lens' VPNTunnelsDelete Text+vtdVPNTunnel+ = lens _vtdVPNTunnel (\ s a -> s{_vtdVPNTunnel = a})++-- | The 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{..}+ = go _vtdProject _vtdRegion _vtdVPNTunnel+ (Just AltJSON)+ computeService+ where go+ = buildClient+ (Proxy :: Proxy VPNTunnelsDeleteResource)+ mempty
+ gen/Network/Google/Resource/Compute/VPNTunnels/Get.hs view
@@ -0,0 +1,110 @@+{-# 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.VPNTunnels.Get+-- 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)+--+-- Returns the specified VpnTunnel resource.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.vpnTunnels.get@.+module Network.Google.Resource.Compute.VPNTunnels.Get+ (+ -- * REST Resource+ VPNTunnelsGetResource++ -- * Creating a Request+ , vpnTunnelsGet+ , VPNTunnelsGet++ -- * Request Lenses+ , vtgProject+ , vtgVPNTunnel+ , vtgRegion+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.vpnTunnels.get@ method which the+-- 'VPNTunnelsGet' request conforms to.+type VPNTunnelsGetResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "regions" :>+ Capture "region" Text :>+ "vpnTunnels" :>+ Capture "vpnTunnel" Text :>+ QueryParam "alt" AltJSON :> Get '[JSON] VPNTunnel++-- | Returns the specified VpnTunnel resource.+--+-- /See:/ 'vpnTunnelsGet' smart constructor.+data VPNTunnelsGet = VPNTunnelsGet+ { _vtgProject :: !Text+ , _vtgVPNTunnel :: !Text+ , _vtgRegion :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'VPNTunnelsGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'vtgProject'+--+-- * 'vtgVPNTunnel'+--+-- * 'vtgRegion'+vpnTunnelsGet+ :: Text -- ^ 'vtgProject'+ -> Text -- ^ 'vtgVPNTunnel'+ -> Text -- ^ 'vtgRegion'+ -> VPNTunnelsGet+vpnTunnelsGet pVtgProject_ pVtgVPNTunnel_ pVtgRegion_ =+ VPNTunnelsGet+ { _vtgProject = pVtgProject_+ , _vtgVPNTunnel = pVtgVPNTunnel_+ , _vtgRegion = pVtgRegion_+ }++-- | Project ID for this request.+vtgProject :: Lens' VPNTunnelsGet Text+vtgProject+ = lens _vtgProject (\ s a -> s{_vtgProject = a})++-- | Name of the VpnTunnel resource to return.+vtgVPNTunnel :: Lens' VPNTunnelsGet Text+vtgVPNTunnel+ = lens _vtgVPNTunnel (\ s a -> s{_vtgVPNTunnel = a})++-- | The 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{..}+ = go _vtgProject _vtgRegion _vtgVPNTunnel+ (Just AltJSON)+ computeService+ where go+ = buildClient (Proxy :: Proxy VPNTunnelsGetResource)+ mempty
+ gen/Network/Google/Resource/Compute/VPNTunnels/Insert.hs view
@@ -0,0 +1,113 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.Compute.VPNTunnels.Insert+-- 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)+--+-- Creates a VpnTunnel resource in the specified project and region using+-- the data included in the request.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.vpnTunnels.insert@.+module Network.Google.Resource.Compute.VPNTunnels.Insert+ (+ -- * REST Resource+ VPNTunnelsInsertResource++ -- * Creating a Request+ , vpnTunnelsInsert+ , VPNTunnelsInsert++ -- * Request Lenses+ , vtiProject+ , vtiPayload+ , vtiRegion+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.vpnTunnels.insert@ method which the+-- 'VPNTunnelsInsert' request conforms to.+type VPNTunnelsInsertResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "regions" :>+ Capture "region" Text :>+ "vpnTunnels" :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] VPNTunnel :> Post '[JSON] Operation++-- | Creates a VpnTunnel resource in the specified project and region using+-- the data included in the request.+--+-- /See:/ 'vpnTunnelsInsert' smart constructor.+data VPNTunnelsInsert = VPNTunnelsInsert+ { _vtiProject :: !Text+ , _vtiPayload :: !VPNTunnel+ , _vtiRegion :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'VPNTunnelsInsert' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'vtiProject'+--+-- * 'vtiPayload'+--+-- * 'vtiRegion'+vpnTunnelsInsert+ :: Text -- ^ 'vtiProject'+ -> VPNTunnel -- ^ 'vtiPayload'+ -> Text -- ^ 'vtiRegion'+ -> VPNTunnelsInsert+vpnTunnelsInsert pVtiProject_ pVtiPayload_ pVtiRegion_ =+ VPNTunnelsInsert+ { _vtiProject = pVtiProject_+ , _vtiPayload = pVtiPayload_+ , _vtiRegion = pVtiRegion_+ }++-- | Project ID for this request.+vtiProject :: Lens' VPNTunnelsInsert Text+vtiProject+ = lens _vtiProject (\ s a -> s{_vtiProject = a})++-- | Multipart request metadata.+vtiPayload :: Lens' VPNTunnelsInsert VPNTunnel+vtiPayload+ = lens _vtiPayload (\ s a -> s{_vtiPayload = a})++-- | The 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{..}+ = go _vtiProject _vtiRegion (Just AltJSON)+ _vtiPayload+ computeService+ where go+ = buildClient+ (Proxy :: Proxy VPNTunnelsInsertResource)+ mempty
+ gen/Network/Google/Resource/Compute/VPNTunnels/List.hs view
@@ -0,0 +1,148 @@+{-# 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.VPNTunnels.List+-- 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)+--+-- Retrieves the 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@.+module Network.Google.Resource.Compute.VPNTunnels.List+ (+ -- * REST Resource+ VPNTunnelsListResource++ -- * Creating a Request+ , vpnTunnelsList+ , VPNTunnelsList++ -- * Request Lenses+ , vtlProject+ , vtlFilter+ , vtlRegion+ , vtlPageToken+ , vtlMaxResults+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.vpnTunnels.list@ method which the+-- 'VPNTunnelsList' request conforms to.+type VPNTunnelsListResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "regions" :>+ Capture "region" Text :>+ "vpnTunnels" :>+ QueryParam "filter" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :> Get '[JSON] VPNTunnelList++-- | Retrieves the list of VpnTunnel resources contained in the specified+-- project and region.+--+-- /See:/ 'vpnTunnelsList' smart constructor.+data VPNTunnelsList = VPNTunnelsList+ { _vtlProject :: !Text+ , _vtlFilter :: !(Maybe Text)+ , _vtlRegion :: !Text+ , _vtlPageToken :: !(Maybe Text)+ , _vtlMaxResults :: !(Textual Word32)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'VPNTunnelsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'vtlProject'+--+-- * 'vtlFilter'+--+-- * 'vtlRegion'+--+-- * 'vtlPageToken'+--+-- * 'vtlMaxResults'+vpnTunnelsList+ :: Text -- ^ 'vtlProject'+ -> Text -- ^ 'vtlRegion'+ -> VPNTunnelsList+vpnTunnelsList pVtlProject_ pVtlRegion_ =+ VPNTunnelsList+ { _vtlProject = pVtlProject_+ , _vtlFilter = Nothing+ , _vtlRegion = pVtlRegion_+ , _vtlPageToken = Nothing+ , _vtlMaxResults = 500+ }++-- | Project ID for this request.+vtlProject :: Lens' VPNTunnelsList Text+vtlProject+ = 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+-- 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.+vtlFilter :: Lens' VPNTunnelsList (Maybe Text)+vtlFilter+ = lens _vtlFilter (\ s a -> s{_vtlFilter = a})++-- | The 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.+vtlPageToken :: Lens' VPNTunnelsList (Maybe Text)+vtlPageToken+ = lens _vtlPageToken (\ s a -> s{_vtlPageToken = a})++-- | Maximum count of results to be returned.+vtlMaxResults :: Lens' VPNTunnelsList Word32+vtlMaxResults+ = lens _vtlMaxResults+ (\ s a -> s{_vtlMaxResults = a})+ . _Coerce++instance GoogleRequest VPNTunnelsList where+ type Rs VPNTunnelsList = VPNTunnelList+ requestClient VPNTunnelsList{..}+ = go _vtlProject _vtlRegion _vtlFilter _vtlPageToken+ (Just _vtlMaxResults)+ (Just AltJSON)+ computeService+ where go+ = buildClient (Proxy :: Proxy VPNTunnelsListResource)+ mempty
+ gen/Network/Google/Resource/Compute/ZoneOperations/Delete.hs view
@@ -0,0 +1,110 @@+{-# 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.ZoneOperations.Delete+-- 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)+--+-- Deletes the specified zone-specific Operations resource.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.zoneOperations.delete@.+module Network.Google.Resource.Compute.ZoneOperations.Delete+ (+ -- * REST Resource+ ZoneOperationsDeleteResource++ -- * Creating a Request+ , zoneOperationsDelete+ , ZoneOperationsDelete++ -- * Request Lenses+ , zodProject+ , zodOperation+ , zodZone+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.zoneOperations.delete@ method which the+-- 'ZoneOperationsDelete' request conforms to.+type ZoneOperationsDeleteResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "zones" :>+ Capture "zone" Text :>+ "operations" :>+ Capture "operation" Text :>+ QueryParam "alt" AltJSON :> Delete '[JSON] ()++-- | Deletes the specified zone-specific Operations resource.+--+-- /See:/ 'zoneOperationsDelete' smart constructor.+data ZoneOperationsDelete = ZoneOperationsDelete+ { _zodProject :: !Text+ , _zodOperation :: !Text+ , _zodZone :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ZoneOperationsDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'zodProject'+--+-- * 'zodOperation'+--+-- * 'zodZone'+zoneOperationsDelete+ :: Text -- ^ 'zodProject'+ -> Text -- ^ 'zodOperation'+ -> Text -- ^ 'zodZone'+ -> ZoneOperationsDelete+zoneOperationsDelete pZodProject_ pZodOperation_ pZodZone_ =+ ZoneOperationsDelete+ { _zodProject = pZodProject_+ , _zodOperation = pZodOperation_+ , _zodZone = pZodZone_+ }++-- | Project ID for this request.+zodProject :: Lens' ZoneOperationsDelete Text+zodProject+ = lens _zodProject (\ s a -> s{_zodProject = a})++-- | Name of the Operations resource to delete.+zodOperation :: Lens' ZoneOperationsDelete Text+zodOperation+ = lens _zodOperation (\ s a -> s{_zodOperation = a})++-- | Name of the zone scoping this request.+zodZone :: Lens' ZoneOperationsDelete Text+zodZone = lens _zodZone (\ s a -> s{_zodZone = a})++instance GoogleRequest ZoneOperationsDelete where+ type Rs ZoneOperationsDelete = ()+ requestClient ZoneOperationsDelete{..}+ = go _zodProject _zodZone _zodOperation+ (Just AltJSON)+ computeService+ where go+ = buildClient+ (Proxy :: Proxy ZoneOperationsDeleteResource)+ mempty
+ gen/Network/Google/Resource/Compute/ZoneOperations/Get.hs view
@@ -0,0 +1,110 @@+{-# 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.ZoneOperations.Get+-- 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)+--+-- Retrieves the specified zone-specific Operations resource.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.zoneOperations.get@.+module Network.Google.Resource.Compute.ZoneOperations.Get+ (+ -- * REST Resource+ ZoneOperationsGetResource++ -- * Creating a Request+ , zoneOperationsGet+ , ZoneOperationsGet++ -- * Request Lenses+ , zogProject+ , zogOperation+ , zogZone+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.zoneOperations.get@ method which the+-- 'ZoneOperationsGet' request conforms to.+type ZoneOperationsGetResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "zones" :>+ Capture "zone" Text :>+ "operations" :>+ Capture "operation" Text :>+ QueryParam "alt" AltJSON :> Get '[JSON] Operation++-- | Retrieves the specified zone-specific Operations resource.+--+-- /See:/ 'zoneOperationsGet' smart constructor.+data ZoneOperationsGet = ZoneOperationsGet+ { _zogProject :: !Text+ , _zogOperation :: !Text+ , _zogZone :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ZoneOperationsGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'zogProject'+--+-- * 'zogOperation'+--+-- * 'zogZone'+zoneOperationsGet+ :: Text -- ^ 'zogProject'+ -> Text -- ^ 'zogOperation'+ -> Text -- ^ 'zogZone'+ -> ZoneOperationsGet+zoneOperationsGet pZogProject_ pZogOperation_ pZogZone_ =+ ZoneOperationsGet+ { _zogProject = pZogProject_+ , _zogOperation = pZogOperation_+ , _zogZone = pZogZone_+ }++-- | Project ID for this request.+zogProject :: Lens' ZoneOperationsGet Text+zogProject+ = lens _zogProject (\ s a -> s{_zogProject = a})++-- | Name of the Operations resource to return.+zogOperation :: Lens' ZoneOperationsGet Text+zogOperation+ = lens _zogOperation (\ s a -> s{_zogOperation = a})++-- | Name of the zone scoping this request.+zogZone :: Lens' ZoneOperationsGet Text+zogZone = lens _zogZone (\ s a -> s{_zogZone = a})++instance GoogleRequest ZoneOperationsGet where+ type Rs ZoneOperationsGet = Operation+ requestClient ZoneOperationsGet{..}+ = go _zogProject _zogZone _zogOperation+ (Just AltJSON)+ computeService+ where go+ = buildClient+ (Proxy :: Proxy ZoneOperationsGetResource)+ mempty
+ gen/Network/Google/Resource/Compute/ZoneOperations/List.hs view
@@ -0,0 +1,148 @@+{-# 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.ZoneOperations.List+-- 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)+--+-- Retrieves the 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@.+module Network.Google.Resource.Compute.ZoneOperations.List+ (+ -- * REST Resource+ ZoneOperationsListResource++ -- * Creating a Request+ , zoneOperationsList+ , ZoneOperationsList++ -- * Request Lenses+ , zolProject+ , zolZone+ , zolFilter+ , zolPageToken+ , zolMaxResults+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.zoneOperations.list@ method which the+-- 'ZoneOperationsList' request conforms to.+type ZoneOperationsListResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "zones" :>+ Capture "zone" Text :>+ "operations" :>+ QueryParam "filter" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :> Get '[JSON] OperationList++-- | Retrieves the list of Operation resources contained within the specified+-- zone.+--+-- /See:/ 'zoneOperationsList' smart constructor.+data ZoneOperationsList = ZoneOperationsList+ { _zolProject :: !Text+ , _zolZone :: !Text+ , _zolFilter :: !(Maybe Text)+ , _zolPageToken :: !(Maybe Text)+ , _zolMaxResults :: !(Textual Word32)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ZoneOperationsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'zolProject'+--+-- * 'zolZone'+--+-- * 'zolFilter'+--+-- * 'zolPageToken'+--+-- * 'zolMaxResults'+zoneOperationsList+ :: Text -- ^ 'zolProject'+ -> Text -- ^ 'zolZone'+ -> ZoneOperationsList+zoneOperationsList pZolProject_ pZolZone_ =+ ZoneOperationsList+ { _zolProject = pZolProject_+ , _zolZone = pZolZone_+ , _zolFilter = Nothing+ , _zolPageToken = Nothing+ , _zolMaxResults = 500+ }++-- | Project ID for this request.+zolProject :: Lens' ZoneOperationsList Text+zolProject+ = lens _zolProject (\ s a -> s{_zolProject = a})++-- | Name of the zone scoping this 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+-- 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.+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.+zolPageToken :: Lens' ZoneOperationsList (Maybe Text)+zolPageToken+ = lens _zolPageToken (\ s a -> s{_zolPageToken = a})++-- | Maximum count of results to be returned.+zolMaxResults :: Lens' ZoneOperationsList Word32+zolMaxResults+ = lens _zolMaxResults+ (\ s a -> s{_zolMaxResults = a})+ . _Coerce++instance GoogleRequest ZoneOperationsList where+ type Rs ZoneOperationsList = OperationList+ requestClient ZoneOperationsList{..}+ = go _zolProject _zolZone _zolFilter _zolPageToken+ (Just _zolMaxResults)+ (Just AltJSON)+ computeService+ where go+ = buildClient+ (Proxy :: Proxy ZoneOperationsListResource)+ mempty
+ gen/Network/Google/Resource/Compute/Zones/Get.hs view
@@ -0,0 +1,94 @@+{-# 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.Zones.Get+-- 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)+--+-- Returns the specified zone resource.+--+-- /See:/ <https://developers.google.com/compute/docs/reference/latest/ Compute Engine API Reference> for @compute.zones.get@.+module Network.Google.Resource.Compute.Zones.Get+ (+ -- * REST Resource+ ZonesGetResource++ -- * Creating a Request+ , zonesGet+ , ZonesGet++ -- * Request Lenses+ , zgProject+ , zgZone+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.zones.get@ method which the+-- 'ZonesGet' request conforms to.+type ZonesGetResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "zones" :>+ Capture "zone" Text :>+ QueryParam "alt" AltJSON :> Get '[JSON] Zone++-- | Returns the specified zone resource.+--+-- /See:/ 'zonesGet' smart constructor.+data ZonesGet = ZonesGet+ { _zgProject :: !Text+ , _zgZone :: !Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ZonesGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'zgProject'+--+-- * 'zgZone'+zonesGet+ :: Text -- ^ 'zgProject'+ -> Text -- ^ 'zgZone'+ -> ZonesGet+zonesGet pZgProject_ pZgZone_ =+ ZonesGet+ { _zgProject = pZgProject_+ , _zgZone = pZgZone_+ }++-- | Project ID for this request.+zgProject :: Lens' ZonesGet Text+zgProject+ = lens _zgProject (\ s a -> s{_zgProject = a})++-- | Name of the zone resource to return.+zgZone :: Lens' ZonesGet Text+zgZone = lens _zgZone (\ s a -> s{_zgZone = a})++instance GoogleRequest ZonesGet where+ type Rs ZonesGet = Zone+ requestClient ZonesGet{..}+ = go _zgProject _zgZone (Just AltJSON) computeService+ where go+ = buildClient (Proxy :: Proxy ZonesGetResource)+ mempty
+ gen/Network/Google/Resource/Compute/Zones/List.hs view
@@ -0,0 +1,131 @@+{-# 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.Zones.List+-- 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)+--+-- 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+ (+ -- * REST Resource+ ZonesListResource++ -- * Creating a Request+ , zonesList+ , ZonesList++ -- * Request Lenses+ , zlProject+ , zlFilter+ , zlPageToken+ , zlMaxResults+ ) where++import Network.Google.Compute.Types+import Network.Google.Prelude++-- | A resource alias for @compute.zones.list@ method which the+-- 'ZonesList' request conforms to.+type ZonesListResource =+ "compute" :>+ "v1" :>+ "projects" :>+ Capture "project" Text :>+ "zones" :>+ QueryParam "filter" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "maxResults" (Textual Word32) :>+ QueryParam "alt" AltJSON :> Get '[JSON] ZoneList++-- | Retrieves the list of zone resources available to the specified project.+--+-- /See:/ 'zonesList' smart constructor.+data ZonesList = ZonesList+ { _zlProject :: !Text+ , _zlFilter :: !(Maybe Text)+ , _zlPageToken :: !(Maybe Text)+ , _zlMaxResults :: !(Textual Word32)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ZonesList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'zlProject'+--+-- * 'zlFilter'+--+-- * 'zlPageToken'+--+-- * 'zlMaxResults'+zonesList+ :: Text -- ^ 'zlProject'+ -> ZonesList+zonesList pZlProject_ =+ ZonesList+ { _zlProject = pZlProject_+ , _zlFilter = Nothing+ , _zlPageToken = Nothing+ , _zlMaxResults = 500+ }++-- | Project ID for this request.+zlProject :: Lens' ZonesList Text+zlProject+ = 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+-- 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.+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.+zlPageToken :: Lens' ZonesList (Maybe Text)+zlPageToken+ = lens _zlPageToken (\ s a -> s{_zlPageToken = a})++-- | Maximum count of results to be returned.+zlMaxResults :: Lens' ZonesList Word32+zlMaxResults+ = lens _zlMaxResults (\ s a -> s{_zlMaxResults = a})+ . _Coerce++instance GoogleRequest ZonesList where+ type Rs ZonesList = ZoneList+ requestClient ZonesList{..}+ = go _zlProject _zlFilter _zlPageToken+ (Just _zlMaxResults)+ (Just AltJSON)+ computeService+ where go+ = buildClient (Proxy :: Proxy ZonesListResource)+ mempty
+ gogol-compute.cabal view
@@ -0,0 +1,235 @@+name: gogol-compute+version: 0.0.1+synopsis: Google Compute Engine SDK.+homepage: https://github.com/brendanhay/gogol+bug-reports: https://github.com/brendanhay/gogol/issues+license: OtherLicense+license-file: LICENSE+author: Brendan Hay+maintainer: Brendan Hay <brendan.g.hay@gmail.com>+copyright: Copyright (c) 2015 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.+ .+ /Warning:/ This is an experimental prototype/preview release which is still+ under exploratory development and not intended for public use, caveat emptor!+ .+ This library is compatible with version @v1@+ of the API.++source-repository head+ type: git+ location: git://github.com/brendanhay/gogol.git++library+ default-language: Haskell2010+ hs-source-dirs: src gen++ ghc-options: -Wall++ exposed-modules:+ Network.Google.Compute+ , Network.Google.Compute.Types+ , Network.Google.Resource.Compute.Addresses.AggregatedList+ , Network.Google.Resource.Compute.Addresses.Delete+ , Network.Google.Resource.Compute.Addresses.Get+ , Network.Google.Resource.Compute.Addresses.Insert+ , Network.Google.Resource.Compute.Addresses.List+ , Network.Google.Resource.Compute.Autoscalers.AggregatedList+ , Network.Google.Resource.Compute.Autoscalers.Delete+ , Network.Google.Resource.Compute.Autoscalers.Get+ , Network.Google.Resource.Compute.Autoscalers.Insert+ , Network.Google.Resource.Compute.Autoscalers.List+ , Network.Google.Resource.Compute.Autoscalers.Patch+ , Network.Google.Resource.Compute.Autoscalers.Update+ , Network.Google.Resource.Compute.BackendServices.Delete+ , Network.Google.Resource.Compute.BackendServices.Get+ , Network.Google.Resource.Compute.BackendServices.GetHealth+ , Network.Google.Resource.Compute.BackendServices.Insert+ , Network.Google.Resource.Compute.BackendServices.List+ , Network.Google.Resource.Compute.BackendServices.Patch+ , Network.Google.Resource.Compute.BackendServices.Update+ , Network.Google.Resource.Compute.DiskTypes.AggregatedList+ , Network.Google.Resource.Compute.DiskTypes.Get+ , Network.Google.Resource.Compute.DiskTypes.List+ , Network.Google.Resource.Compute.Disks.AggregatedList+ , Network.Google.Resource.Compute.Disks.CreateSnapshot+ , Network.Google.Resource.Compute.Disks.Delete+ , Network.Google.Resource.Compute.Disks.Get+ , Network.Google.Resource.Compute.Disks.Insert+ , Network.Google.Resource.Compute.Disks.List+ , Network.Google.Resource.Compute.Firewalls.Delete+ , Network.Google.Resource.Compute.Firewalls.Get+ , Network.Google.Resource.Compute.Firewalls.Insert+ , Network.Google.Resource.Compute.Firewalls.List+ , Network.Google.Resource.Compute.Firewalls.Patch+ , Network.Google.Resource.Compute.Firewalls.Update+ , Network.Google.Resource.Compute.ForwardingRules.AggregatedList+ , Network.Google.Resource.Compute.ForwardingRules.Delete+ , Network.Google.Resource.Compute.ForwardingRules.Get+ , Network.Google.Resource.Compute.ForwardingRules.Insert+ , Network.Google.Resource.Compute.ForwardingRules.List+ , Network.Google.Resource.Compute.ForwardingRules.SetTarget+ , Network.Google.Resource.Compute.GlobalAddresses.Delete+ , Network.Google.Resource.Compute.GlobalAddresses.Get+ , Network.Google.Resource.Compute.GlobalAddresses.Insert+ , Network.Google.Resource.Compute.GlobalAddresses.List+ , Network.Google.Resource.Compute.GlobalForwardingRules.Delete+ , Network.Google.Resource.Compute.GlobalForwardingRules.Get+ , Network.Google.Resource.Compute.GlobalForwardingRules.Insert+ , Network.Google.Resource.Compute.GlobalForwardingRules.List+ , Network.Google.Resource.Compute.GlobalForwardingRules.SetTarget+ , Network.Google.Resource.Compute.GlobalOperations.AggregatedList+ , Network.Google.Resource.Compute.GlobalOperations.Delete+ , Network.Google.Resource.Compute.GlobalOperations.Get+ , Network.Google.Resource.Compute.GlobalOperations.List+ , Network.Google.Resource.Compute.HTTPHealthChecks.Delete+ , Network.Google.Resource.Compute.HTTPHealthChecks.Get+ , Network.Google.Resource.Compute.HTTPHealthChecks.Insert+ , Network.Google.Resource.Compute.HTTPHealthChecks.List+ , Network.Google.Resource.Compute.HTTPHealthChecks.Patch+ , Network.Google.Resource.Compute.HTTPHealthChecks.Update+ , Network.Google.Resource.Compute.HTTPSHealthChecks.Delete+ , Network.Google.Resource.Compute.HTTPSHealthChecks.Get+ , Network.Google.Resource.Compute.HTTPSHealthChecks.Insert+ , Network.Google.Resource.Compute.HTTPSHealthChecks.List+ , Network.Google.Resource.Compute.HTTPSHealthChecks.Patch+ , Network.Google.Resource.Compute.HTTPSHealthChecks.Update+ , Network.Google.Resource.Compute.Images.Delete+ , Network.Google.Resource.Compute.Images.Deprecate+ , Network.Google.Resource.Compute.Images.Get+ , Network.Google.Resource.Compute.Images.Insert+ , Network.Google.Resource.Compute.Images.List+ , Network.Google.Resource.Compute.InstanceGroupManagers.AbandonInstances+ , Network.Google.Resource.Compute.InstanceGroupManagers.AggregatedList+ , Network.Google.Resource.Compute.InstanceGroupManagers.Delete+ , Network.Google.Resource.Compute.InstanceGroupManagers.DeleteInstances+ , Network.Google.Resource.Compute.InstanceGroupManagers.Get+ , Network.Google.Resource.Compute.InstanceGroupManagers.Insert+ , Network.Google.Resource.Compute.InstanceGroupManagers.List+ , Network.Google.Resource.Compute.InstanceGroupManagers.ListManagedInstances+ , Network.Google.Resource.Compute.InstanceGroupManagers.RecreateInstances+ , Network.Google.Resource.Compute.InstanceGroupManagers.Resize+ , Network.Google.Resource.Compute.InstanceGroupManagers.SetInstanceTemplate+ , Network.Google.Resource.Compute.InstanceGroupManagers.SetTargetPools+ , Network.Google.Resource.Compute.InstanceGroups.AddInstances+ , Network.Google.Resource.Compute.InstanceGroups.AggregatedList+ , Network.Google.Resource.Compute.InstanceGroups.Delete+ , Network.Google.Resource.Compute.InstanceGroups.Get+ , Network.Google.Resource.Compute.InstanceGroups.Insert+ , Network.Google.Resource.Compute.InstanceGroups.List+ , Network.Google.Resource.Compute.InstanceGroups.ListInstances+ , Network.Google.Resource.Compute.InstanceGroups.RemoveInstances+ , Network.Google.Resource.Compute.InstanceGroups.SetNamedPorts+ , Network.Google.Resource.Compute.InstanceTemplates.Delete+ , Network.Google.Resource.Compute.InstanceTemplates.Get+ , Network.Google.Resource.Compute.InstanceTemplates.Insert+ , Network.Google.Resource.Compute.InstanceTemplates.List+ , Network.Google.Resource.Compute.Instances.AddAccessConfig+ , Network.Google.Resource.Compute.Instances.AggregatedList+ , Network.Google.Resource.Compute.Instances.AttachDisk+ , Network.Google.Resource.Compute.Instances.Delete+ , Network.Google.Resource.Compute.Instances.DeleteAccessConfig+ , Network.Google.Resource.Compute.Instances.DetachDisk+ , Network.Google.Resource.Compute.Instances.Get+ , Network.Google.Resource.Compute.Instances.GetSerialPortOutput+ , Network.Google.Resource.Compute.Instances.Insert+ , Network.Google.Resource.Compute.Instances.List+ , Network.Google.Resource.Compute.Instances.Reset+ , Network.Google.Resource.Compute.Instances.SetDiskAutoDelete+ , Network.Google.Resource.Compute.Instances.SetMetadata+ , Network.Google.Resource.Compute.Instances.SetScheduling+ , Network.Google.Resource.Compute.Instances.SetTags+ , Network.Google.Resource.Compute.Instances.Start+ , Network.Google.Resource.Compute.Instances.Stop+ , Network.Google.Resource.Compute.Licenses.Get+ , Network.Google.Resource.Compute.MachineTypes.AggregatedList+ , Network.Google.Resource.Compute.MachineTypes.Get+ , Network.Google.Resource.Compute.MachineTypes.List+ , Network.Google.Resource.Compute.Networks.Delete+ , Network.Google.Resource.Compute.Networks.Get+ , Network.Google.Resource.Compute.Networks.Insert+ , Network.Google.Resource.Compute.Networks.List+ , Network.Google.Resource.Compute.Projects.Get+ , Network.Google.Resource.Compute.Projects.MoveDisk+ , Network.Google.Resource.Compute.Projects.MoveInstance+ , Network.Google.Resource.Compute.Projects.SetCommonInstanceMetadata+ , Network.Google.Resource.Compute.Projects.SetUsageExportBucket+ , Network.Google.Resource.Compute.RegionOperations.Delete+ , Network.Google.Resource.Compute.RegionOperations.Get+ , Network.Google.Resource.Compute.RegionOperations.List+ , Network.Google.Resource.Compute.Regions.Get+ , Network.Google.Resource.Compute.Regions.List+ , Network.Google.Resource.Compute.Routes.Delete+ , Network.Google.Resource.Compute.Routes.Get+ , Network.Google.Resource.Compute.Routes.Insert+ , Network.Google.Resource.Compute.Routes.List+ , Network.Google.Resource.Compute.SSLCertificates.Delete+ , Network.Google.Resource.Compute.SSLCertificates.Get+ , Network.Google.Resource.Compute.SSLCertificates.Insert+ , Network.Google.Resource.Compute.SSLCertificates.List+ , Network.Google.Resource.Compute.Snapshots.Delete+ , Network.Google.Resource.Compute.Snapshots.Get+ , Network.Google.Resource.Compute.Snapshots.List+ , Network.Google.Resource.Compute.TargetHTTPProxies.Delete+ , Network.Google.Resource.Compute.TargetHTTPProxies.Get+ , Network.Google.Resource.Compute.TargetHTTPProxies.Insert+ , Network.Google.Resource.Compute.TargetHTTPProxies.List+ , Network.Google.Resource.Compute.TargetHTTPProxies.SetURLMap+ , Network.Google.Resource.Compute.TargetHTTPSProxies.Delete+ , Network.Google.Resource.Compute.TargetHTTPSProxies.Get+ , Network.Google.Resource.Compute.TargetHTTPSProxies.Insert+ , Network.Google.Resource.Compute.TargetHTTPSProxies.List+ , Network.Google.Resource.Compute.TargetHTTPSProxies.SetSSLCertificates+ , Network.Google.Resource.Compute.TargetHTTPSProxies.SetURLMap+ , Network.Google.Resource.Compute.TargetInstances.AggregatedList+ , Network.Google.Resource.Compute.TargetInstances.Delete+ , Network.Google.Resource.Compute.TargetInstances.Get+ , Network.Google.Resource.Compute.TargetInstances.Insert+ , Network.Google.Resource.Compute.TargetInstances.List+ , Network.Google.Resource.Compute.TargetPools.AddHealthCheck+ , Network.Google.Resource.Compute.TargetPools.AddInstance+ , Network.Google.Resource.Compute.TargetPools.AggregatedList+ , Network.Google.Resource.Compute.TargetPools.Delete+ , Network.Google.Resource.Compute.TargetPools.Get+ , Network.Google.Resource.Compute.TargetPools.GetHealth+ , Network.Google.Resource.Compute.TargetPools.Insert+ , Network.Google.Resource.Compute.TargetPools.List+ , Network.Google.Resource.Compute.TargetPools.RemoveHealthCheck+ , Network.Google.Resource.Compute.TargetPools.RemoveInstance+ , Network.Google.Resource.Compute.TargetPools.SetBackup+ , Network.Google.Resource.Compute.TargetVPNGateways.AggregatedList+ , Network.Google.Resource.Compute.TargetVPNGateways.Delete+ , Network.Google.Resource.Compute.TargetVPNGateways.Get+ , Network.Google.Resource.Compute.TargetVPNGateways.Insert+ , Network.Google.Resource.Compute.TargetVPNGateways.List+ , Network.Google.Resource.Compute.URLMaps.Delete+ , Network.Google.Resource.Compute.URLMaps.Get+ , Network.Google.Resource.Compute.URLMaps.Insert+ , Network.Google.Resource.Compute.URLMaps.List+ , Network.Google.Resource.Compute.URLMaps.Patch+ , Network.Google.Resource.Compute.URLMaps.Update+ , Network.Google.Resource.Compute.URLMaps.Validate+ , Network.Google.Resource.Compute.VPNTunnels.AggregatedList+ , Network.Google.Resource.Compute.VPNTunnels.Delete+ , Network.Google.Resource.Compute.VPNTunnels.Get+ , Network.Google.Resource.Compute.VPNTunnels.Insert+ , Network.Google.Resource.Compute.VPNTunnels.List+ , Network.Google.Resource.Compute.ZoneOperations.Delete+ , Network.Google.Resource.Compute.ZoneOperations.Get+ , Network.Google.Resource.Compute.ZoneOperations.List+ , Network.Google.Resource.Compute.Zones.Get+ , Network.Google.Resource.Compute.Zones.List++ other-modules:+ Network.Google.Compute.Types.Product+ , Network.Google.Compute.Types.Sum++ build-depends:+ gogol-core == 0.0.1.*+ , base >= 4.7 && < 5