gogol-containeranalysis (empty) → 0.4.0
raw patch · 33 files changed
+11432/−0 lines, 33 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/ContainerAnalysis.hs +738/−0
- gen/Network/Google/ContainerAnalysis/Types.hs +612/−0
- gen/Network/Google/ContainerAnalysis/Types/Product.hs +4722/−0
- gen/Network/Google/ContainerAnalysis/Types/Sum.hs +865/−0
- gen/Network/Google/Resource/ContainerAnalysis/Projects/Notes/BatchCreate.hs +163/−0
- gen/Network/Google/Resource/ContainerAnalysis/Projects/Notes/Create.hs +172/−0
- gen/Network/Google/Resource/ContainerAnalysis/Projects/Notes/Delete.hs +145/−0
- gen/Network/Google/Resource/ContainerAnalysis/Projects/Notes/Get.hs +145/−0
- gen/Network/Google/Resource/ContainerAnalysis/Projects/Notes/GetIAMPolicy.hs +176/−0
- gen/Network/Google/Resource/ContainerAnalysis/Projects/Notes/List.hs +186/−0
- gen/Network/Google/Resource/ContainerAnalysis/Projects/Notes/Occurrences/List.hs +192/−0
- gen/Network/Google/Resource/ContainerAnalysis/Projects/Notes/Patch.hs +171/−0
- gen/Network/Google/Resource/ContainerAnalysis/Projects/Notes/SetIAMPolicy.hs +176/−0
- gen/Network/Google/Resource/ContainerAnalysis/Projects/Notes/TestIAMPermissions.hs +177/−0
- gen/Network/Google/Resource/ContainerAnalysis/Projects/Occurrences/BatchCreate.hs +165/−0
- gen/Network/Google/Resource/ContainerAnalysis/Projects/Occurrences/Create.hs +161/−0
- gen/Network/Google/Resource/ContainerAnalysis/Projects/Occurrences/Delete.hs +150/−0
- gen/Network/Google/Resource/ContainerAnalysis/Projects/Occurrences/Get.hs +145/−0
- gen/Network/Google/Resource/ContainerAnalysis/Projects/Occurrences/GetIAMPolicy.hs +177/−0
- gen/Network/Google/Resource/ContainerAnalysis/Projects/Occurrences/GetNotes.hs +150/−0
- gen/Network/Google/Resource/ContainerAnalysis/Projects/Occurrences/GetVulnerabilitySummary.hs +169/−0
- gen/Network/Google/Resource/ContainerAnalysis/Projects/Occurrences/List.hs +187/−0
- gen/Network/Google/Resource/ContainerAnalysis/Projects/Occurrences/Patch.hs +172/−0
- gen/Network/Google/Resource/ContainerAnalysis/Projects/Occurrences/SetIAMPolicy.hs +177/−0
- gen/Network/Google/Resource/ContainerAnalysis/Projects/Occurrences/TestIAMPermissions.hs +178/−0
- gen/Network/Google/Resource/ContainerAnalysis/Projects/ScanConfigs/Get.hs +146/−0
- gen/Network/Google/Resource/ContainerAnalysis/Projects/ScanConfigs/List.hs +188/−0
- gen/Network/Google/Resource/ContainerAnalysis/Projects/ScanConfigs/Update.hs +160/−0
- gogol-containeranalysis.cabal +70/−0
- src/.gitkeep +0/−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-containeranalysis++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version++`0.3.0`+++## Description++A client library for the Google Container Analysis.+++## Contribute++For any problems, comments, or feedback please create an issue [here on GitHub](https://github.com/brendanhay/gogol/issues).++> _Note:_ this library is an auto-generated Haskell package. Please see `gogol-gen` for more information.+++## Licence++`gogol-containeranalysis` 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/ContainerAnalysis.hs view
@@ -0,0 +1,738 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}++-- |+-- Module : Network.Google.ContainerAnalysis+-- Copyright : (c) 2015-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- An implementation of the Grafeas API, which stores, and enables querying+-- and retrieval of critical metadata about all of your software artifacts.+--+-- /See:/ <https://cloud.google.com/container-analysis/api/reference/rest/ Container Analysis API Reference>+module Network.Google.ContainerAnalysis+ (+ -- * Service Configuration+ containerAnalysisService++ -- * OAuth Scopes+ , cloudPlatformScope++ -- * API Declaration+ , ContainerAnalysisAPI++ -- * Resources++ -- ** containeranalysis.projects.notes.batchCreate+ , module Network.Google.Resource.ContainerAnalysis.Projects.Notes.BatchCreate++ -- ** containeranalysis.projects.notes.create+ , module Network.Google.Resource.ContainerAnalysis.Projects.Notes.Create++ -- ** containeranalysis.projects.notes.delete+ , module Network.Google.Resource.ContainerAnalysis.Projects.Notes.Delete++ -- ** containeranalysis.projects.notes.get+ , module Network.Google.Resource.ContainerAnalysis.Projects.Notes.Get++ -- ** containeranalysis.projects.notes.getIamPolicy+ , module Network.Google.Resource.ContainerAnalysis.Projects.Notes.GetIAMPolicy++ -- ** containeranalysis.projects.notes.list+ , module Network.Google.Resource.ContainerAnalysis.Projects.Notes.List++ -- ** containeranalysis.projects.notes.occurrences.list+ , module Network.Google.Resource.ContainerAnalysis.Projects.Notes.Occurrences.List++ -- ** containeranalysis.projects.notes.patch+ , module Network.Google.Resource.ContainerAnalysis.Projects.Notes.Patch++ -- ** containeranalysis.projects.notes.setIamPolicy+ , module Network.Google.Resource.ContainerAnalysis.Projects.Notes.SetIAMPolicy++ -- ** containeranalysis.projects.notes.testIamPermissions+ , module Network.Google.Resource.ContainerAnalysis.Projects.Notes.TestIAMPermissions++ -- ** containeranalysis.projects.occurrences.batchCreate+ , module Network.Google.Resource.ContainerAnalysis.Projects.Occurrences.BatchCreate++ -- ** containeranalysis.projects.occurrences.create+ , module Network.Google.Resource.ContainerAnalysis.Projects.Occurrences.Create++ -- ** containeranalysis.projects.occurrences.delete+ , module Network.Google.Resource.ContainerAnalysis.Projects.Occurrences.Delete++ -- ** containeranalysis.projects.occurrences.get+ , module Network.Google.Resource.ContainerAnalysis.Projects.Occurrences.Get++ -- ** containeranalysis.projects.occurrences.getIamPolicy+ , module Network.Google.Resource.ContainerAnalysis.Projects.Occurrences.GetIAMPolicy++ -- ** containeranalysis.projects.occurrences.getNotes+ , module Network.Google.Resource.ContainerAnalysis.Projects.Occurrences.GetNotes++ -- ** containeranalysis.projects.occurrences.getVulnerabilitySummary+ , module Network.Google.Resource.ContainerAnalysis.Projects.Occurrences.GetVulnerabilitySummary++ -- ** containeranalysis.projects.occurrences.list+ , module Network.Google.Resource.ContainerAnalysis.Projects.Occurrences.List++ -- ** containeranalysis.projects.occurrences.patch+ , module Network.Google.Resource.ContainerAnalysis.Projects.Occurrences.Patch++ -- ** containeranalysis.projects.occurrences.setIamPolicy+ , module Network.Google.Resource.ContainerAnalysis.Projects.Occurrences.SetIAMPolicy++ -- ** containeranalysis.projects.occurrences.testIamPermissions+ , module Network.Google.Resource.ContainerAnalysis.Projects.Occurrences.TestIAMPermissions++ -- ** containeranalysis.projects.scanConfigs.get+ , module Network.Google.Resource.ContainerAnalysis.Projects.ScanConfigs.Get++ -- ** containeranalysis.projects.scanConfigs.list+ , module Network.Google.Resource.ContainerAnalysis.Projects.ScanConfigs.List++ -- ** containeranalysis.projects.scanConfigs.update+ , module Network.Google.Resource.ContainerAnalysis.Projects.ScanConfigs.Update++ -- * Types++ -- ** LayerDirective+ , LayerDirective (..)++ -- ** DiscoveredAnalysisStatus+ , DiscoveredAnalysisStatus (..)++ -- ** Installation+ , Installation+ , installation+ , iLocation+ , iName++ -- ** Vulnerability+ , Vulnerability+ , vulnerability+ , vCvssScore+ , vSeverity+ , vDetails++ -- ** GrafeasV1beta1VulnerabilityDetailsSeverity+ , GrafeasV1beta1VulnerabilityDetailsSeverity (..)++ -- ** Status+ , Status+ , status+ , sDetails+ , sCode+ , sMessage++ -- ** VulnerabilityOccurrencesSummary+ , VulnerabilityOccurrencesSummary+ , vulnerabilityOccurrencesSummary+ , vosCounts++ -- ** OccurrenceKind+ , OccurrenceKind (..)++ -- ** BuildProvenance+ , BuildProvenance+ , buildProvenance+ , bpCreator+ , bpSourceProvenance+ , bpCommands+ , bpTriggerId+ , bpStartTime+ , bpBuilderVersion+ , bpEndTime+ , bpId+ , bpProjectId+ , bpBuiltArtifacts+ , bpBuildOptions+ , bpCreateTime+ , bpLogsURI++ -- ** AuditConfig+ , AuditConfig+ , auditConfig+ , acService+ , acAuditLogConfigs++ -- ** Occurrence+ , Occurrence+ , occurrence+ , oInstallation+ , oVulnerability+ , oDerivedImage+ , oKind+ , oBuild+ , oAttestation+ , oUpdateTime+ , oName+ , oNoteName+ , oRemediation+ , oResource+ , oDiscovered+ , oCreateTime+ , oDeployment++ -- ** GrafeasV1beta1VulnerabilityDetails+ , GrafeasV1beta1VulnerabilityDetails+ , grafeasV1beta1VulnerabilityDetails+ , gvvdLongDescription+ , gvvdRelatedURLs+ , gvvdCvssScore+ , gvvdPackageIssue+ , gvvdSeverity+ , gvvdShortDescription+ , gvvdType++ -- ** VulnerabilitySeverity+ , VulnerabilitySeverity (..)++ -- ** SourceFileHashes+ , SourceFileHashes+ , sourceFileHashes+ , sfhAddtional++ -- ** Expr+ , Expr+ , expr+ , eLocation+ , eExpression+ , eTitle+ , eDescription++ -- ** Command+ , Command+ , command+ , cDir+ , cArgs+ , cEnv+ , cWaitFor+ , cName+ , cId++ -- ** GetIAMPolicyRequest+ , GetIAMPolicyRequest+ , getIAMPolicyRequest++ -- ** Discovery+ , Discovery+ , discovery+ , dAnalysisKind++ -- ** Hash+ , Hash+ , hash+ , hValue+ , hType++ -- ** Basis+ , Basis+ , basis+ , bFingerprint+ , bResourceURL++ -- ** BatchCreateNotesRequest+ , BatchCreateNotesRequest+ , batchCreateNotesRequest+ , bcnrNotes++ -- ** SourceContext+ , SourceContext+ , sourceContext+ , scCloudRepo+ , scGerrit+ , scGit+ , scLabels++ -- ** Distribution+ , Distribution+ , distribution+ , dURL+ , dMaintainer+ , dArchitecture+ , dCpeURI+ , dDescription+ , dLatestVersion++ -- ** BatchCreateOccurrencesRequest+ , BatchCreateOccurrencesRequest+ , batchCreateOccurrencesRequest+ , bcorOccurrences++ -- ** ListOccurrencesResponse+ , ListOccurrencesResponse+ , listOccurrencesResponse+ , lorOccurrences+ , lorNextPageToken++ -- ** Location+ , Location+ , location+ , lPath+ , lVersion+ , lCpeURI++ -- ** Empty+ , Empty+ , empty++ -- ** GerritSourceContext+ , GerritSourceContext+ , gerritSourceContext+ , gscGerritProject+ , gscRevisionId+ , gscHostURI+ , gscAliasContext++ -- ** RepoId+ , RepoId+ , repoId+ , riUid+ , riProjectRepoId++ -- ** DiscoveredContinuousAnalysis+ , DiscoveredContinuousAnalysis (..)++ -- ** ListNoteOccurrencesResponse+ , ListNoteOccurrencesResponse+ , listNoteOccurrencesResponse+ , lnorOccurrences+ , lnorNextPageToken++ -- ** NoteKind+ , NoteKind (..)++ -- ** Note+ , Note+ , note+ , nVulnerability+ , nLongDescription+ , nAttestationAuthority+ , nDiscovery+ , nKind+ , nRelatedNoteNames+ , nBuild+ , nDeployable+ , nRelatedURL+ , nUpdateTime+ , nShortDescription+ , nName+ , nBaseImage+ , nPackage+ , nExpirationTime+ , nCreateTime++ -- ** BatchCreateNotesResponse+ , BatchCreateNotesResponse+ , batchCreateNotesResponse+ , bNotes++ -- ** ProjectRepoId+ , ProjectRepoId+ , projectRepoId+ , priRepoName+ , priProjectId++ -- ** Fingerprint+ , Fingerprint+ , fingerprint+ , fV2Name+ , fV2Blob+ , fV1Name++ -- ** Hint+ , Hint+ , hint+ , hHumanReadableName++ -- ** PackageIssue+ , PackageIssue+ , packageIssue+ , piAffectedLocation+ , piFixedLocation+ , piSeverityName++ -- ** StatusDetailsItem+ , StatusDetailsItem+ , statusDetailsItem+ , sdiAddtional++ -- ** Build+ , Build+ , build+ , bSignature+ , bBuilderVersion++ -- ** Attestation+ , Attestation+ , attestation+ , aPgpSignedAttestation++ -- ** DeploymentPlatform+ , DeploymentPlatform (..)++ -- ** Artifact+ , Artifact+ , artifact+ , aChecksum+ , aNames+ , aId++ -- ** SetIAMPolicyRequest+ , SetIAMPolicyRequest+ , setIAMPolicyRequest+ , siprUpdateMask+ , siprPolicy++ -- ** BuildProvenanceBuildOptions+ , BuildProvenanceBuildOptions+ , buildProvenanceBuildOptions+ , bpboAddtional++ -- ** Deployable+ , Deployable+ , deployable+ , dResourceURI++ -- ** GrafeasV1beta1DiscoveryDetails+ , GrafeasV1beta1DiscoveryDetails+ , grafeasV1beta1DiscoveryDetails+ , gvddDiscovered++ -- ** VulnerabilityLocation+ , VulnerabilityLocation+ , vulnerabilityLocation+ , vlVersion+ , vlPackage+ , vlCpeURI++ -- ** FixableTotalByDigest+ , FixableTotalByDigest+ , fixableTotalByDigest+ , ftbdSeverity+ , ftbdFixableCount+ , ftbdResource+ , ftbdTotalCount++ -- ** RelatedURL+ , RelatedURL+ , relatedURL+ , ruURL+ , ruLabel++ -- ** GrafeasV1beta1ImageDetails+ , GrafeasV1beta1ImageDetails+ , grafeasV1beta1ImageDetails+ , gvidDerivedImage++ -- ** BatchCreateOccurrencesResponse+ , BatchCreateOccurrencesResponse+ , batchCreateOccurrencesResponse+ , bOccurrences++ -- ** SourceContextLabels+ , SourceContextLabels+ , sourceContextLabels+ , sclAddtional++ -- ** DistributionArchitecture+ , DistributionArchitecture (..)++ -- ** ListScanConfigsResponse+ , ListScanConfigsResponse+ , listScanConfigsResponse+ , lscrNextPageToken+ , lscrScanConfigs++ -- ** FixableTotalByDigestSeverity+ , FixableTotalByDigestSeverity (..)++ -- ** AuditLogConfigLogType+ , AuditLogConfigLogType (..)++ -- ** Version+ , Version+ , version+ , vKind+ , vName+ , vRevision+ , vEpoch++ -- ** FileHashes+ , FileHashes+ , fileHashes+ , fhFileHash++ -- ** Resource+ , Resource+ , resource+ , rContentHash+ , rURI+ , rName++ -- ** GrafeasV1beta1DeploymentDetails+ , GrafeasV1beta1DeploymentDetails+ , grafeasV1beta1DeploymentDetails+ , gvddDeployment++ -- ** GoogleDevtoolsContaineranalysisV1alpha1OperationMetadata+ , GoogleDevtoolsContaineranalysisV1alpha1OperationMetadata+ , googleDevtoolsContaineranalysisV1alpha1OperationMetadata+ , gdcvomEndTime+ , gdcvomCreateTime++ -- ** PgpSignedAttestationContentType+ , PgpSignedAttestationContentType (..)++ -- ** Xgafv+ , Xgafv (..)++ -- ** Details+ , Details+ , details+ , dAttestation++ -- ** Package+ , Package+ , package+ , pDistribution+ , pName++ -- ** ListNotesResponse+ , ListNotesResponse+ , listNotesResponse+ , lnrNextPageToken+ , lnrNotes++ -- ** BuildSignature+ , BuildSignature+ , buildSignature+ , bsSignature+ , bsKeyType+ , bsKeyId+ , bsPublicKey++ -- ** TestIAMPermissionsRequest+ , TestIAMPermissionsRequest+ , testIAMPermissionsRequest+ , tiprPermissions++ -- ** VersionKind+ , VersionKind (..)++ -- ** HashType+ , HashType (..)++ -- ** Discovered+ , Discovered+ , discovered+ , dLastAnalysisTime+ , dAnalysisStatusError+ , dAnalysisStatus+ , dContinuousAnalysis++ -- ** BuildSignatureKeyType+ , BuildSignatureKeyType (..)++ -- ** Derived+ , Derived+ , derived+ , dBaseResourceURL+ , dFingerprint+ , dDistance+ , dLayerInfo++ -- ** GrafeasV1beta1BuildDetails+ , GrafeasV1beta1BuildDetails+ , grafeasV1beta1BuildDetails+ , gvbdProvenanceBytes+ , gvbdProvenance++ -- ** Source+ , Source+ , source+ , sContext+ , sAdditionalContexts+ , sArtifactStorageSourceURI+ , sFileHashes++ -- ** ScanConfig+ , ScanConfig+ , scanConfig+ , scEnabled+ , scUpdateTime+ , scName+ , scDescription+ , scCreateTime++ -- ** GitSourceContext+ , GitSourceContext+ , gitSourceContext+ , gURL+ , gRevisionId++ -- ** TestIAMPermissionsResponse+ , TestIAMPermissionsResponse+ , testIAMPermissionsResponse+ , tiamprPermissions++ -- ** Policy+ , Policy+ , policy+ , pAuditConfigs+ , pEtag+ , pVersion+ , pBindings++ -- ** DiscoveryAnalysisKind+ , DiscoveryAnalysisKind (..)++ -- ** Layer+ , Layer+ , layer+ , lDirective+ , lArguments++ -- ** CloudRepoSourceContext+ , CloudRepoSourceContext+ , cloudRepoSourceContext+ , crscRepoId+ , crscRevisionId+ , crscAliasContext++ -- ** AuditLogConfig+ , AuditLogConfig+ , auditLogConfig+ , alcLogType+ , alcExemptedMembers++ -- ** PgpSignedAttestation+ , PgpSignedAttestation+ , pgpSignedAttestation+ , psaSignature+ , psaPgpKeyId+ , psaContentType++ -- ** BatchCreateNotesRequestNotes+ , BatchCreateNotesRequestNotes+ , batchCreateNotesRequestNotes+ , bcnrnAddtional++ -- ** AliasContext+ , AliasContext+ , aliasContext+ , acKind+ , acName++ -- ** AliasContextKind+ , AliasContextKind (..)++ -- ** Binding+ , Binding+ , binding+ , bMembers+ , bRole+ , bCondition++ -- ** Detail+ , Detail+ , detail+ , detMinAffectedVersion+ , detPackageType+ , detIsObsolete+ , detFixedLocation+ , detSeverityName+ , detMaxAffectedVersion+ , detPackage+ , detCpeURI+ , detDescription++ -- ** Authority+ , Authority+ , authority+ , aHint++ -- ** GrafeasV1beta1PackageDetails+ , GrafeasV1beta1PackageDetails+ , grafeasV1beta1PackageDetails+ , gvpdInstallation++ -- ** Deployment+ , Deployment+ , deployment+ , depResourceURI+ , depPlatform+ , depConfig+ , depUndeployTime+ , depDeployTime+ , depAddress+ , depUserEmail+ ) where++import Network.Google.ContainerAnalysis.Types+import Network.Google.Prelude+import Network.Google.Resource.ContainerAnalysis.Projects.Notes.BatchCreate+import Network.Google.Resource.ContainerAnalysis.Projects.Notes.Create+import Network.Google.Resource.ContainerAnalysis.Projects.Notes.Delete+import Network.Google.Resource.ContainerAnalysis.Projects.Notes.Get+import Network.Google.Resource.ContainerAnalysis.Projects.Notes.GetIAMPolicy+import Network.Google.Resource.ContainerAnalysis.Projects.Notes.List+import Network.Google.Resource.ContainerAnalysis.Projects.Notes.Occurrences.List+import Network.Google.Resource.ContainerAnalysis.Projects.Notes.Patch+import Network.Google.Resource.ContainerAnalysis.Projects.Notes.SetIAMPolicy+import Network.Google.Resource.ContainerAnalysis.Projects.Notes.TestIAMPermissions+import Network.Google.Resource.ContainerAnalysis.Projects.Occurrences.BatchCreate+import Network.Google.Resource.ContainerAnalysis.Projects.Occurrences.Create+import Network.Google.Resource.ContainerAnalysis.Projects.Occurrences.Delete+import Network.Google.Resource.ContainerAnalysis.Projects.Occurrences.Get+import Network.Google.Resource.ContainerAnalysis.Projects.Occurrences.GetIAMPolicy+import Network.Google.Resource.ContainerAnalysis.Projects.Occurrences.GetNotes+import Network.Google.Resource.ContainerAnalysis.Projects.Occurrences.GetVulnerabilitySummary+import Network.Google.Resource.ContainerAnalysis.Projects.Occurrences.List+import Network.Google.Resource.ContainerAnalysis.Projects.Occurrences.Patch+import Network.Google.Resource.ContainerAnalysis.Projects.Occurrences.SetIAMPolicy+import Network.Google.Resource.ContainerAnalysis.Projects.Occurrences.TestIAMPermissions+import Network.Google.Resource.ContainerAnalysis.Projects.ScanConfigs.Get+import Network.Google.Resource.ContainerAnalysis.Projects.ScanConfigs.List+import Network.Google.Resource.ContainerAnalysis.Projects.ScanConfigs.Update++{- $resources+TODO+-}++-- | Represents the entirety of the methods and resources available for the Container Analysis API service.+type ContainerAnalysisAPI =+ ProjectsOccurrencesListResource :<|>+ ProjectsOccurrencesGetNotesResource+ :<|> ProjectsOccurrencesGetIAMPolicyResource+ :<|> ProjectsOccurrencesPatchResource+ :<|> ProjectsOccurrencesGetResource+ :<|>+ ProjectsOccurrencesGetVulnerabilitySummaryResource+ :<|> ProjectsOccurrencesCreateResource+ :<|> ProjectsOccurrencesSetIAMPolicyResource+ :<|> ProjectsOccurrencesBatchCreateResource+ :<|> ProjectsOccurrencesTestIAMPermissionsResource+ :<|> ProjectsOccurrencesDeleteResource+ :<|> ProjectsScanConfigsListResource+ :<|> ProjectsScanConfigsGetResource+ :<|> ProjectsScanConfigsUpdateResource+ :<|> ProjectsNotesOccurrencesListResource+ :<|> ProjectsNotesListResource+ :<|> ProjectsNotesGetIAMPolicyResource+ :<|> ProjectsNotesPatchResource+ :<|> ProjectsNotesGetResource+ :<|> ProjectsNotesCreateResource+ :<|> ProjectsNotesSetIAMPolicyResource+ :<|> ProjectsNotesBatchCreateResource+ :<|> ProjectsNotesTestIAMPermissionsResource+ :<|> ProjectsNotesDeleteResource
+ gen/Network/Google/ContainerAnalysis/Types.hs view
@@ -0,0 +1,612 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.ContainerAnalysis.Types+-- Copyright : (c) 2015-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Network.Google.ContainerAnalysis.Types+ (+ -- * Service Configuration+ containerAnalysisService++ -- * OAuth Scopes+ , cloudPlatformScope++ -- * LayerDirective+ , LayerDirective (..)++ -- * DiscoveredAnalysisStatus+ , DiscoveredAnalysisStatus (..)++ -- * Installation+ , Installation+ , installation+ , iLocation+ , iName++ -- * Vulnerability+ , Vulnerability+ , vulnerability+ , vCvssScore+ , vSeverity+ , vDetails++ -- * GrafeasV1beta1VulnerabilityDetailsSeverity+ , GrafeasV1beta1VulnerabilityDetailsSeverity (..)++ -- * Status+ , Status+ , status+ , sDetails+ , sCode+ , sMessage++ -- * VulnerabilityOccurrencesSummary+ , VulnerabilityOccurrencesSummary+ , vulnerabilityOccurrencesSummary+ , vosCounts++ -- * OccurrenceKind+ , OccurrenceKind (..)++ -- * BuildProvenance+ , BuildProvenance+ , buildProvenance+ , bpCreator+ , bpSourceProvenance+ , bpCommands+ , bpTriggerId+ , bpStartTime+ , bpBuilderVersion+ , bpEndTime+ , bpId+ , bpProjectId+ , bpBuiltArtifacts+ , bpBuildOptions+ , bpCreateTime+ , bpLogsURI++ -- * AuditConfig+ , AuditConfig+ , auditConfig+ , acService+ , acAuditLogConfigs++ -- * Occurrence+ , Occurrence+ , occurrence+ , oInstallation+ , oVulnerability+ , oDerivedImage+ , oKind+ , oBuild+ , oAttestation+ , oUpdateTime+ , oName+ , oNoteName+ , oRemediation+ , oResource+ , oDiscovered+ , oCreateTime+ , oDeployment++ -- * GrafeasV1beta1VulnerabilityDetails+ , GrafeasV1beta1VulnerabilityDetails+ , grafeasV1beta1VulnerabilityDetails+ , gvvdLongDescription+ , gvvdRelatedURLs+ , gvvdCvssScore+ , gvvdPackageIssue+ , gvvdSeverity+ , gvvdShortDescription+ , gvvdType++ -- * VulnerabilitySeverity+ , VulnerabilitySeverity (..)++ -- * SourceFileHashes+ , SourceFileHashes+ , sourceFileHashes+ , sfhAddtional++ -- * Expr+ , Expr+ , expr+ , eLocation+ , eExpression+ , eTitle+ , eDescription++ -- * Command+ , Command+ , command+ , cDir+ , cArgs+ , cEnv+ , cWaitFor+ , cName+ , cId++ -- * GetIAMPolicyRequest+ , GetIAMPolicyRequest+ , getIAMPolicyRequest++ -- * Discovery+ , Discovery+ , discovery+ , dAnalysisKind++ -- * Hash+ , Hash+ , hash+ , hValue+ , hType++ -- * Basis+ , Basis+ , basis+ , bFingerprint+ , bResourceURL++ -- * BatchCreateNotesRequest+ , BatchCreateNotesRequest+ , batchCreateNotesRequest+ , bcnrNotes++ -- * SourceContext+ , SourceContext+ , sourceContext+ , scCloudRepo+ , scGerrit+ , scGit+ , scLabels++ -- * Distribution+ , Distribution+ , distribution+ , dURL+ , dMaintainer+ , dArchitecture+ , dCpeURI+ , dDescription+ , dLatestVersion++ -- * BatchCreateOccurrencesRequest+ , BatchCreateOccurrencesRequest+ , batchCreateOccurrencesRequest+ , bcorOccurrences++ -- * ListOccurrencesResponse+ , ListOccurrencesResponse+ , listOccurrencesResponse+ , lorOccurrences+ , lorNextPageToken++ -- * Location+ , Location+ , location+ , lPath+ , lVersion+ , lCpeURI++ -- * Empty+ , Empty+ , empty++ -- * GerritSourceContext+ , GerritSourceContext+ , gerritSourceContext+ , gscGerritProject+ , gscRevisionId+ , gscHostURI+ , gscAliasContext++ -- * RepoId+ , RepoId+ , repoId+ , riUid+ , riProjectRepoId++ -- * DiscoveredContinuousAnalysis+ , DiscoveredContinuousAnalysis (..)++ -- * ListNoteOccurrencesResponse+ , ListNoteOccurrencesResponse+ , listNoteOccurrencesResponse+ , lnorOccurrences+ , lnorNextPageToken++ -- * NoteKind+ , NoteKind (..)++ -- * Note+ , Note+ , note+ , nVulnerability+ , nLongDescription+ , nAttestationAuthority+ , nDiscovery+ , nKind+ , nRelatedNoteNames+ , nBuild+ , nDeployable+ , nRelatedURL+ , nUpdateTime+ , nShortDescription+ , nName+ , nBaseImage+ , nPackage+ , nExpirationTime+ , nCreateTime++ -- * BatchCreateNotesResponse+ , BatchCreateNotesResponse+ , batchCreateNotesResponse+ , bNotes++ -- * ProjectRepoId+ , ProjectRepoId+ , projectRepoId+ , priRepoName+ , priProjectId++ -- * Fingerprint+ , Fingerprint+ , fingerprint+ , fV2Name+ , fV2Blob+ , fV1Name++ -- * Hint+ , Hint+ , hint+ , hHumanReadableName++ -- * PackageIssue+ , PackageIssue+ , packageIssue+ , piAffectedLocation+ , piFixedLocation+ , piSeverityName++ -- * StatusDetailsItem+ , StatusDetailsItem+ , statusDetailsItem+ , sdiAddtional++ -- * Build+ , Build+ , build+ , bSignature+ , bBuilderVersion++ -- * Attestation+ , Attestation+ , attestation+ , aPgpSignedAttestation++ -- * DeploymentPlatform+ , DeploymentPlatform (..)++ -- * Artifact+ , Artifact+ , artifact+ , aChecksum+ , aNames+ , aId++ -- * SetIAMPolicyRequest+ , SetIAMPolicyRequest+ , setIAMPolicyRequest+ , siprUpdateMask+ , siprPolicy++ -- * BuildProvenanceBuildOptions+ , BuildProvenanceBuildOptions+ , buildProvenanceBuildOptions+ , bpboAddtional++ -- * Deployable+ , Deployable+ , deployable+ , dResourceURI++ -- * GrafeasV1beta1DiscoveryDetails+ , GrafeasV1beta1DiscoveryDetails+ , grafeasV1beta1DiscoveryDetails+ , gvddDiscovered++ -- * VulnerabilityLocation+ , VulnerabilityLocation+ , vulnerabilityLocation+ , vlVersion+ , vlPackage+ , vlCpeURI++ -- * FixableTotalByDigest+ , FixableTotalByDigest+ , fixableTotalByDigest+ , ftbdSeverity+ , ftbdFixableCount+ , ftbdResource+ , ftbdTotalCount++ -- * RelatedURL+ , RelatedURL+ , relatedURL+ , ruURL+ , ruLabel++ -- * GrafeasV1beta1ImageDetails+ , GrafeasV1beta1ImageDetails+ , grafeasV1beta1ImageDetails+ , gvidDerivedImage++ -- * BatchCreateOccurrencesResponse+ , BatchCreateOccurrencesResponse+ , batchCreateOccurrencesResponse+ , bOccurrences++ -- * SourceContextLabels+ , SourceContextLabels+ , sourceContextLabels+ , sclAddtional++ -- * DistributionArchitecture+ , DistributionArchitecture (..)++ -- * ListScanConfigsResponse+ , ListScanConfigsResponse+ , listScanConfigsResponse+ , lscrNextPageToken+ , lscrScanConfigs++ -- * FixableTotalByDigestSeverity+ , FixableTotalByDigestSeverity (..)++ -- * AuditLogConfigLogType+ , AuditLogConfigLogType (..)++ -- * Version+ , Version+ , version+ , vKind+ , vName+ , vRevision+ , vEpoch++ -- * FileHashes+ , FileHashes+ , fileHashes+ , fhFileHash++ -- * Resource+ , Resource+ , resource+ , rContentHash+ , rURI+ , rName++ -- * GrafeasV1beta1DeploymentDetails+ , GrafeasV1beta1DeploymentDetails+ , grafeasV1beta1DeploymentDetails+ , gvddDeployment++ -- * GoogleDevtoolsContaineranalysisV1alpha1OperationMetadata+ , GoogleDevtoolsContaineranalysisV1alpha1OperationMetadata+ , googleDevtoolsContaineranalysisV1alpha1OperationMetadata+ , gdcvomEndTime+ , gdcvomCreateTime++ -- * PgpSignedAttestationContentType+ , PgpSignedAttestationContentType (..)++ -- * Xgafv+ , Xgafv (..)++ -- * Details+ , Details+ , details+ , dAttestation++ -- * Package+ , Package+ , package+ , pDistribution+ , pName++ -- * ListNotesResponse+ , ListNotesResponse+ , listNotesResponse+ , lnrNextPageToken+ , lnrNotes++ -- * BuildSignature+ , BuildSignature+ , buildSignature+ , bsSignature+ , bsKeyType+ , bsKeyId+ , bsPublicKey++ -- * TestIAMPermissionsRequest+ , TestIAMPermissionsRequest+ , testIAMPermissionsRequest+ , tiprPermissions++ -- * VersionKind+ , VersionKind (..)++ -- * HashType+ , HashType (..)++ -- * Discovered+ , Discovered+ , discovered+ , dLastAnalysisTime+ , dAnalysisStatusError+ , dAnalysisStatus+ , dContinuousAnalysis++ -- * BuildSignatureKeyType+ , BuildSignatureKeyType (..)++ -- * Derived+ , Derived+ , derived+ , dBaseResourceURL+ , dFingerprint+ , dDistance+ , dLayerInfo++ -- * GrafeasV1beta1BuildDetails+ , GrafeasV1beta1BuildDetails+ , grafeasV1beta1BuildDetails+ , gvbdProvenanceBytes+ , gvbdProvenance++ -- * Source+ , Source+ , source+ , sContext+ , sAdditionalContexts+ , sArtifactStorageSourceURI+ , sFileHashes++ -- * ScanConfig+ , ScanConfig+ , scanConfig+ , scEnabled+ , scUpdateTime+ , scName+ , scDescription+ , scCreateTime++ -- * GitSourceContext+ , GitSourceContext+ , gitSourceContext+ , gURL+ , gRevisionId++ -- * TestIAMPermissionsResponse+ , TestIAMPermissionsResponse+ , testIAMPermissionsResponse+ , tiamprPermissions++ -- * Policy+ , Policy+ , policy+ , pAuditConfigs+ , pEtag+ , pVersion+ , pBindings++ -- * DiscoveryAnalysisKind+ , DiscoveryAnalysisKind (..)++ -- * Layer+ , Layer+ , layer+ , lDirective+ , lArguments++ -- * CloudRepoSourceContext+ , CloudRepoSourceContext+ , cloudRepoSourceContext+ , crscRepoId+ , crscRevisionId+ , crscAliasContext++ -- * AuditLogConfig+ , AuditLogConfig+ , auditLogConfig+ , alcLogType+ , alcExemptedMembers++ -- * PgpSignedAttestation+ , PgpSignedAttestation+ , pgpSignedAttestation+ , psaSignature+ , psaPgpKeyId+ , psaContentType++ -- * BatchCreateNotesRequestNotes+ , BatchCreateNotesRequestNotes+ , batchCreateNotesRequestNotes+ , bcnrnAddtional++ -- * AliasContext+ , AliasContext+ , aliasContext+ , acKind+ , acName++ -- * AliasContextKind+ , AliasContextKind (..)++ -- * Binding+ , Binding+ , binding+ , bMembers+ , bRole+ , bCondition++ -- * Detail+ , Detail+ , detail+ , detMinAffectedVersion+ , detPackageType+ , detIsObsolete+ , detFixedLocation+ , detSeverityName+ , detMaxAffectedVersion+ , detPackage+ , detCpeURI+ , detDescription++ -- * Authority+ , Authority+ , authority+ , aHint++ -- * GrafeasV1beta1PackageDetails+ , GrafeasV1beta1PackageDetails+ , grafeasV1beta1PackageDetails+ , gvpdInstallation++ -- * Deployment+ , Deployment+ , deployment+ , depResourceURI+ , depPlatform+ , depConfig+ , depUndeployTime+ , depDeployTime+ , depAddress+ , depUserEmail+ ) where++import Network.Google.ContainerAnalysis.Types.Product+import Network.Google.ContainerAnalysis.Types.Sum+import Network.Google.Prelude++-- | Default request referring to version 'v1beta1' of the Container Analysis API. This contains the host and root path used as a starting point for constructing service requests.+containerAnalysisService :: ServiceConfig+containerAnalysisService+ = defaultService+ (ServiceId "containeranalysis:v1beta1")+ "containeranalysis.googleapis.com"++-- | View and manage your data across Google Cloud Platform services+cloudPlatformScope :: Proxy '["https://www.googleapis.com/auth/cloud-platform"]+cloudPlatformScope = Proxy;
+ gen/Network/Google/ContainerAnalysis/Types/Product.hs view
@@ -0,0 +1,4722 @@+{-# 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.ContainerAnalysis.Types.Product+-- Copyright : (c) 2015-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Network.Google.ContainerAnalysis.Types.Product where++import Network.Google.ContainerAnalysis.Types.Sum+import Network.Google.Prelude++-- | This represents how a particular software package may be installed on a+-- system.+--+-- /See:/ 'installation' smart constructor.+data Installation = Installation'+ { _iLocation :: !(Maybe [Location])+ , _iName :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Installation' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'iLocation'+--+-- * 'iName'+installation+ :: Installation+installation =+ Installation'+ { _iLocation = Nothing+ , _iName = Nothing+ }++-- | Required. All of the places within the filesystem versions of this+-- package have been found.+iLocation :: Lens' Installation [Location]+iLocation+ = lens _iLocation (\ s a -> s{_iLocation = a}) .+ _Default+ . _Coerce++-- | Output only. The name of the installed package.+iName :: Lens' Installation (Maybe Text)+iName = lens _iName (\ s a -> s{_iName = a})++instance FromJSON Installation where+ parseJSON+ = withObject "Installation"+ (\ o ->+ Installation' <$>+ (o .:? "location" .!= mempty) <*> (o .:? "name"))++instance ToJSON Installation where+ toJSON Installation'{..}+ = object+ (catMaybes+ [("location" .=) <$> _iLocation,+ ("name" .=) <$> _iName])++-- | Vulnerability provides metadata about a security vulnerability in a+-- Note.+--+-- /See:/ 'vulnerability' smart constructor.+data Vulnerability = Vulnerability'+ { _vCvssScore :: !(Maybe (Textual Double))+ , _vSeverity :: !(Maybe VulnerabilitySeverity)+ , _vDetails :: !(Maybe [Detail])+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Vulnerability' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'vCvssScore'+--+-- * 'vSeverity'+--+-- * 'vDetails'+vulnerability+ :: Vulnerability+vulnerability =+ Vulnerability'+ { _vCvssScore = Nothing+ , _vSeverity = Nothing+ , _vDetails = Nothing+ }++-- | The CVSS score for this vulnerability.+vCvssScore :: Lens' Vulnerability (Maybe Double)+vCvssScore+ = lens _vCvssScore (\ s a -> s{_vCvssScore = a}) .+ mapping _Coerce++-- | Note provider assigned impact of the vulnerability.+vSeverity :: Lens' Vulnerability (Maybe VulnerabilitySeverity)+vSeverity+ = lens _vSeverity (\ s a -> s{_vSeverity = a})++-- | All information about the package to specifically identify this+-- vulnerability. One entry per (version range and cpe_uri) the package+-- vulnerability has manifested in.+vDetails :: Lens' Vulnerability [Detail]+vDetails+ = lens _vDetails (\ s a -> s{_vDetails = a}) .+ _Default+ . _Coerce++instance FromJSON Vulnerability where+ parseJSON+ = withObject "Vulnerability"+ (\ o ->+ Vulnerability' <$>+ (o .:? "cvssScore") <*> (o .:? "severity") <*>+ (o .:? "details" .!= mempty))++instance ToJSON Vulnerability where+ toJSON Vulnerability'{..}+ = object+ (catMaybes+ [("cvssScore" .=) <$> _vCvssScore,+ ("severity" .=) <$> _vSeverity,+ ("details" .=) <$> _vDetails])++-- | The \`Status\` type defines a logical error model that is suitable for+-- different programming environments, including REST APIs and RPC APIs. It+-- is used by [gRPC](https:\/\/github.com\/grpc). The error model is+-- designed to be: - Simple to use and understand for most users - Flexible+-- enough to meet unexpected needs # Overview The \`Status\` message+-- contains three pieces of data: error code, error message, and error+-- details. The error code should be an enum value of google.rpc.Code, but+-- it may accept additional error codes if needed. The error message should+-- be a developer-facing English message that helps developers *understand*+-- and *resolve* the error. If a localized user-facing error message is+-- needed, put the localized message in the error details or localize it in+-- the client. The optional error details may contain arbitrary information+-- about the error. There is a predefined set of error detail types in the+-- package \`google.rpc\` that can be used for common error conditions. #+-- Language mapping The \`Status\` message is the logical representation of+-- the error model, but it is not necessarily the actual wire format. When+-- the \`Status\` message is exposed in different client libraries and+-- different wire protocols, it can be mapped differently. For example, it+-- will likely be mapped to some exceptions in Java, but more likely mapped+-- to some error codes in C. # Other uses The error model and the+-- \`Status\` message can be used in a variety of environments, either with+-- or without APIs, to provide a consistent developer experience across+-- different environments. Example uses of this error model include: -+-- Partial errors. If a service needs to return partial errors to the+-- client, it may embed the \`Status\` in the normal response to indicate+-- the partial errors. - Workflow errors. A typical workflow has multiple+-- steps. Each step may have a \`Status\` message for error reporting. -+-- Batch operations. If a client uses batch request and batch response, the+-- \`Status\` message should be used directly inside batch response, one+-- for each error sub-response. - Asynchronous operations. If an API call+-- embeds asynchronous operation results in its response, the status of+-- those operations should be represented directly using the \`Status\`+-- message. - Logging. If some API errors are stored in logs, the message+-- \`Status\` could be used directly after any stripping needed for+-- security\/privacy reasons.+--+-- /See:/ 'status' smart constructor.+data Status = Status'+ { _sDetails :: !(Maybe [StatusDetailsItem])+ , _sCode :: !(Maybe (Textual Int32))+ , _sMessage :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Status' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sDetails'+--+-- * 'sCode'+--+-- * 'sMessage'+status+ :: Status+status =+ Status'+ { _sDetails = Nothing+ , _sCode = Nothing+ , _sMessage = Nothing+ }++-- | A list of messages that carry the error details. There is a common set+-- of message types for APIs to use.+sDetails :: Lens' Status [StatusDetailsItem]+sDetails+ = lens _sDetails (\ s a -> s{_sDetails = a}) .+ _Default+ . _Coerce++-- | The status code, which should be an enum value of google.rpc.Code.+sCode :: Lens' Status (Maybe Int32)+sCode+ = lens _sCode (\ s a -> s{_sCode = a}) .+ mapping _Coerce++-- | A developer-facing error message, which should be in English. Any+-- user-facing error message should be localized and sent in the+-- google.rpc.Status.details field, or localized by the client.+sMessage :: Lens' Status (Maybe Text)+sMessage = lens _sMessage (\ s a -> s{_sMessage = a})++instance FromJSON Status where+ parseJSON+ = withObject "Status"+ (\ o ->+ Status' <$>+ (o .:? "details" .!= mempty) <*> (o .:? "code") <*>+ (o .:? "message"))++instance ToJSON Status where+ toJSON Status'{..}+ = object+ (catMaybes+ [("details" .=) <$> _sDetails,+ ("code" .=) <$> _sCode,+ ("message" .=) <$> _sMessage])++-- | A summary of how many vulnerability occurrences there are per resource+-- and severity type.+--+-- /See:/ 'vulnerabilityOccurrencesSummary' smart constructor.+newtype VulnerabilityOccurrencesSummary = VulnerabilityOccurrencesSummary'+ { _vosCounts :: Maybe [FixableTotalByDigest]+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'VulnerabilityOccurrencesSummary' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'vosCounts'+vulnerabilityOccurrencesSummary+ :: VulnerabilityOccurrencesSummary+vulnerabilityOccurrencesSummary =+ VulnerabilityOccurrencesSummary'+ { _vosCounts = Nothing+ }++-- | A listing by resource of the number of fixable and total+-- vulnerabilities.+vosCounts :: Lens' VulnerabilityOccurrencesSummary [FixableTotalByDigest]+vosCounts+ = lens _vosCounts (\ s a -> s{_vosCounts = a}) .+ _Default+ . _Coerce++instance FromJSON VulnerabilityOccurrencesSummary+ where+ parseJSON+ = withObject "VulnerabilityOccurrencesSummary"+ (\ o ->+ VulnerabilityOccurrencesSummary' <$>+ (o .:? "counts" .!= mempty))++instance ToJSON VulnerabilityOccurrencesSummary where+ toJSON VulnerabilityOccurrencesSummary'{..}+ = object (catMaybes [("counts" .=) <$> _vosCounts])++-- | Provenance of a build. Contains all information needed to verify the+-- full details about the build from source to completion.+--+-- /See:/ 'buildProvenance' smart constructor.+data BuildProvenance = BuildProvenance'+ { _bpCreator :: !(Maybe Text)+ , _bpSourceProvenance :: !(Maybe Source)+ , _bpCommands :: !(Maybe [Command])+ , _bpTriggerId :: !(Maybe Text)+ , _bpStartTime :: !(Maybe DateTime')+ , _bpBuilderVersion :: !(Maybe Text)+ , _bpEndTime :: !(Maybe DateTime')+ , _bpId :: !(Maybe Text)+ , _bpProjectId :: !(Maybe Text)+ , _bpBuiltArtifacts :: !(Maybe [Artifact])+ , _bpBuildOptions :: !(Maybe BuildProvenanceBuildOptions)+ , _bpCreateTime :: !(Maybe DateTime')+ , _bpLogsURI :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'BuildProvenance' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bpCreator'+--+-- * 'bpSourceProvenance'+--+-- * 'bpCommands'+--+-- * 'bpTriggerId'+--+-- * 'bpStartTime'+--+-- * 'bpBuilderVersion'+--+-- * 'bpEndTime'+--+-- * 'bpId'+--+-- * 'bpProjectId'+--+-- * 'bpBuiltArtifacts'+--+-- * 'bpBuildOptions'+--+-- * 'bpCreateTime'+--+-- * 'bpLogsURI'+buildProvenance+ :: BuildProvenance+buildProvenance =+ BuildProvenance'+ { _bpCreator = Nothing+ , _bpSourceProvenance = Nothing+ , _bpCommands = Nothing+ , _bpTriggerId = Nothing+ , _bpStartTime = Nothing+ , _bpBuilderVersion = Nothing+ , _bpEndTime = Nothing+ , _bpId = Nothing+ , _bpProjectId = Nothing+ , _bpBuiltArtifacts = Nothing+ , _bpBuildOptions = Nothing+ , _bpCreateTime = Nothing+ , _bpLogsURI = Nothing+ }++-- | E-mail address of the user who initiated this build. Note that this was+-- the user\'s e-mail address at the time the build was initiated; this+-- address may not represent the same end-user for all time.+bpCreator :: Lens' BuildProvenance (Maybe Text)+bpCreator+ = lens _bpCreator (\ s a -> s{_bpCreator = a})++-- | Details of the Source input to the build.+bpSourceProvenance :: Lens' BuildProvenance (Maybe Source)+bpSourceProvenance+ = lens _bpSourceProvenance+ (\ s a -> s{_bpSourceProvenance = a})++-- | Commands requested by the build.+bpCommands :: Lens' BuildProvenance [Command]+bpCommands+ = lens _bpCommands (\ s a -> s{_bpCommands = a}) .+ _Default+ . _Coerce++-- | Trigger identifier if the build was triggered automatically; empty if+-- not.+bpTriggerId :: Lens' BuildProvenance (Maybe Text)+bpTriggerId+ = lens _bpTriggerId (\ s a -> s{_bpTriggerId = a})++-- | Time at which execution of the build was started.+bpStartTime :: Lens' BuildProvenance (Maybe UTCTime)+bpStartTime+ = lens _bpStartTime (\ s a -> s{_bpStartTime = a}) .+ mapping _DateTime++-- | Version string of the builder at the time this build was executed.+bpBuilderVersion :: Lens' BuildProvenance (Maybe Text)+bpBuilderVersion+ = lens _bpBuilderVersion+ (\ s a -> s{_bpBuilderVersion = a})++-- | Time at which execution of the build was finished.+bpEndTime :: Lens' BuildProvenance (Maybe UTCTime)+bpEndTime+ = lens _bpEndTime (\ s a -> s{_bpEndTime = a}) .+ mapping _DateTime++-- | Required. Unique identifier of the build.+bpId :: Lens' BuildProvenance (Maybe Text)+bpId = lens _bpId (\ s a -> s{_bpId = a})++-- | ID of the project.+bpProjectId :: Lens' BuildProvenance (Maybe Text)+bpProjectId+ = lens _bpProjectId (\ s a -> s{_bpProjectId = a})++-- | Output of the build.+bpBuiltArtifacts :: Lens' BuildProvenance [Artifact]+bpBuiltArtifacts+ = lens _bpBuiltArtifacts+ (\ s a -> s{_bpBuiltArtifacts = a})+ . _Default+ . _Coerce++-- | Special options applied to this build. This is a catch-all field where+-- build providers can enter any desired additional details.+bpBuildOptions :: Lens' BuildProvenance (Maybe BuildProvenanceBuildOptions)+bpBuildOptions+ = lens _bpBuildOptions+ (\ s a -> s{_bpBuildOptions = a})++-- | Time at which the build was created.+bpCreateTime :: Lens' BuildProvenance (Maybe UTCTime)+bpCreateTime+ = lens _bpCreateTime (\ s a -> s{_bpCreateTime = a})+ . mapping _DateTime++-- | URI where any logs for this provenance were written.+bpLogsURI :: Lens' BuildProvenance (Maybe Text)+bpLogsURI+ = lens _bpLogsURI (\ s a -> s{_bpLogsURI = a})++instance FromJSON BuildProvenance where+ parseJSON+ = withObject "BuildProvenance"+ (\ o ->+ BuildProvenance' <$>+ (o .:? "creator") <*> (o .:? "sourceProvenance") <*>+ (o .:? "commands" .!= mempty)+ <*> (o .:? "triggerId")+ <*> (o .:? "startTime")+ <*> (o .:? "builderVersion")+ <*> (o .:? "endTime")+ <*> (o .:? "id")+ <*> (o .:? "projectId")+ <*> (o .:? "builtArtifacts" .!= mempty)+ <*> (o .:? "buildOptions")+ <*> (o .:? "createTime")+ <*> (o .:? "logsUri"))++instance ToJSON BuildProvenance where+ toJSON BuildProvenance'{..}+ = object+ (catMaybes+ [("creator" .=) <$> _bpCreator,+ ("sourceProvenance" .=) <$> _bpSourceProvenance,+ ("commands" .=) <$> _bpCommands,+ ("triggerId" .=) <$> _bpTriggerId,+ ("startTime" .=) <$> _bpStartTime,+ ("builderVersion" .=) <$> _bpBuilderVersion,+ ("endTime" .=) <$> _bpEndTime, ("id" .=) <$> _bpId,+ ("projectId" .=) <$> _bpProjectId,+ ("builtArtifacts" .=) <$> _bpBuiltArtifacts,+ ("buildOptions" .=) <$> _bpBuildOptions,+ ("createTime" .=) <$> _bpCreateTime,+ ("logsUri" .=) <$> _bpLogsURI])++-- | Specifies the audit configuration for a service. The configuration+-- determines which permission types are logged, and what identities, if+-- any, are exempted from logging. An AuditConfig must have one or more+-- AuditLogConfigs. If there are AuditConfigs for both \`allServices\` and+-- a specific service, the union of the two AuditConfigs is used for that+-- service: the log_types specified in each AuditConfig are enabled, and+-- the exempted_members in each AuditLogConfig are exempted. Example Policy+-- with multiple AuditConfigs: { \"audit_configs\": [ { \"service\":+-- \"allServices\" \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\",+-- \"exempted_members\": [ \"user:foo\'gmail.com\" ] }, { \"log_type\":+-- \"DATA_WRITE\", }, { \"log_type\": \"ADMIN_READ\", } ] }, { \"service\":+-- \"fooservice.googleapis.com\" \"audit_log_configs\": [ { \"log_type\":+-- \"DATA_READ\", }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\":+-- [ \"user:bar\'gmail.com\" ] } ] } ] } For fooservice, this policy+-- enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts+-- foo\'gmail.com from DATA_READ logging, and bar\'gmail.com from+-- DATA_WRITE logging.+--+-- /See:/ 'auditConfig' smart constructor.+data AuditConfig = AuditConfig'+ { _acService :: !(Maybe Text)+ , _acAuditLogConfigs :: !(Maybe [AuditLogConfig])+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AuditConfig' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'acService'+--+-- * 'acAuditLogConfigs'+auditConfig+ :: AuditConfig+auditConfig =+ AuditConfig'+ { _acService = Nothing+ , _acAuditLogConfigs = Nothing+ }++-- | Specifies a service that will be enabled for audit logging. For example,+-- \`storage.googleapis.com\`, \`cloudsql.googleapis.com\`. \`allServices\`+-- is a special value that covers all services.+acService :: Lens' AuditConfig (Maybe Text)+acService+ = lens _acService (\ s a -> s{_acService = a})++-- | The configuration for logging of each type of permission.+acAuditLogConfigs :: Lens' AuditConfig [AuditLogConfig]+acAuditLogConfigs+ = lens _acAuditLogConfigs+ (\ s a -> s{_acAuditLogConfigs = a})+ . _Default+ . _Coerce++instance FromJSON AuditConfig where+ parseJSON+ = withObject "AuditConfig"+ (\ o ->+ AuditConfig' <$>+ (o .:? "service") <*>+ (o .:? "auditLogConfigs" .!= mempty))++instance ToJSON AuditConfig where+ toJSON AuditConfig'{..}+ = object+ (catMaybes+ [("service" .=) <$> _acService,+ ("auditLogConfigs" .=) <$> _acAuditLogConfigs])++-- | An instance of an analysis type that has been found on a resource.+--+-- /See:/ 'occurrence' smart constructor.+data Occurrence = Occurrence'+ { _oInstallation :: !(Maybe GrafeasV1beta1PackageDetails)+ , _oVulnerability :: !(Maybe GrafeasV1beta1VulnerabilityDetails)+ , _oDerivedImage :: !(Maybe GrafeasV1beta1ImageDetails)+ , _oKind :: !(Maybe OccurrenceKind)+ , _oBuild :: !(Maybe GrafeasV1beta1BuildDetails)+ , _oAttestation :: !(Maybe Details)+ , _oUpdateTime :: !(Maybe DateTime')+ , _oName :: !(Maybe Text)+ , _oNoteName :: !(Maybe Text)+ , _oRemediation :: !(Maybe Text)+ , _oResource :: !(Maybe Resource)+ , _oDiscovered :: !(Maybe GrafeasV1beta1DiscoveryDetails)+ , _oCreateTime :: !(Maybe DateTime')+ , _oDeployment :: !(Maybe GrafeasV1beta1DeploymentDetails)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Occurrence' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'oInstallation'+--+-- * 'oVulnerability'+--+-- * 'oDerivedImage'+--+-- * 'oKind'+--+-- * 'oBuild'+--+-- * 'oAttestation'+--+-- * 'oUpdateTime'+--+-- * 'oName'+--+-- * 'oNoteName'+--+-- * 'oRemediation'+--+-- * 'oResource'+--+-- * 'oDiscovered'+--+-- * 'oCreateTime'+--+-- * 'oDeployment'+occurrence+ :: Occurrence+occurrence =+ Occurrence'+ { _oInstallation = Nothing+ , _oVulnerability = Nothing+ , _oDerivedImage = Nothing+ , _oKind = Nothing+ , _oBuild = Nothing+ , _oAttestation = Nothing+ , _oUpdateTime = Nothing+ , _oName = Nothing+ , _oNoteName = Nothing+ , _oRemediation = Nothing+ , _oResource = Nothing+ , _oDiscovered = Nothing+ , _oCreateTime = Nothing+ , _oDeployment = Nothing+ }++-- | Describes the installation of a package on the linked resource.+oInstallation :: Lens' Occurrence (Maybe GrafeasV1beta1PackageDetails)+oInstallation+ = lens _oInstallation+ (\ s a -> s{_oInstallation = a})++-- | Describes a security vulnerability.+oVulnerability :: Lens' Occurrence (Maybe GrafeasV1beta1VulnerabilityDetails)+oVulnerability+ = lens _oVulnerability+ (\ s a -> s{_oVulnerability = a})++-- | Describes how this resource derives from the basis in the associated+-- note.+oDerivedImage :: Lens' Occurrence (Maybe GrafeasV1beta1ImageDetails)+oDerivedImage+ = lens _oDerivedImage+ (\ s a -> s{_oDerivedImage = a})++-- | Output only. This explicitly denotes which of the occurrence details are+-- specified. This field can be used as a filter in list requests.+oKind :: Lens' Occurrence (Maybe OccurrenceKind)+oKind = lens _oKind (\ s a -> s{_oKind = a})++-- | Describes a verifiable build.+oBuild :: Lens' Occurrence (Maybe GrafeasV1beta1BuildDetails)+oBuild = lens _oBuild (\ s a -> s{_oBuild = a})++-- | Describes an attestation of an artifact.+oAttestation :: Lens' Occurrence (Maybe Details)+oAttestation+ = lens _oAttestation (\ s a -> s{_oAttestation = a})++-- | Output only. The time this occurrence was last updated.+oUpdateTime :: Lens' Occurrence (Maybe UTCTime)+oUpdateTime+ = lens _oUpdateTime (\ s a -> s{_oUpdateTime = a}) .+ mapping _DateTime++-- | Output only. The name of the occurrence in the form of+-- \`projects\/[PROJECT_ID]\/occurrences\/[OCCURRENCE_ID]\`.+oName :: Lens' Occurrence (Maybe Text)+oName = lens _oName (\ s a -> s{_oName = a})++-- | Required. Immutable. The analysis note associated with this occurrence,+-- in the form of \`projects\/[PROVIDER_ID]\/notes\/[NOTE_ID]\`. This field+-- can be used as a filter in list requests.+oNoteName :: Lens' Occurrence (Maybe Text)+oNoteName+ = lens _oNoteName (\ s a -> s{_oNoteName = a})++-- | A description of actions that can be taken to remedy the note.+oRemediation :: Lens' Occurrence (Maybe Text)+oRemediation+ = lens _oRemediation (\ s a -> s{_oRemediation = a})++-- | Required. Immutable. The resource for which the occurrence applies.+oResource :: Lens' Occurrence (Maybe Resource)+oResource+ = lens _oResource (\ s a -> s{_oResource = a})++-- | Describes when a resource was discovered.+oDiscovered :: Lens' Occurrence (Maybe GrafeasV1beta1DiscoveryDetails)+oDiscovered+ = lens _oDiscovered (\ s a -> s{_oDiscovered = a})++-- | Output only. The time this occurrence was created.+oCreateTime :: Lens' Occurrence (Maybe UTCTime)+oCreateTime+ = lens _oCreateTime (\ s a -> s{_oCreateTime = a}) .+ mapping _DateTime++-- | Describes the deployment of an artifact on a runtime.+oDeployment :: Lens' Occurrence (Maybe GrafeasV1beta1DeploymentDetails)+oDeployment+ = lens _oDeployment (\ s a -> s{_oDeployment = a})++instance FromJSON Occurrence where+ parseJSON+ = withObject "Occurrence"+ (\ o ->+ Occurrence' <$>+ (o .:? "installation") <*> (o .:? "vulnerability")+ <*> (o .:? "derivedImage")+ <*> (o .:? "kind")+ <*> (o .:? "build")+ <*> (o .:? "attestation")+ <*> (o .:? "updateTime")+ <*> (o .:? "name")+ <*> (o .:? "noteName")+ <*> (o .:? "remediation")+ <*> (o .:? "resource")+ <*> (o .:? "discovered")+ <*> (o .:? "createTime")+ <*> (o .:? "deployment"))++instance ToJSON Occurrence where+ toJSON Occurrence'{..}+ = object+ (catMaybes+ [("installation" .=) <$> _oInstallation,+ ("vulnerability" .=) <$> _oVulnerability,+ ("derivedImage" .=) <$> _oDerivedImage,+ ("kind" .=) <$> _oKind, ("build" .=) <$> _oBuild,+ ("attestation" .=) <$> _oAttestation,+ ("updateTime" .=) <$> _oUpdateTime,+ ("name" .=) <$> _oName,+ ("noteName" .=) <$> _oNoteName,+ ("remediation" .=) <$> _oRemediation,+ ("resource" .=) <$> _oResource,+ ("discovered" .=) <$> _oDiscovered,+ ("createTime" .=) <$> _oCreateTime,+ ("deployment" .=) <$> _oDeployment])++-- | Details of a vulnerability Occurrence.+--+-- /See:/ 'grafeasV1beta1VulnerabilityDetails' smart constructor.+data GrafeasV1beta1VulnerabilityDetails = GrafeasV1beta1VulnerabilityDetails'+ { _gvvdLongDescription :: !(Maybe Text)+ , _gvvdRelatedURLs :: !(Maybe [RelatedURL])+ , _gvvdCvssScore :: !(Maybe (Textual Double))+ , _gvvdPackageIssue :: !(Maybe [PackageIssue])+ , _gvvdSeverity :: !(Maybe GrafeasV1beta1VulnerabilityDetailsSeverity)+ , _gvvdShortDescription :: !(Maybe Text)+ , _gvvdType :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'GrafeasV1beta1VulnerabilityDetails' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gvvdLongDescription'+--+-- * 'gvvdRelatedURLs'+--+-- * 'gvvdCvssScore'+--+-- * 'gvvdPackageIssue'+--+-- * 'gvvdSeverity'+--+-- * 'gvvdShortDescription'+--+-- * 'gvvdType'+grafeasV1beta1VulnerabilityDetails+ :: GrafeasV1beta1VulnerabilityDetails+grafeasV1beta1VulnerabilityDetails =+ GrafeasV1beta1VulnerabilityDetails'+ { _gvvdLongDescription = Nothing+ , _gvvdRelatedURLs = Nothing+ , _gvvdCvssScore = Nothing+ , _gvvdPackageIssue = Nothing+ , _gvvdSeverity = Nothing+ , _gvvdShortDescription = Nothing+ , _gvvdType = Nothing+ }++-- | Output only. A detailed description of this vulnerability.+gvvdLongDescription :: Lens' GrafeasV1beta1VulnerabilityDetails (Maybe Text)+gvvdLongDescription+ = lens _gvvdLongDescription+ (\ s a -> s{_gvvdLongDescription = a})++-- | Output only. URLs related to this vulnerability.+gvvdRelatedURLs :: Lens' GrafeasV1beta1VulnerabilityDetails [RelatedURL]+gvvdRelatedURLs+ = lens _gvvdRelatedURLs+ (\ s a -> s{_gvvdRelatedURLs = a})+ . _Default+ . _Coerce++-- | Output only. The CVSS score of this vulnerability. CVSS score is on a+-- scale of 0-10 where 0 indicates low severity and 10 indicates high+-- severity.+gvvdCvssScore :: Lens' GrafeasV1beta1VulnerabilityDetails (Maybe Double)+gvvdCvssScore+ = lens _gvvdCvssScore+ (\ s a -> s{_gvvdCvssScore = a})+ . mapping _Coerce++-- | Required. The set of affected locations and their fixes (if available)+-- within the associated resource.+gvvdPackageIssue :: Lens' GrafeasV1beta1VulnerabilityDetails [PackageIssue]+gvvdPackageIssue+ = lens _gvvdPackageIssue+ (\ s a -> s{_gvvdPackageIssue = a})+ . _Default+ . _Coerce++-- | Output only. The note provider assigned Severity of the vulnerability.+gvvdSeverity :: Lens' GrafeasV1beta1VulnerabilityDetails (Maybe GrafeasV1beta1VulnerabilityDetailsSeverity)+gvvdSeverity+ = lens _gvvdSeverity (\ s a -> s{_gvvdSeverity = a})++-- | Output only. A one sentence description of this vulnerability.+gvvdShortDescription :: Lens' GrafeasV1beta1VulnerabilityDetails (Maybe Text)+gvvdShortDescription+ = lens _gvvdShortDescription+ (\ s a -> s{_gvvdShortDescription = a})++-- | The type of package; whether native or non native(ruby gems, node.js+-- packages etc)+gvvdType :: Lens' GrafeasV1beta1VulnerabilityDetails (Maybe Text)+gvvdType = lens _gvvdType (\ s a -> s{_gvvdType = a})++instance FromJSON GrafeasV1beta1VulnerabilityDetails+ where+ parseJSON+ = withObject "GrafeasV1beta1VulnerabilityDetails"+ (\ o ->+ GrafeasV1beta1VulnerabilityDetails' <$>+ (o .:? "longDescription") <*>+ (o .:? "relatedUrls" .!= mempty)+ <*> (o .:? "cvssScore")+ <*> (o .:? "packageIssue" .!= mempty)+ <*> (o .:? "severity")+ <*> (o .:? "shortDescription")+ <*> (o .:? "type"))++instance ToJSON GrafeasV1beta1VulnerabilityDetails+ where+ toJSON GrafeasV1beta1VulnerabilityDetails'{..}+ = object+ (catMaybes+ [("longDescription" .=) <$> _gvvdLongDescription,+ ("relatedUrls" .=) <$> _gvvdRelatedURLs,+ ("cvssScore" .=) <$> _gvvdCvssScore,+ ("packageIssue" .=) <$> _gvvdPackageIssue,+ ("severity" .=) <$> _gvvdSeverity,+ ("shortDescription" .=) <$> _gvvdShortDescription,+ ("type" .=) <$> _gvvdType])++-- | Hash(es) of the build source, which can be used to verify that the+-- original source integrity was maintained in the build. The keys to this+-- map are file paths used as build source and the values contain the hash+-- values for those files. If the build source came in a single package+-- such as a gzipped tarfile (.tar.gz), the FileHash will be for the single+-- path to that file.+--+-- /See:/ 'sourceFileHashes' smart constructor.+newtype SourceFileHashes = SourceFileHashes'+ { _sfhAddtional :: HashMap Text FileHashes+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SourceFileHashes' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sfhAddtional'+sourceFileHashes+ :: HashMap Text FileHashes -- ^ 'sfhAddtional'+ -> SourceFileHashes+sourceFileHashes pSfhAddtional_ =+ SourceFileHashes'+ { _sfhAddtional = _Coerce # pSfhAddtional_+ }++sfhAddtional :: Lens' SourceFileHashes (HashMap Text FileHashes)+sfhAddtional+ = lens _sfhAddtional (\ s a -> s{_sfhAddtional = a})+ . _Coerce++instance FromJSON SourceFileHashes where+ parseJSON+ = withObject "SourceFileHashes"+ (\ o -> SourceFileHashes' <$> (parseJSONObject o))++instance ToJSON SourceFileHashes where+ toJSON = toJSON . _sfhAddtional++-- | Represents an expression text. Example: title: \"User account presence\"+-- description: \"Determines whether the request has a user account\"+-- expression: \"size(request.user) > 0\"+--+-- /See:/ 'expr' smart constructor.+data Expr = Expr'+ { _eLocation :: !(Maybe Text)+ , _eExpression :: !(Maybe Text)+ , _eTitle :: !(Maybe Text)+ , _eDescription :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Expr' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'eLocation'+--+-- * 'eExpression'+--+-- * 'eTitle'+--+-- * 'eDescription'+expr+ :: Expr+expr =+ Expr'+ { _eLocation = Nothing+ , _eExpression = Nothing+ , _eTitle = Nothing+ , _eDescription = Nothing+ }++-- | An optional string indicating the location of the expression for error+-- reporting, e.g. a file name and a position in the file.+eLocation :: Lens' Expr (Maybe Text)+eLocation+ = lens _eLocation (\ s a -> s{_eLocation = a})++-- | Textual representation of an expression in Common Expression Language+-- syntax. The application context of the containing message determines+-- which well-known feature set of CEL is supported.+eExpression :: Lens' Expr (Maybe Text)+eExpression+ = lens _eExpression (\ s a -> s{_eExpression = a})++-- | An optional title for the expression, i.e. a short string describing its+-- purpose. This can be used e.g. in UIs which allow to enter the+-- expression.+eTitle :: Lens' Expr (Maybe Text)+eTitle = lens _eTitle (\ s a -> s{_eTitle = a})++-- | An optional description of the expression. This is a longer text which+-- describes the expression, e.g. when hovered over it in a UI.+eDescription :: Lens' Expr (Maybe Text)+eDescription+ = lens _eDescription (\ s a -> s{_eDescription = a})++instance FromJSON Expr where+ parseJSON+ = withObject "Expr"+ (\ o ->+ Expr' <$>+ (o .:? "location") <*> (o .:? "expression") <*>+ (o .:? "title")+ <*> (o .:? "description"))++instance ToJSON Expr where+ toJSON Expr'{..}+ = object+ (catMaybes+ [("location" .=) <$> _eLocation,+ ("expression" .=) <$> _eExpression,+ ("title" .=) <$> _eTitle,+ ("description" .=) <$> _eDescription])++-- | Command describes a step performed as part of the build pipeline.+--+-- /See:/ 'command' smart constructor.+data Command = Command'+ { _cDir :: !(Maybe Text)+ , _cArgs :: !(Maybe [Text])+ , _cEnv :: !(Maybe [Text])+ , _cWaitFor :: !(Maybe [Text])+ , _cName :: !(Maybe Text)+ , _cId :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Command' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cDir'+--+-- * 'cArgs'+--+-- * 'cEnv'+--+-- * 'cWaitFor'+--+-- * 'cName'+--+-- * 'cId'+command+ :: Command+command =+ Command'+ { _cDir = Nothing+ , _cArgs = Nothing+ , _cEnv = Nothing+ , _cWaitFor = Nothing+ , _cName = Nothing+ , _cId = Nothing+ }++-- | Working directory (relative to project source root) used when running+-- this command.+cDir :: Lens' Command (Maybe Text)+cDir = lens _cDir (\ s a -> s{_cDir = a})++-- | Command-line arguments used when executing this command.+cArgs :: Lens' Command [Text]+cArgs+ = lens _cArgs (\ s a -> s{_cArgs = a}) . _Default .+ _Coerce++-- | Environment variables set before running this command.+cEnv :: Lens' Command [Text]+cEnv+ = lens _cEnv (\ s a -> s{_cEnv = a}) . _Default .+ _Coerce++-- | The ID(s) of the command(s) that this command depends on.+cWaitFor :: Lens' Command [Text]+cWaitFor+ = lens _cWaitFor (\ s a -> s{_cWaitFor = a}) .+ _Default+ . _Coerce++-- | Required. Name of the command, as presented on the command line, or if+-- the command is packaged as a Docker container, as presented to \`docker+-- pull\`.+cName :: Lens' Command (Maybe Text)+cName = lens _cName (\ s a -> s{_cName = a})++-- | Optional unique identifier for this command, used in wait_for to+-- reference this command as a dependency.+cId :: Lens' Command (Maybe Text)+cId = lens _cId (\ s a -> s{_cId = a})++instance FromJSON Command where+ parseJSON+ = withObject "Command"+ (\ o ->+ Command' <$>+ (o .:? "dir") <*> (o .:? "args" .!= mempty) <*>+ (o .:? "env" .!= mempty)+ <*> (o .:? "waitFor" .!= mempty)+ <*> (o .:? "name")+ <*> (o .:? "id"))++instance ToJSON Command where+ toJSON Command'{..}+ = object+ (catMaybes+ [("dir" .=) <$> _cDir, ("args" .=) <$> _cArgs,+ ("env" .=) <$> _cEnv, ("waitFor" .=) <$> _cWaitFor,+ ("name" .=) <$> _cName, ("id" .=) <$> _cId])++-- | Request message for \`GetIamPolicy\` method.+--+-- /See:/ 'getIAMPolicyRequest' smart constructor.+data GetIAMPolicyRequest =+ GetIAMPolicyRequest'+ deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetIAMPolicyRequest' with the minimum fields required to make a request.+--+getIAMPolicyRequest+ :: GetIAMPolicyRequest+getIAMPolicyRequest = GetIAMPolicyRequest'++instance FromJSON GetIAMPolicyRequest where+ parseJSON+ = withObject "GetIAMPolicyRequest"+ (\ o -> pure GetIAMPolicyRequest')++instance ToJSON GetIAMPolicyRequest where+ toJSON = const emptyObject++-- | A note that indicates a type of analysis a provider would perform. This+-- note exists in a provider\'s project. A \`Discovery\` occurrence is+-- created in a consumer\'s project at the start of analysis.+--+-- /See:/ 'discovery' smart constructor.+newtype Discovery = Discovery'+ { _dAnalysisKind :: Maybe DiscoveryAnalysisKind+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Discovery' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dAnalysisKind'+discovery+ :: Discovery+discovery =+ Discovery'+ { _dAnalysisKind = Nothing+ }++-- | Required. Immutable. The kind of analysis that is handled by this+-- discovery.+dAnalysisKind :: Lens' Discovery (Maybe DiscoveryAnalysisKind)+dAnalysisKind+ = lens _dAnalysisKind+ (\ s a -> s{_dAnalysisKind = a})++instance FromJSON Discovery where+ parseJSON+ = withObject "Discovery"+ (\ o -> Discovery' <$> (o .:? "analysisKind"))++instance ToJSON Discovery where+ toJSON Discovery'{..}+ = object+ (catMaybes [("analysisKind" .=) <$> _dAnalysisKind])++-- | Container message for hash values.+--+-- /See:/ 'hash' smart constructor.+data Hash = Hash'+ { _hValue :: !(Maybe Bytes)+ , _hType :: !(Maybe HashType)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Hash' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'hValue'+--+-- * 'hType'+hash+ :: Hash+hash =+ Hash'+ { _hValue = Nothing+ , _hType = Nothing+ }++-- | Required. The hash value.+hValue :: Lens' Hash (Maybe ByteString)+hValue+ = lens _hValue (\ s a -> s{_hValue = a}) .+ mapping _Bytes++-- | Required. The type of hash that was performed.+hType :: Lens' Hash (Maybe HashType)+hType = lens _hType (\ s a -> s{_hType = a})++instance FromJSON Hash where+ parseJSON+ = withObject "Hash"+ (\ o -> Hash' <$> (o .:? "value") <*> (o .:? "type"))++instance ToJSON Hash where+ toJSON Hash'{..}+ = object+ (catMaybes+ [("value" .=) <$> _hValue, ("type" .=) <$> _hType])++-- | Basis describes the base image portion (Note) of the DockerImage+-- relationship. Linked occurrences are derived from this or an equivalent+-- image via: FROM Or an equivalent reference, e.g. a tag of the+-- resource_url.+--+-- /See:/ 'basis' smart constructor.+data Basis = Basis'+ { _bFingerprint :: !(Maybe Fingerprint)+ , _bResourceURL :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Basis' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bFingerprint'+--+-- * 'bResourceURL'+basis+ :: Basis+basis =+ Basis'+ { _bFingerprint = Nothing+ , _bResourceURL = Nothing+ }++-- | Required. Immutable. The fingerprint of the base image.+bFingerprint :: Lens' Basis (Maybe Fingerprint)+bFingerprint+ = lens _bFingerprint (\ s a -> s{_bFingerprint = a})++-- | Required. Immutable. The resource_url for the resource representing the+-- basis of associated occurrence images.+bResourceURL :: Lens' Basis (Maybe Text)+bResourceURL+ = lens _bResourceURL (\ s a -> s{_bResourceURL = a})++instance FromJSON Basis where+ parseJSON+ = withObject "Basis"+ (\ o ->+ Basis' <$>+ (o .:? "fingerprint") <*> (o .:? "resourceUrl"))++instance ToJSON Basis where+ toJSON Basis'{..}+ = object+ (catMaybes+ [("fingerprint" .=) <$> _bFingerprint,+ ("resourceUrl" .=) <$> _bResourceURL])++-- | Request to create notes in batch.+--+-- /See:/ 'batchCreateNotesRequest' smart constructor.+newtype BatchCreateNotesRequest = BatchCreateNotesRequest'+ { _bcnrNotes :: Maybe BatchCreateNotesRequestNotes+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'BatchCreateNotesRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bcnrNotes'+batchCreateNotesRequest+ :: BatchCreateNotesRequest+batchCreateNotesRequest =+ BatchCreateNotesRequest'+ { _bcnrNotes = Nothing+ }++-- | The notes to create. Max allowed length is 1000.+bcnrNotes :: Lens' BatchCreateNotesRequest (Maybe BatchCreateNotesRequestNotes)+bcnrNotes+ = lens _bcnrNotes (\ s a -> s{_bcnrNotes = a})++instance FromJSON BatchCreateNotesRequest where+ parseJSON+ = withObject "BatchCreateNotesRequest"+ (\ o -> BatchCreateNotesRequest' <$> (o .:? "notes"))++instance ToJSON BatchCreateNotesRequest where+ toJSON BatchCreateNotesRequest'{..}+ = object (catMaybes [("notes" .=) <$> _bcnrNotes])++-- | A SourceContext is a reference to a tree of files. A SourceContext+-- together with a path point to a unique revision of a single file or+-- directory.+--+-- /See:/ 'sourceContext' smart constructor.+data SourceContext = SourceContext'+ { _scCloudRepo :: !(Maybe CloudRepoSourceContext)+ , _scGerrit :: !(Maybe GerritSourceContext)+ , _scGit :: !(Maybe GitSourceContext)+ , _scLabels :: !(Maybe SourceContextLabels)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SourceContext' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'scCloudRepo'+--+-- * 'scGerrit'+--+-- * 'scGit'+--+-- * 'scLabels'+sourceContext+ :: SourceContext+sourceContext =+ SourceContext'+ { _scCloudRepo = Nothing+ , _scGerrit = Nothing+ , _scGit = Nothing+ , _scLabels = Nothing+ }++-- | A SourceContext referring to a revision in a Google Cloud Source Repo.+scCloudRepo :: Lens' SourceContext (Maybe CloudRepoSourceContext)+scCloudRepo+ = lens _scCloudRepo (\ s a -> s{_scCloudRepo = a})++-- | A SourceContext referring to a Gerrit project.+scGerrit :: Lens' SourceContext (Maybe GerritSourceContext)+scGerrit = lens _scGerrit (\ s a -> s{_scGerrit = a})++-- | A SourceContext referring to any third party Git repo (e.g., GitHub).+scGit :: Lens' SourceContext (Maybe GitSourceContext)+scGit = lens _scGit (\ s a -> s{_scGit = a})++-- | Labels with user defined metadata.+scLabels :: Lens' SourceContext (Maybe SourceContextLabels)+scLabels = lens _scLabels (\ s a -> s{_scLabels = a})++instance FromJSON SourceContext where+ parseJSON+ = withObject "SourceContext"+ (\ o ->+ SourceContext' <$>+ (o .:? "cloudRepo") <*> (o .:? "gerrit") <*>+ (o .:? "git")+ <*> (o .:? "labels"))++instance ToJSON SourceContext where+ toJSON SourceContext'{..}+ = object+ (catMaybes+ [("cloudRepo" .=) <$> _scCloudRepo,+ ("gerrit" .=) <$> _scGerrit, ("git" .=) <$> _scGit,+ ("labels" .=) <$> _scLabels])++-- | This represents a particular channel of distribution for a given+-- package. E.g., Debian\'s jessie-backports dpkg mirror.+--+-- /See:/ 'distribution' smart constructor.+data Distribution = Distribution'+ { _dURL :: !(Maybe Text)+ , _dMaintainer :: !(Maybe Text)+ , _dArchitecture :: !(Maybe DistributionArchitecture)+ , _dCpeURI :: !(Maybe Text)+ , _dDescription :: !(Maybe Text)+ , _dLatestVersion :: !(Maybe Version)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Distribution' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dURL'+--+-- * 'dMaintainer'+--+-- * 'dArchitecture'+--+-- * 'dCpeURI'+--+-- * 'dDescription'+--+-- * 'dLatestVersion'+distribution+ :: Distribution+distribution =+ Distribution'+ { _dURL = Nothing+ , _dMaintainer = Nothing+ , _dArchitecture = Nothing+ , _dCpeURI = Nothing+ , _dDescription = Nothing+ , _dLatestVersion = Nothing+ }++-- | The distribution channel-specific homepage for this package.+dURL :: Lens' Distribution (Maybe Text)+dURL = lens _dURL (\ s a -> s{_dURL = a})++-- | A freeform string denoting the maintainer of this package.+dMaintainer :: Lens' Distribution (Maybe Text)+dMaintainer+ = lens _dMaintainer (\ s a -> s{_dMaintainer = a})++-- | The CPU architecture for which packages in this distribution channel+-- were built.+dArchitecture :: Lens' Distribution (Maybe DistributionArchitecture)+dArchitecture+ = lens _dArchitecture+ (\ s a -> s{_dArchitecture = a})++-- | Required. The cpe_uri in [CPE+-- format](https:\/\/cpe.mitre.org\/specification\/) denoting the package+-- manager version distributing a package.+dCpeURI :: Lens' Distribution (Maybe Text)+dCpeURI = lens _dCpeURI (\ s a -> s{_dCpeURI = a})++-- | The distribution channel-specific description of this package.+dDescription :: Lens' Distribution (Maybe Text)+dDescription+ = lens _dDescription (\ s a -> s{_dDescription = a})++-- | The latest available version of this package in this distribution+-- channel.+dLatestVersion :: Lens' Distribution (Maybe Version)+dLatestVersion+ = lens _dLatestVersion+ (\ s a -> s{_dLatestVersion = a})++instance FromJSON Distribution where+ parseJSON+ = withObject "Distribution"+ (\ o ->+ Distribution' <$>+ (o .:? "url") <*> (o .:? "maintainer") <*>+ (o .:? "architecture")+ <*> (o .:? "cpeUri")+ <*> (o .:? "description")+ <*> (o .:? "latestVersion"))++instance ToJSON Distribution where+ toJSON Distribution'{..}+ = object+ (catMaybes+ [("url" .=) <$> _dURL,+ ("maintainer" .=) <$> _dMaintainer,+ ("architecture" .=) <$> _dArchitecture,+ ("cpeUri" .=) <$> _dCpeURI,+ ("description" .=) <$> _dDescription,+ ("latestVersion" .=) <$> _dLatestVersion])++-- | Request to create occurrences in batch.+--+-- /See:/ 'batchCreateOccurrencesRequest' smart constructor.+newtype BatchCreateOccurrencesRequest = BatchCreateOccurrencesRequest'+ { _bcorOccurrences :: Maybe [Occurrence]+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'BatchCreateOccurrencesRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bcorOccurrences'+batchCreateOccurrencesRequest+ :: BatchCreateOccurrencesRequest+batchCreateOccurrencesRequest =+ BatchCreateOccurrencesRequest'+ { _bcorOccurrences = Nothing+ }++-- | The occurrences to create. Max allowed length is 1000.+bcorOccurrences :: Lens' BatchCreateOccurrencesRequest [Occurrence]+bcorOccurrences+ = lens _bcorOccurrences+ (\ s a -> s{_bcorOccurrences = a})+ . _Default+ . _Coerce++instance FromJSON BatchCreateOccurrencesRequest where+ parseJSON+ = withObject "BatchCreateOccurrencesRequest"+ (\ o ->+ BatchCreateOccurrencesRequest' <$>+ (o .:? "occurrences" .!= mempty))++instance ToJSON BatchCreateOccurrencesRequest where+ toJSON BatchCreateOccurrencesRequest'{..}+ = object+ (catMaybes [("occurrences" .=) <$> _bcorOccurrences])++-- | Response for listing occurrences.+--+-- /See:/ 'listOccurrencesResponse' smart constructor.+data ListOccurrencesResponse = ListOccurrencesResponse'+ { _lorOccurrences :: !(Maybe [Occurrence])+ , _lorNextPageToken :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ListOccurrencesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lorOccurrences'+--+-- * 'lorNextPageToken'+listOccurrencesResponse+ :: ListOccurrencesResponse+listOccurrencesResponse =+ ListOccurrencesResponse'+ { _lorOccurrences = Nothing+ , _lorNextPageToken = Nothing+ }++-- | The occurrences requested.+lorOccurrences :: Lens' ListOccurrencesResponse [Occurrence]+lorOccurrences+ = lens _lorOccurrences+ (\ s a -> s{_lorOccurrences = a})+ . _Default+ . _Coerce++-- | The next pagination token in the list response. It should be used as+-- \`page_token\` for the following request. An empty value means no more+-- results.+lorNextPageToken :: Lens' ListOccurrencesResponse (Maybe Text)+lorNextPageToken+ = lens _lorNextPageToken+ (\ s a -> s{_lorNextPageToken = a})++instance FromJSON ListOccurrencesResponse where+ parseJSON+ = withObject "ListOccurrencesResponse"+ (\ o ->+ ListOccurrencesResponse' <$>+ (o .:? "occurrences" .!= mempty) <*>+ (o .:? "nextPageToken"))++instance ToJSON ListOccurrencesResponse where+ toJSON ListOccurrencesResponse'{..}+ = object+ (catMaybes+ [("occurrences" .=) <$> _lorOccurrences,+ ("nextPageToken" .=) <$> _lorNextPageToken])++-- | An occurrence of a particular package installation found within a+-- system\'s filesystem. E.g., glibc was found in+-- \`\/var\/lib\/dpkg\/status\`.+--+-- /See:/ 'location' smart constructor.+data Location = Location'+ { _lPath :: !(Maybe Text)+ , _lVersion :: !(Maybe Version)+ , _lCpeURI :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Location' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lPath'+--+-- * 'lVersion'+--+-- * 'lCpeURI'+location+ :: Location+location =+ Location'+ { _lPath = Nothing+ , _lVersion = Nothing+ , _lCpeURI = Nothing+ }++-- | The path from which we gathered that this package\/version is installed.+lPath :: Lens' Location (Maybe Text)+lPath = lens _lPath (\ s a -> s{_lPath = a})++-- | The version installed at this location.+lVersion :: Lens' Location (Maybe Version)+lVersion = lens _lVersion (\ s a -> s{_lVersion = a})++-- | Required. The CPE URI in [CPE+-- format](https:\/\/cpe.mitre.org\/specification\/) denoting the package+-- manager version distributing a package.+lCpeURI :: Lens' Location (Maybe Text)+lCpeURI = lens _lCpeURI (\ s a -> s{_lCpeURI = a})++instance FromJSON Location where+ parseJSON+ = withObject "Location"+ (\ o ->+ Location' <$>+ (o .:? "path") <*> (o .:? "version") <*>+ (o .:? "cpeUri"))++instance ToJSON Location where+ toJSON Location'{..}+ = object+ (catMaybes+ [("path" .=) <$> _lPath,+ ("version" .=) <$> _lVersion,+ ("cpeUri" .=) <$> _lCpeURI])++-- | A generic empty message that you can re-use to avoid defining duplicated+-- empty messages in your APIs. A typical example is to use it as the+-- request or the response type of an API method. For instance: service Foo+-- { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The+-- JSON representation for \`Empty\` is empty JSON object \`{}\`.+--+-- /See:/ 'empty' smart constructor.+data Empty =+ Empty'+ deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Empty' with the minimum fields required to make a request.+--+empty+ :: Empty+empty = Empty'++instance FromJSON Empty where+ parseJSON = withObject "Empty" (\ o -> pure Empty')++instance ToJSON Empty where+ toJSON = const emptyObject++-- | A SourceContext referring to a Gerrit project.+--+-- /See:/ 'gerritSourceContext' smart constructor.+data GerritSourceContext = GerritSourceContext'+ { _gscGerritProject :: !(Maybe Text)+ , _gscRevisionId :: !(Maybe Text)+ , _gscHostURI :: !(Maybe Text)+ , _gscAliasContext :: !(Maybe AliasContext)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'GerritSourceContext' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gscGerritProject'+--+-- * 'gscRevisionId'+--+-- * 'gscHostURI'+--+-- * 'gscAliasContext'+gerritSourceContext+ :: GerritSourceContext+gerritSourceContext =+ GerritSourceContext'+ { _gscGerritProject = Nothing+ , _gscRevisionId = Nothing+ , _gscHostURI = Nothing+ , _gscAliasContext = Nothing+ }++-- | The full project name within the host. Projects may be nested, so+-- \"project\/subproject\" is a valid project name. The \"repo name\" is+-- the hostURI\/project.+gscGerritProject :: Lens' GerritSourceContext (Maybe Text)+gscGerritProject+ = lens _gscGerritProject+ (\ s a -> s{_gscGerritProject = a})++-- | A revision (commit) ID.+gscRevisionId :: Lens' GerritSourceContext (Maybe Text)+gscRevisionId+ = lens _gscRevisionId+ (\ s a -> s{_gscRevisionId = a})++-- | The URI of a running Gerrit instance.+gscHostURI :: Lens' GerritSourceContext (Maybe Text)+gscHostURI+ = lens _gscHostURI (\ s a -> s{_gscHostURI = a})++-- | An alias, which may be a branch or tag.+gscAliasContext :: Lens' GerritSourceContext (Maybe AliasContext)+gscAliasContext+ = lens _gscAliasContext+ (\ s a -> s{_gscAliasContext = a})++instance FromJSON GerritSourceContext where+ parseJSON+ = withObject "GerritSourceContext"+ (\ o ->+ GerritSourceContext' <$>+ (o .:? "gerritProject") <*> (o .:? "revisionId") <*>+ (o .:? "hostUri")+ <*> (o .:? "aliasContext"))++instance ToJSON GerritSourceContext where+ toJSON GerritSourceContext'{..}+ = object+ (catMaybes+ [("gerritProject" .=) <$> _gscGerritProject,+ ("revisionId" .=) <$> _gscRevisionId,+ ("hostUri" .=) <$> _gscHostURI,+ ("aliasContext" .=) <$> _gscAliasContext])++-- | A unique identifier for a Cloud Repo.+--+-- /See:/ 'repoId' smart constructor.+data RepoId = RepoId'+ { _riUid :: !(Maybe Text)+ , _riProjectRepoId :: !(Maybe ProjectRepoId)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RepoId' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'riUid'+--+-- * 'riProjectRepoId'+repoId+ :: RepoId+repoId =+ RepoId'+ { _riUid = Nothing+ , _riProjectRepoId = Nothing+ }++-- | A server-assigned, globally unique identifier.+riUid :: Lens' RepoId (Maybe Text)+riUid = lens _riUid (\ s a -> s{_riUid = a})++-- | A combination of a project ID and a repo name.+riProjectRepoId :: Lens' RepoId (Maybe ProjectRepoId)+riProjectRepoId+ = lens _riProjectRepoId+ (\ s a -> s{_riProjectRepoId = a})++instance FromJSON RepoId where+ parseJSON+ = withObject "RepoId"+ (\ o ->+ RepoId' <$>+ (o .:? "uid") <*> (o .:? "projectRepoId"))++instance ToJSON RepoId where+ toJSON RepoId'{..}+ = object+ (catMaybes+ [("uid" .=) <$> _riUid,+ ("projectRepoId" .=) <$> _riProjectRepoId])++-- | Response for listing occurrences for a note.+--+-- /See:/ 'listNoteOccurrencesResponse' smart constructor.+data ListNoteOccurrencesResponse = ListNoteOccurrencesResponse'+ { _lnorOccurrences :: !(Maybe [Occurrence])+ , _lnorNextPageToken :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ListNoteOccurrencesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lnorOccurrences'+--+-- * 'lnorNextPageToken'+listNoteOccurrencesResponse+ :: ListNoteOccurrencesResponse+listNoteOccurrencesResponse =+ ListNoteOccurrencesResponse'+ { _lnorOccurrences = Nothing+ , _lnorNextPageToken = Nothing+ }++-- | The occurrences attached to the specified note.+lnorOccurrences :: Lens' ListNoteOccurrencesResponse [Occurrence]+lnorOccurrences+ = lens _lnorOccurrences+ (\ s a -> s{_lnorOccurrences = a})+ . _Default+ . _Coerce++-- | Token to provide to skip to a particular spot in the list.+lnorNextPageToken :: Lens' ListNoteOccurrencesResponse (Maybe Text)+lnorNextPageToken+ = lens _lnorNextPageToken+ (\ s a -> s{_lnorNextPageToken = a})++instance FromJSON ListNoteOccurrencesResponse where+ parseJSON+ = withObject "ListNoteOccurrencesResponse"+ (\ o ->+ ListNoteOccurrencesResponse' <$>+ (o .:? "occurrences" .!= mempty) <*>+ (o .:? "nextPageToken"))++instance ToJSON ListNoteOccurrencesResponse where+ toJSON ListNoteOccurrencesResponse'{..}+ = object+ (catMaybes+ [("occurrences" .=) <$> _lnorOccurrences,+ ("nextPageToken" .=) <$> _lnorNextPageToken])++-- | A type of analysis that can be done for a resource.+--+-- /See:/ 'note' smart constructor.+data Note = Note'+ { _nVulnerability :: !(Maybe Vulnerability)+ , _nLongDescription :: !(Maybe Text)+ , _nAttestationAuthority :: !(Maybe Authority)+ , _nDiscovery :: !(Maybe Discovery)+ , _nKind :: !(Maybe NoteKind)+ , _nRelatedNoteNames :: !(Maybe [Text])+ , _nBuild :: !(Maybe Build)+ , _nDeployable :: !(Maybe Deployable)+ , _nRelatedURL :: !(Maybe [RelatedURL])+ , _nUpdateTime :: !(Maybe DateTime')+ , _nShortDescription :: !(Maybe Text)+ , _nName :: !(Maybe Text)+ , _nBaseImage :: !(Maybe Basis)+ , _nPackage :: !(Maybe Package)+ , _nExpirationTime :: !(Maybe DateTime')+ , _nCreateTime :: !(Maybe DateTime')+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Note' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'nVulnerability'+--+-- * 'nLongDescription'+--+-- * 'nAttestationAuthority'+--+-- * 'nDiscovery'+--+-- * 'nKind'+--+-- * 'nRelatedNoteNames'+--+-- * 'nBuild'+--+-- * 'nDeployable'+--+-- * 'nRelatedURL'+--+-- * 'nUpdateTime'+--+-- * 'nShortDescription'+--+-- * 'nName'+--+-- * 'nBaseImage'+--+-- * 'nPackage'+--+-- * 'nExpirationTime'+--+-- * 'nCreateTime'+note+ :: Note+note =+ Note'+ { _nVulnerability = Nothing+ , _nLongDescription = Nothing+ , _nAttestationAuthority = Nothing+ , _nDiscovery = Nothing+ , _nKind = Nothing+ , _nRelatedNoteNames = Nothing+ , _nBuild = Nothing+ , _nDeployable = Nothing+ , _nRelatedURL = Nothing+ , _nUpdateTime = Nothing+ , _nShortDescription = Nothing+ , _nName = Nothing+ , _nBaseImage = Nothing+ , _nPackage = Nothing+ , _nExpirationTime = Nothing+ , _nCreateTime = Nothing+ }++-- | A note describing a package vulnerability.+nVulnerability :: Lens' Note (Maybe Vulnerability)+nVulnerability+ = lens _nVulnerability+ (\ s a -> s{_nVulnerability = a})++-- | A detailed description of this note.+nLongDescription :: Lens' Note (Maybe Text)+nLongDescription+ = lens _nLongDescription+ (\ s a -> s{_nLongDescription = a})++-- | A note describing an attestation role.+nAttestationAuthority :: Lens' Note (Maybe Authority)+nAttestationAuthority+ = lens _nAttestationAuthority+ (\ s a -> s{_nAttestationAuthority = a})++-- | A note describing the initial analysis of a resource.+nDiscovery :: Lens' Note (Maybe Discovery)+nDiscovery+ = lens _nDiscovery (\ s a -> s{_nDiscovery = a})++-- | Output only. The type of analysis. This field can be used as a filter in+-- list requests.+nKind :: Lens' Note (Maybe NoteKind)+nKind = lens _nKind (\ s a -> s{_nKind = a})++-- | Other notes related to this note.+nRelatedNoteNames :: Lens' Note [Text]+nRelatedNoteNames+ = lens _nRelatedNoteNames+ (\ s a -> s{_nRelatedNoteNames = a})+ . _Default+ . _Coerce++-- | A note describing build provenance for a verifiable build.+nBuild :: Lens' Note (Maybe Build)+nBuild = lens _nBuild (\ s a -> s{_nBuild = a})++-- | A note describing something that can be deployed.+nDeployable :: Lens' Note (Maybe Deployable)+nDeployable+ = lens _nDeployable (\ s a -> s{_nDeployable = a})++-- | URLs associated with this note.+nRelatedURL :: Lens' Note [RelatedURL]+nRelatedURL+ = lens _nRelatedURL (\ s a -> s{_nRelatedURL = a}) .+ _Default+ . _Coerce++-- | Output only. The time this note was last updated. This field can be used+-- as a filter in list requests.+nUpdateTime :: Lens' Note (Maybe UTCTime)+nUpdateTime+ = lens _nUpdateTime (\ s a -> s{_nUpdateTime = a}) .+ mapping _DateTime++-- | A one sentence description of this note.+nShortDescription :: Lens' Note (Maybe Text)+nShortDescription+ = lens _nShortDescription+ (\ s a -> s{_nShortDescription = a})++-- | Output only. The name of the note in the form of+-- \`projects\/[PROVIDER_ID]\/notes\/[NOTE_ID]\`.+nName :: Lens' Note (Maybe Text)+nName = lens _nName (\ s a -> s{_nName = a})++-- | A note describing a base image.+nBaseImage :: Lens' Note (Maybe Basis)+nBaseImage+ = lens _nBaseImage (\ s a -> s{_nBaseImage = a})++-- | A note describing a package hosted by various package managers.+nPackage :: Lens' Note (Maybe Package)+nPackage = lens _nPackage (\ s a -> s{_nPackage = a})++-- | Time of expiration for this note. Empty if note does not expire.+nExpirationTime :: Lens' Note (Maybe UTCTime)+nExpirationTime+ = lens _nExpirationTime+ (\ s a -> s{_nExpirationTime = a})+ . mapping _DateTime++-- | Output only. The time this note was created. This field can be used as a+-- filter in list requests.+nCreateTime :: Lens' Note (Maybe UTCTime)+nCreateTime+ = lens _nCreateTime (\ s a -> s{_nCreateTime = a}) .+ mapping _DateTime++instance FromJSON Note where+ parseJSON+ = withObject "Note"+ (\ o ->+ Note' <$>+ (o .:? "vulnerability") <*> (o .:? "longDescription")+ <*> (o .:? "attestationAuthority")+ <*> (o .:? "discovery")+ <*> (o .:? "kind")+ <*> (o .:? "relatedNoteNames" .!= mempty)+ <*> (o .:? "build")+ <*> (o .:? "deployable")+ <*> (o .:? "relatedUrl" .!= mempty)+ <*> (o .:? "updateTime")+ <*> (o .:? "shortDescription")+ <*> (o .:? "name")+ <*> (o .:? "baseImage")+ <*> (o .:? "package")+ <*> (o .:? "expirationTime")+ <*> (o .:? "createTime"))++instance ToJSON Note where+ toJSON Note'{..}+ = object+ (catMaybes+ [("vulnerability" .=) <$> _nVulnerability,+ ("longDescription" .=) <$> _nLongDescription,+ ("attestationAuthority" .=) <$>+ _nAttestationAuthority,+ ("discovery" .=) <$> _nDiscovery,+ ("kind" .=) <$> _nKind,+ ("relatedNoteNames" .=) <$> _nRelatedNoteNames,+ ("build" .=) <$> _nBuild,+ ("deployable" .=) <$> _nDeployable,+ ("relatedUrl" .=) <$> _nRelatedURL,+ ("updateTime" .=) <$> _nUpdateTime,+ ("shortDescription" .=) <$> _nShortDescription,+ ("name" .=) <$> _nName,+ ("baseImage" .=) <$> _nBaseImage,+ ("package" .=) <$> _nPackage,+ ("expirationTime" .=) <$> _nExpirationTime,+ ("createTime" .=) <$> _nCreateTime])++-- | Response for creating notes in batch.+--+-- /See:/ 'batchCreateNotesResponse' smart constructor.+newtype BatchCreateNotesResponse = BatchCreateNotesResponse'+ { _bNotes :: Maybe [Note]+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'BatchCreateNotesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bNotes'+batchCreateNotesResponse+ :: BatchCreateNotesResponse+batchCreateNotesResponse =+ BatchCreateNotesResponse'+ { _bNotes = Nothing+ }++-- | The notes that were created.+bNotes :: Lens' BatchCreateNotesResponse [Note]+bNotes+ = lens _bNotes (\ s a -> s{_bNotes = a}) . _Default .+ _Coerce++instance FromJSON BatchCreateNotesResponse where+ parseJSON+ = withObject "BatchCreateNotesResponse"+ (\ o ->+ BatchCreateNotesResponse' <$>+ (o .:? "notes" .!= mempty))++instance ToJSON BatchCreateNotesResponse where+ toJSON BatchCreateNotesResponse'{..}+ = object (catMaybes [("notes" .=) <$> _bNotes])++-- | Selects a repo using a Google Cloud Platform project ID (e.g.,+-- winged-cargo-31) and a repo name within that project.+--+-- /See:/ 'projectRepoId' smart constructor.+data ProjectRepoId = ProjectRepoId'+ { _priRepoName :: !(Maybe Text)+ , _priProjectId :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectRepoId' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'priRepoName'+--+-- * 'priProjectId'+projectRepoId+ :: ProjectRepoId+projectRepoId =+ ProjectRepoId'+ { _priRepoName = Nothing+ , _priProjectId = Nothing+ }++-- | The name of the repo. Leave empty for the default repo.+priRepoName :: Lens' ProjectRepoId (Maybe Text)+priRepoName+ = lens _priRepoName (\ s a -> s{_priRepoName = a})++-- | The ID of the project.+priProjectId :: Lens' ProjectRepoId (Maybe Text)+priProjectId+ = lens _priProjectId (\ s a -> s{_priProjectId = a})++instance FromJSON ProjectRepoId where+ parseJSON+ = withObject "ProjectRepoId"+ (\ o ->+ ProjectRepoId' <$>+ (o .:? "repoName") <*> (o .:? "projectId"))++instance ToJSON ProjectRepoId where+ toJSON ProjectRepoId'{..}+ = object+ (catMaybes+ [("repoName" .=) <$> _priRepoName,+ ("projectId" .=) <$> _priProjectId])++-- | A set of properties that uniquely identify a given Docker image.+--+-- /See:/ 'fingerprint' smart constructor.+data Fingerprint = Fingerprint'+ { _fV2Name :: !(Maybe Text)+ , _fV2Blob :: !(Maybe [Text])+ , _fV1Name :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Fingerprint' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fV2Name'+--+-- * 'fV2Blob'+--+-- * 'fV1Name'+fingerprint+ :: Fingerprint+fingerprint =+ Fingerprint'+ { _fV2Name = Nothing+ , _fV2Blob = Nothing+ , _fV1Name = Nothing+ }++-- | Output only. The name of the image\'s v2 blobs computed via: [bottom] :=+-- v2_blobbottom := sha256(v2_blob[N] + \" \" + v2_name[N+1]) Only the name+-- of the final blob is kept.+fV2Name :: Lens' Fingerprint (Maybe Text)+fV2Name = lens _fV2Name (\ s a -> s{_fV2Name = a})++-- | Required. The ordered list of v2 blobs that represent a given image.+fV2Blob :: Lens' Fingerprint [Text]+fV2Blob+ = lens _fV2Blob (\ s a -> s{_fV2Blob = a}) . _Default+ . _Coerce++-- | Required. The layer ID of the final layer in the Docker image\'s v1+-- representation.+fV1Name :: Lens' Fingerprint (Maybe Text)+fV1Name = lens _fV1Name (\ s a -> s{_fV1Name = a})++instance FromJSON Fingerprint where+ parseJSON+ = withObject "Fingerprint"+ (\ o ->+ Fingerprint' <$>+ (o .:? "v2Name") <*> (o .:? "v2Blob" .!= mempty) <*>+ (o .:? "v1Name"))++instance ToJSON Fingerprint where+ toJSON Fingerprint'{..}+ = object+ (catMaybes+ [("v2Name" .=) <$> _fV2Name,+ ("v2Blob" .=) <$> _fV2Blob,+ ("v1Name" .=) <$> _fV1Name])++-- | This submessage provides human-readable hints about the purpose of the+-- authority. Because the name of a note acts as its resource reference, it+-- is important to disambiguate the canonical name of the Note (which might+-- be a UUID for security purposes) from \"readable\" names more suitable+-- for debug output. Note that these hints should not be used to look up+-- authorities in security sensitive contexts, such as when looking up+-- attestations to verify.+--+-- /See:/ 'hint' smart constructor.+newtype Hint = Hint'+ { _hHumanReadableName :: Maybe Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Hint' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'hHumanReadableName'+hint+ :: Hint+hint =+ Hint'+ { _hHumanReadableName = Nothing+ }++-- | Required. The human readable name of this attestation authority, for+-- example \"qa\".+hHumanReadableName :: Lens' Hint (Maybe Text)+hHumanReadableName+ = lens _hHumanReadableName+ (\ s a -> s{_hHumanReadableName = a})++instance FromJSON Hint where+ parseJSON+ = withObject "Hint"+ (\ o -> Hint' <$> (o .:? "humanReadableName"))++instance ToJSON Hint where+ toJSON Hint'{..}+ = object+ (catMaybes+ [("humanReadableName" .=) <$> _hHumanReadableName])++-- | This message wraps a location affected by a vulnerability and its+-- associated fix (if one is available).+--+-- /See:/ 'packageIssue' smart constructor.+data PackageIssue = PackageIssue'+ { _piAffectedLocation :: !(Maybe VulnerabilityLocation)+ , _piFixedLocation :: !(Maybe VulnerabilityLocation)+ , _piSeverityName :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PackageIssue' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'piAffectedLocation'+--+-- * 'piFixedLocation'+--+-- * 'piSeverityName'+packageIssue+ :: PackageIssue+packageIssue =+ PackageIssue'+ { _piAffectedLocation = Nothing+ , _piFixedLocation = Nothing+ , _piSeverityName = Nothing+ }++-- | Required. The location of the vulnerability.+piAffectedLocation :: Lens' PackageIssue (Maybe VulnerabilityLocation)+piAffectedLocation+ = lens _piAffectedLocation+ (\ s a -> s{_piAffectedLocation = a})++-- | The location of the available fix for vulnerability.+piFixedLocation :: Lens' PackageIssue (Maybe VulnerabilityLocation)+piFixedLocation+ = lens _piFixedLocation+ (\ s a -> s{_piFixedLocation = a})++-- | The severity (e.g., distro assigned severity) for this vulnerability.+piSeverityName :: Lens' PackageIssue (Maybe Text)+piSeverityName+ = lens _piSeverityName+ (\ s a -> s{_piSeverityName = a})++instance FromJSON PackageIssue where+ parseJSON+ = withObject "PackageIssue"+ (\ o ->+ PackageIssue' <$>+ (o .:? "affectedLocation") <*>+ (o .:? "fixedLocation")+ <*> (o .:? "severityName"))++instance ToJSON PackageIssue where+ toJSON PackageIssue'{..}+ = object+ (catMaybes+ [("affectedLocation" .=) <$> _piAffectedLocation,+ ("fixedLocation" .=) <$> _piFixedLocation,+ ("severityName" .=) <$> _piSeverityName])++--+-- /See:/ 'statusDetailsItem' smart constructor.+newtype StatusDetailsItem = StatusDetailsItem'+ { _sdiAddtional :: HashMap Text JSONValue+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'StatusDetailsItem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sdiAddtional'+statusDetailsItem+ :: HashMap Text JSONValue -- ^ 'sdiAddtional'+ -> StatusDetailsItem+statusDetailsItem pSdiAddtional_ =+ StatusDetailsItem'+ { _sdiAddtional = _Coerce # pSdiAddtional_+ }++-- | Properties of the object. Contains field \'type with type URL.+sdiAddtional :: Lens' StatusDetailsItem (HashMap Text JSONValue)+sdiAddtional+ = lens _sdiAddtional (\ s a -> s{_sdiAddtional = a})+ . _Coerce++instance FromJSON StatusDetailsItem where+ parseJSON+ = withObject "StatusDetailsItem"+ (\ o -> StatusDetailsItem' <$> (parseJSONObject o))++instance ToJSON StatusDetailsItem where+ toJSON = toJSON . _sdiAddtional++-- | Note holding the version of the provider\'s builder and the signature of+-- the provenance message in the build details occurrence.+--+-- /See:/ 'build' smart constructor.+data Build = Build'+ { _bSignature :: !(Maybe BuildSignature)+ , _bBuilderVersion :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Build' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bSignature'+--+-- * 'bBuilderVersion'+build+ :: Build+build =+ Build'+ { _bSignature = Nothing+ , _bBuilderVersion = Nothing+ }++-- | Signature of the build in occurrences pointing to this build note+-- containing build details.+bSignature :: Lens' Build (Maybe BuildSignature)+bSignature+ = lens _bSignature (\ s a -> s{_bSignature = a})++-- | Required. Immutable. Version of the builder which produced this build.+bBuilderVersion :: Lens' Build (Maybe Text)+bBuilderVersion+ = lens _bBuilderVersion+ (\ s a -> s{_bBuilderVersion = a})++instance FromJSON Build where+ parseJSON+ = withObject "Build"+ (\ o ->+ Build' <$>+ (o .:? "signature") <*> (o .:? "builderVersion"))++instance ToJSON Build where+ toJSON Build'{..}+ = object+ (catMaybes+ [("signature" .=) <$> _bSignature,+ ("builderVersion" .=) <$> _bBuilderVersion])++-- | Occurrence that represents a single \"attestation\". The authenticity of+-- an attestation can be verified using the attached signature. If the+-- verifier trusts the public key of the signer, then verifying the+-- signature is sufficient to establish trust. In this circumstance, the+-- authority to which this attestation is attached is primarily useful for+-- look-up (how to find this attestation if you already know the authority+-- and artifact to be verified) and intent (which authority was this+-- attestation intended to sign for).+--+-- /See:/ 'attestation' smart constructor.+newtype Attestation = Attestation'+ { _aPgpSignedAttestation :: Maybe PgpSignedAttestation+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Attestation' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aPgpSignedAttestation'+attestation+ :: Attestation+attestation =+ Attestation'+ { _aPgpSignedAttestation = Nothing+ }++-- | A PGP signed attestation.+aPgpSignedAttestation :: Lens' Attestation (Maybe PgpSignedAttestation)+aPgpSignedAttestation+ = lens _aPgpSignedAttestation+ (\ s a -> s{_aPgpSignedAttestation = a})++instance FromJSON Attestation where+ parseJSON+ = withObject "Attestation"+ (\ o ->+ Attestation' <$> (o .:? "pgpSignedAttestation"))++instance ToJSON Attestation where+ toJSON Attestation'{..}+ = object+ (catMaybes+ [("pgpSignedAttestation" .=) <$>+ _aPgpSignedAttestation])++-- | Artifact describes a build product.+--+-- /See:/ 'artifact' smart constructor.+data Artifact = Artifact'+ { _aChecksum :: !(Maybe Text)+ , _aNames :: !(Maybe [Text])+ , _aId :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Artifact' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aChecksum'+--+-- * 'aNames'+--+-- * 'aId'+artifact+ :: Artifact+artifact =+ Artifact'+ { _aChecksum = Nothing+ , _aNames = Nothing+ , _aId = Nothing+ }++-- | Hash or checksum value of a binary, or Docker Registry 2.0 digest of a+-- container.+aChecksum :: Lens' Artifact (Maybe Text)+aChecksum+ = lens _aChecksum (\ s a -> s{_aChecksum = a})++-- | Related artifact names. This may be the path to a binary or jar file, or+-- in the case of a container build, the name used to push the container+-- image to Google Container Registry, as presented to \`docker push\`.+-- Note that a single Artifact ID can have multiple names, for example if+-- two tags are applied to one image.+aNames :: Lens' Artifact [Text]+aNames+ = lens _aNames (\ s a -> s{_aNames = a}) . _Default .+ _Coerce++-- | Artifact ID, if any; for container images, this will be a URL by digest+-- like \`gcr.io\/projectID\/imagename\'sha256:123456\`.+aId :: Lens' Artifact (Maybe Text)+aId = lens _aId (\ s a -> s{_aId = a})++instance FromJSON Artifact where+ parseJSON+ = withObject "Artifact"+ (\ o ->+ Artifact' <$>+ (o .:? "checksum") <*> (o .:? "names" .!= mempty) <*>+ (o .:? "id"))++instance ToJSON Artifact where+ toJSON Artifact'{..}+ = object+ (catMaybes+ [("checksum" .=) <$> _aChecksum,+ ("names" .=) <$> _aNames, ("id" .=) <$> _aId])++-- | Request message for \`SetIamPolicy\` method.+--+-- /See:/ 'setIAMPolicyRequest' smart constructor.+data SetIAMPolicyRequest = SetIAMPolicyRequest'+ { _siprUpdateMask :: !(Maybe GFieldMask)+ , _siprPolicy :: !(Maybe Policy)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SetIAMPolicyRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'siprUpdateMask'+--+-- * 'siprPolicy'+setIAMPolicyRequest+ :: SetIAMPolicyRequest+setIAMPolicyRequest =+ SetIAMPolicyRequest'+ { _siprUpdateMask = Nothing+ , _siprPolicy = Nothing+ }++-- | OPTIONAL: A FieldMask specifying which fields of the policy to modify.+-- Only the fields in the mask will be modified. If no mask is provided,+-- the following default mask is used: paths: \"bindings, etag\" This field+-- is only used by Cloud IAM.+siprUpdateMask :: Lens' SetIAMPolicyRequest (Maybe GFieldMask)+siprUpdateMask+ = lens _siprUpdateMask+ (\ s a -> s{_siprUpdateMask = a})++-- | REQUIRED: The complete policy to be applied to the \`resource\`. The+-- size of the policy is limited to a few 10s of KB. An empty policy is a+-- valid policy but certain Cloud Platform services (such as Projects)+-- might reject them.+siprPolicy :: Lens' SetIAMPolicyRequest (Maybe Policy)+siprPolicy+ = lens _siprPolicy (\ s a -> s{_siprPolicy = a})++instance FromJSON SetIAMPolicyRequest where+ parseJSON+ = withObject "SetIAMPolicyRequest"+ (\ o ->+ SetIAMPolicyRequest' <$>+ (o .:? "updateMask") <*> (o .:? "policy"))++instance ToJSON SetIAMPolicyRequest where+ toJSON SetIAMPolicyRequest'{..}+ = object+ (catMaybes+ [("updateMask" .=) <$> _siprUpdateMask,+ ("policy" .=) <$> _siprPolicy])++-- | Special options applied to this build. This is a catch-all field where+-- build providers can enter any desired additional details.+--+-- /See:/ 'buildProvenanceBuildOptions' smart constructor.+newtype BuildProvenanceBuildOptions = BuildProvenanceBuildOptions'+ { _bpboAddtional :: HashMap Text Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'BuildProvenanceBuildOptions' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bpboAddtional'+buildProvenanceBuildOptions+ :: HashMap Text Text -- ^ 'bpboAddtional'+ -> BuildProvenanceBuildOptions+buildProvenanceBuildOptions pBpboAddtional_ =+ BuildProvenanceBuildOptions'+ { _bpboAddtional = _Coerce # pBpboAddtional_+ }++bpboAddtional :: Lens' BuildProvenanceBuildOptions (HashMap Text Text)+bpboAddtional+ = lens _bpboAddtional+ (\ s a -> s{_bpboAddtional = a})+ . _Coerce++instance FromJSON BuildProvenanceBuildOptions where+ parseJSON+ = withObject "BuildProvenanceBuildOptions"+ (\ o ->+ BuildProvenanceBuildOptions' <$> (parseJSONObject o))++instance ToJSON BuildProvenanceBuildOptions where+ toJSON = toJSON . _bpboAddtional++-- | An artifact that can be deployed in some runtime.+--+-- /See:/ 'deployable' smart constructor.+newtype Deployable = Deployable'+ { _dResourceURI :: Maybe [Text]+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Deployable' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dResourceURI'+deployable+ :: Deployable+deployable =+ Deployable'+ { _dResourceURI = Nothing+ }++-- | Required. Resource URI for the artifact being deployed.+dResourceURI :: Lens' Deployable [Text]+dResourceURI+ = lens _dResourceURI (\ s a -> s{_dResourceURI = a})+ . _Default+ . _Coerce++instance FromJSON Deployable where+ parseJSON+ = withObject "Deployable"+ (\ o ->+ Deployable' <$> (o .:? "resourceUri" .!= mempty))++instance ToJSON Deployable where+ toJSON Deployable'{..}+ = object+ (catMaybes [("resourceUri" .=) <$> _dResourceURI])++-- | Details of a discovery occurrence.+--+-- /See:/ 'grafeasV1beta1DiscoveryDetails' smart constructor.+newtype GrafeasV1beta1DiscoveryDetails = GrafeasV1beta1DiscoveryDetails'+ { _gvddDiscovered :: Maybe Discovered+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'GrafeasV1beta1DiscoveryDetails' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gvddDiscovered'+grafeasV1beta1DiscoveryDetails+ :: GrafeasV1beta1DiscoveryDetails+grafeasV1beta1DiscoveryDetails =+ GrafeasV1beta1DiscoveryDetails'+ { _gvddDiscovered = Nothing+ }++-- | Required. Analysis status for the discovered resource.+gvddDiscovered :: Lens' GrafeasV1beta1DiscoveryDetails (Maybe Discovered)+gvddDiscovered+ = lens _gvddDiscovered+ (\ s a -> s{_gvddDiscovered = a})++instance FromJSON GrafeasV1beta1DiscoveryDetails+ where+ parseJSON+ = withObject "GrafeasV1beta1DiscoveryDetails"+ (\ o ->+ GrafeasV1beta1DiscoveryDetails' <$>+ (o .:? "discovered"))++instance ToJSON GrafeasV1beta1DiscoveryDetails where+ toJSON GrafeasV1beta1DiscoveryDetails'{..}+ = object+ (catMaybes [("discovered" .=) <$> _gvddDiscovered])++-- | The location of the vulnerability.+--+-- /See:/ 'vulnerabilityLocation' smart constructor.+data VulnerabilityLocation = VulnerabilityLocation'+ { _vlVersion :: !(Maybe Version)+ , _vlPackage :: !(Maybe Text)+ , _vlCpeURI :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'VulnerabilityLocation' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'vlVersion'+--+-- * 'vlPackage'+--+-- * 'vlCpeURI'+vulnerabilityLocation+ :: VulnerabilityLocation+vulnerabilityLocation =+ VulnerabilityLocation'+ { _vlVersion = Nothing+ , _vlPackage = Nothing+ , _vlCpeURI = Nothing+ }++-- | Required. The version of the package being described.+vlVersion :: Lens' VulnerabilityLocation (Maybe Version)+vlVersion+ = lens _vlVersion (\ s a -> s{_vlVersion = a})++-- | Required. The package being described.+vlPackage :: Lens' VulnerabilityLocation (Maybe Text)+vlPackage+ = lens _vlPackage (\ s a -> s{_vlPackage = a})++-- | Required. The CPE URI in [cpe+-- format](https:\/\/cpe.mitre.org\/specification\/) format. Examples+-- include distro or storage location for vulnerable jar.+vlCpeURI :: Lens' VulnerabilityLocation (Maybe Text)+vlCpeURI = lens _vlCpeURI (\ s a -> s{_vlCpeURI = a})++instance FromJSON VulnerabilityLocation where+ parseJSON+ = withObject "VulnerabilityLocation"+ (\ o ->+ VulnerabilityLocation' <$>+ (o .:? "version") <*> (o .:? "package") <*>+ (o .:? "cpeUri"))++instance ToJSON VulnerabilityLocation where+ toJSON VulnerabilityLocation'{..}+ = object+ (catMaybes+ [("version" .=) <$> _vlVersion,+ ("package" .=) <$> _vlPackage,+ ("cpeUri" .=) <$> _vlCpeURI])++-- | Per resource and severity counts of fixable and total vulnerabilites.+--+-- /See:/ 'fixableTotalByDigest' smart constructor.+data FixableTotalByDigest = FixableTotalByDigest'+ { _ftbdSeverity :: !(Maybe FixableTotalByDigestSeverity)+ , _ftbdFixableCount :: !(Maybe (Textual Int64))+ , _ftbdResource :: !(Maybe Resource)+ , _ftbdTotalCount :: !(Maybe (Textual Int64))+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FixableTotalByDigest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ftbdSeverity'+--+-- * 'ftbdFixableCount'+--+-- * 'ftbdResource'+--+-- * 'ftbdTotalCount'+fixableTotalByDigest+ :: FixableTotalByDigest+fixableTotalByDigest =+ FixableTotalByDigest'+ { _ftbdSeverity = Nothing+ , _ftbdFixableCount = Nothing+ , _ftbdResource = Nothing+ , _ftbdTotalCount = Nothing+ }++-- | The severity for this count. SEVERITY_UNSPECIFIED indicates total across+-- all severities.+ftbdSeverity :: Lens' FixableTotalByDigest (Maybe FixableTotalByDigestSeverity)+ftbdSeverity+ = lens _ftbdSeverity (\ s a -> s{_ftbdSeverity = a})++-- | The number of fixable vulnerabilities associated with this resource.+ftbdFixableCount :: Lens' FixableTotalByDigest (Maybe Int64)+ftbdFixableCount+ = lens _ftbdFixableCount+ (\ s a -> s{_ftbdFixableCount = a})+ . mapping _Coerce++-- | The affected resource.+ftbdResource :: Lens' FixableTotalByDigest (Maybe Resource)+ftbdResource+ = lens _ftbdResource (\ s a -> s{_ftbdResource = a})++-- | The total number of vulnerabilities associated with this resource.+ftbdTotalCount :: Lens' FixableTotalByDigest (Maybe Int64)+ftbdTotalCount+ = lens _ftbdTotalCount+ (\ s a -> s{_ftbdTotalCount = a})+ . mapping _Coerce++instance FromJSON FixableTotalByDigest where+ parseJSON+ = withObject "FixableTotalByDigest"+ (\ o ->+ FixableTotalByDigest' <$>+ (o .:? "severity") <*> (o .:? "fixableCount") <*>+ (o .:? "resource")+ <*> (o .:? "totalCount"))++instance ToJSON FixableTotalByDigest where+ toJSON FixableTotalByDigest'{..}+ = object+ (catMaybes+ [("severity" .=) <$> _ftbdSeverity,+ ("fixableCount" .=) <$> _ftbdFixableCount,+ ("resource" .=) <$> _ftbdResource,+ ("totalCount" .=) <$> _ftbdTotalCount])++-- | Metadata for any related URL information.+--+-- /See:/ 'relatedURL' smart constructor.+data RelatedURL = RelatedURL'+ { _ruURL :: !(Maybe Text)+ , _ruLabel :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'RelatedURL' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ruURL'+--+-- * 'ruLabel'+relatedURL+ :: RelatedURL+relatedURL =+ RelatedURL'+ { _ruURL = Nothing+ , _ruLabel = Nothing+ }++-- | Specific URL associated with the resource.+ruURL :: Lens' RelatedURL (Maybe Text)+ruURL = lens _ruURL (\ s a -> s{_ruURL = a})++-- | Label to describe usage of the URL.+ruLabel :: Lens' RelatedURL (Maybe Text)+ruLabel = lens _ruLabel (\ s a -> s{_ruLabel = a})++instance FromJSON RelatedURL where+ parseJSON+ = withObject "RelatedURL"+ (\ o ->+ RelatedURL' <$> (o .:? "url") <*> (o .:? "label"))++instance ToJSON RelatedURL where+ toJSON RelatedURL'{..}+ = object+ (catMaybes+ [("url" .=) <$> _ruURL, ("label" .=) <$> _ruLabel])++-- | Details of an image occurrence.+--+-- /See:/ 'grafeasV1beta1ImageDetails' smart constructor.+newtype GrafeasV1beta1ImageDetails = GrafeasV1beta1ImageDetails'+ { _gvidDerivedImage :: Maybe Derived+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'GrafeasV1beta1ImageDetails' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gvidDerivedImage'+grafeasV1beta1ImageDetails+ :: GrafeasV1beta1ImageDetails+grafeasV1beta1ImageDetails =+ GrafeasV1beta1ImageDetails'+ { _gvidDerivedImage = Nothing+ }++-- | Required. Immutable. The child image derived from the base image.+gvidDerivedImage :: Lens' GrafeasV1beta1ImageDetails (Maybe Derived)+gvidDerivedImage+ = lens _gvidDerivedImage+ (\ s a -> s{_gvidDerivedImage = a})++instance FromJSON GrafeasV1beta1ImageDetails where+ parseJSON+ = withObject "GrafeasV1beta1ImageDetails"+ (\ o ->+ GrafeasV1beta1ImageDetails' <$>+ (o .:? "derivedImage"))++instance ToJSON GrafeasV1beta1ImageDetails where+ toJSON GrafeasV1beta1ImageDetails'{..}+ = object+ (catMaybes+ [("derivedImage" .=) <$> _gvidDerivedImage])++-- | Response for creating occurrences in batch.+--+-- /See:/ 'batchCreateOccurrencesResponse' smart constructor.+newtype BatchCreateOccurrencesResponse = BatchCreateOccurrencesResponse'+ { _bOccurrences :: Maybe [Occurrence]+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'BatchCreateOccurrencesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bOccurrences'+batchCreateOccurrencesResponse+ :: BatchCreateOccurrencesResponse+batchCreateOccurrencesResponse =+ BatchCreateOccurrencesResponse'+ { _bOccurrences = Nothing+ }++-- | The occurrences that were created.+bOccurrences :: Lens' BatchCreateOccurrencesResponse [Occurrence]+bOccurrences+ = lens _bOccurrences (\ s a -> s{_bOccurrences = a})+ . _Default+ . _Coerce++instance FromJSON BatchCreateOccurrencesResponse+ where+ parseJSON+ = withObject "BatchCreateOccurrencesResponse"+ (\ o ->+ BatchCreateOccurrencesResponse' <$>+ (o .:? "occurrences" .!= mempty))++instance ToJSON BatchCreateOccurrencesResponse where+ toJSON BatchCreateOccurrencesResponse'{..}+ = object+ (catMaybes [("occurrences" .=) <$> _bOccurrences])++-- | Labels with user defined metadata.+--+-- /See:/ 'sourceContextLabels' smart constructor.+newtype SourceContextLabels = SourceContextLabels'+ { _sclAddtional :: HashMap Text Text+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'SourceContextLabels' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sclAddtional'+sourceContextLabels+ :: HashMap Text Text -- ^ 'sclAddtional'+ -> SourceContextLabels+sourceContextLabels pSclAddtional_ =+ SourceContextLabels'+ { _sclAddtional = _Coerce # pSclAddtional_+ }++sclAddtional :: Lens' SourceContextLabels (HashMap Text Text)+sclAddtional+ = lens _sclAddtional (\ s a -> s{_sclAddtional = a})+ . _Coerce++instance FromJSON SourceContextLabels where+ parseJSON+ = withObject "SourceContextLabels"+ (\ o -> SourceContextLabels' <$> (parseJSONObject o))++instance ToJSON SourceContextLabels where+ toJSON = toJSON . _sclAddtional++-- | Response for listing scan configurations.+--+-- /See:/ 'listScanConfigsResponse' smart constructor.+data ListScanConfigsResponse = ListScanConfigsResponse'+ { _lscrNextPageToken :: !(Maybe Text)+ , _lscrScanConfigs :: !(Maybe [ScanConfig])+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ListScanConfigsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lscrNextPageToken'+--+-- * 'lscrScanConfigs'+listScanConfigsResponse+ :: ListScanConfigsResponse+listScanConfigsResponse =+ ListScanConfigsResponse'+ { _lscrNextPageToken = Nothing+ , _lscrScanConfigs = Nothing+ }++-- | The next pagination token in the list response. It should be used as+-- \`page_token\` for the following request. An empty value means no more+-- results.+lscrNextPageToken :: Lens' ListScanConfigsResponse (Maybe Text)+lscrNextPageToken+ = lens _lscrNextPageToken+ (\ s a -> s{_lscrNextPageToken = a})++-- | The scan configurations requested.+lscrScanConfigs :: Lens' ListScanConfigsResponse [ScanConfig]+lscrScanConfigs+ = lens _lscrScanConfigs+ (\ s a -> s{_lscrScanConfigs = a})+ . _Default+ . _Coerce++instance FromJSON ListScanConfigsResponse where+ parseJSON+ = withObject "ListScanConfigsResponse"+ (\ o ->+ ListScanConfigsResponse' <$>+ (o .:? "nextPageToken") <*>+ (o .:? "scanConfigs" .!= mempty))++instance ToJSON ListScanConfigsResponse where+ toJSON ListScanConfigsResponse'{..}+ = object+ (catMaybes+ [("nextPageToken" .=) <$> _lscrNextPageToken,+ ("scanConfigs" .=) <$> _lscrScanConfigs])++-- | Version contains structured information about the version of a package.+--+-- /See:/ 'version' smart constructor.+data Version = Version'+ { _vKind :: !(Maybe VersionKind)+ , _vName :: !(Maybe Text)+ , _vRevision :: !(Maybe Text)+ , _vEpoch :: !(Maybe (Textual Int32))+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Version' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'vKind'+--+-- * 'vName'+--+-- * 'vRevision'+--+-- * 'vEpoch'+version+ :: Version+version =+ Version'+ { _vKind = Nothing+ , _vName = Nothing+ , _vRevision = Nothing+ , _vEpoch = Nothing+ }++-- | Required. Distinguishes between sentinel MIN\/MAX versions and normal+-- versions.+vKind :: Lens' Version (Maybe VersionKind)+vKind = lens _vKind (\ s a -> s{_vKind = a})++-- | Required only when version kind is NORMAL. The main part of the version+-- name.+vName :: Lens' Version (Maybe Text)+vName = lens _vName (\ s a -> s{_vName = a})++-- | The iteration of the package build from the above version.+vRevision :: Lens' Version (Maybe Text)+vRevision+ = lens _vRevision (\ s a -> s{_vRevision = a})++-- | Used to correct mistakes in the version numbering scheme.+vEpoch :: Lens' Version (Maybe Int32)+vEpoch+ = lens _vEpoch (\ s a -> s{_vEpoch = a}) .+ mapping _Coerce++instance FromJSON Version where+ parseJSON+ = withObject "Version"+ (\ o ->+ Version' <$>+ (o .:? "kind") <*> (o .:? "name") <*>+ (o .:? "revision")+ <*> (o .:? "epoch"))++instance ToJSON Version where+ toJSON Version'{..}+ = object+ (catMaybes+ [("kind" .=) <$> _vKind, ("name" .=) <$> _vName,+ ("revision" .=) <$> _vRevision,+ ("epoch" .=) <$> _vEpoch])++-- | Container message for hashes of byte content of files, used in source+-- messages to verify integrity of source input to the build.+--+-- /See:/ 'fileHashes' smart constructor.+newtype FileHashes = FileHashes'+ { _fhFileHash :: Maybe [Hash]+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'FileHashes' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fhFileHash'+fileHashes+ :: FileHashes+fileHashes =+ FileHashes'+ { _fhFileHash = Nothing+ }++-- | Required. Collection of file hashes.+fhFileHash :: Lens' FileHashes [Hash]+fhFileHash+ = lens _fhFileHash (\ s a -> s{_fhFileHash = a}) .+ _Default+ . _Coerce++instance FromJSON FileHashes where+ parseJSON+ = withObject "FileHashes"+ (\ o ->+ FileHashes' <$> (o .:? "fileHash" .!= mempty))++instance ToJSON FileHashes where+ toJSON FileHashes'{..}+ = object+ (catMaybes [("fileHash" .=) <$> _fhFileHash])++-- | An entity that can have metadata. For example, a Docker image.+--+-- /See:/ 'resource' smart constructor.+data Resource = Resource'+ { _rContentHash :: !(Maybe Hash)+ , _rURI :: !(Maybe Text)+ , _rName :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Resource' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rContentHash'+--+-- * 'rURI'+--+-- * 'rName'+resource+ :: Resource+resource =+ Resource'+ { _rContentHash = Nothing+ , _rURI = Nothing+ , _rName = Nothing+ }++-- | The hash of the resource content. For example, the Docker digest.+rContentHash :: Lens' Resource (Maybe Hash)+rContentHash+ = lens _rContentHash (\ s a -> s{_rContentHash = a})++-- | Required. The unique URI of the resource. For example,+-- \`https:\/\/gcr.io\/project\/image\'sha256:foo\` for a Docker image.+rURI :: Lens' Resource (Maybe Text)+rURI = lens _rURI (\ s a -> s{_rURI = a})++-- | The name of the resource. For example, the name of a Docker image -+-- \"Debian\".+rName :: Lens' Resource (Maybe Text)+rName = lens _rName (\ s a -> s{_rName = a})++instance FromJSON Resource where+ parseJSON+ = withObject "Resource"+ (\ o ->+ Resource' <$>+ (o .:? "contentHash") <*> (o .:? "uri") <*>+ (o .:? "name"))++instance ToJSON Resource where+ toJSON Resource'{..}+ = object+ (catMaybes+ [("contentHash" .=) <$> _rContentHash,+ ("uri" .=) <$> _rURI, ("name" .=) <$> _rName])++-- | Details of a deployment occurrence.+--+-- /See:/ 'grafeasV1beta1DeploymentDetails' smart constructor.+newtype GrafeasV1beta1DeploymentDetails = GrafeasV1beta1DeploymentDetails'+ { _gvddDeployment :: Maybe Deployment+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'GrafeasV1beta1DeploymentDetails' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gvddDeployment'+grafeasV1beta1DeploymentDetails+ :: GrafeasV1beta1DeploymentDetails+grafeasV1beta1DeploymentDetails =+ GrafeasV1beta1DeploymentDetails'+ { _gvddDeployment = Nothing+ }++-- | Required. Deployment history for the resource.+gvddDeployment :: Lens' GrafeasV1beta1DeploymentDetails (Maybe Deployment)+gvddDeployment+ = lens _gvddDeployment+ (\ s a -> s{_gvddDeployment = a})++instance FromJSON GrafeasV1beta1DeploymentDetails+ where+ parseJSON+ = withObject "GrafeasV1beta1DeploymentDetails"+ (\ o ->+ GrafeasV1beta1DeploymentDetails' <$>+ (o .:? "deployment"))++instance ToJSON GrafeasV1beta1DeploymentDetails where+ toJSON GrafeasV1beta1DeploymentDetails'{..}+ = object+ (catMaybes [("deployment" .=) <$> _gvddDeployment])++-- | Metadata for all operations used and required for all operations that+-- created by Container Analysis Providers+--+-- /See:/ 'googleDevtoolsContaineranalysisV1alpha1OperationMetadata' smart constructor.+data GoogleDevtoolsContaineranalysisV1alpha1OperationMetadata = GoogleDevtoolsContaineranalysisV1alpha1OperationMetadata'+ { _gdcvomEndTime :: !(Maybe DateTime')+ , _gdcvomCreateTime :: !(Maybe DateTime')+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'GoogleDevtoolsContaineranalysisV1alpha1OperationMetadata' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gdcvomEndTime'+--+-- * 'gdcvomCreateTime'+googleDevtoolsContaineranalysisV1alpha1OperationMetadata+ :: GoogleDevtoolsContaineranalysisV1alpha1OperationMetadata+googleDevtoolsContaineranalysisV1alpha1OperationMetadata =+ GoogleDevtoolsContaineranalysisV1alpha1OperationMetadata'+ { _gdcvomEndTime = Nothing+ , _gdcvomCreateTime = Nothing+ }++-- | Output only. The time that this operation was marked completed or+-- failed.+gdcvomEndTime :: Lens' GoogleDevtoolsContaineranalysisV1alpha1OperationMetadata (Maybe UTCTime)+gdcvomEndTime+ = lens _gdcvomEndTime+ (\ s a -> s{_gdcvomEndTime = a})+ . mapping _DateTime++-- | Output only. The time this operation was created.+gdcvomCreateTime :: Lens' GoogleDevtoolsContaineranalysisV1alpha1OperationMetadata (Maybe UTCTime)+gdcvomCreateTime+ = lens _gdcvomCreateTime+ (\ s a -> s{_gdcvomCreateTime = a})+ . mapping _DateTime++instance FromJSON+ GoogleDevtoolsContaineranalysisV1alpha1OperationMetadata+ where+ parseJSON+ = withObject+ "GoogleDevtoolsContaineranalysisV1alpha1OperationMetadata"+ (\ o ->+ GoogleDevtoolsContaineranalysisV1alpha1OperationMetadata'+ <$> (o .:? "endTime") <*> (o .:? "createTime"))++instance ToJSON+ GoogleDevtoolsContaineranalysisV1alpha1OperationMetadata+ where+ toJSON+ GoogleDevtoolsContaineranalysisV1alpha1OperationMetadata'{..}+ = object+ (catMaybes+ [("endTime" .=) <$> _gdcvomEndTime,+ ("createTime" .=) <$> _gdcvomCreateTime])++-- | Details of an attestation occurrence.+--+-- /See:/ 'details' smart constructor.+newtype Details = Details'+ { _dAttestation :: Maybe Attestation+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Details' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dAttestation'+details+ :: Details+details =+ Details'+ { _dAttestation = Nothing+ }++-- | Required. Attestation for the resource.+dAttestation :: Lens' Details (Maybe Attestation)+dAttestation+ = lens _dAttestation (\ s a -> s{_dAttestation = a})++instance FromJSON Details where+ parseJSON+ = withObject "Details"+ (\ o -> Details' <$> (o .:? "attestation"))++instance ToJSON Details where+ toJSON Details'{..}+ = object+ (catMaybes [("attestation" .=) <$> _dAttestation])++-- | This represents a particular package that is distributed over various+-- channels. E.g., glibc (aka libc6) is distributed by many, at various+-- versions.+--+-- /See:/ 'package' smart constructor.+data Package = Package'+ { _pDistribution :: !(Maybe [Distribution])+ , _pName :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Package' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pDistribution'+--+-- * 'pName'+package+ :: Package+package =+ Package'+ { _pDistribution = Nothing+ , _pName = Nothing+ }++-- | The various channels by which a package is distributed.+pDistribution :: Lens' Package [Distribution]+pDistribution+ = lens _pDistribution+ (\ s a -> s{_pDistribution = a})+ . _Default+ . _Coerce++-- | Required. Immutable. The name of the package.+pName :: Lens' Package (Maybe Text)+pName = lens _pName (\ s a -> s{_pName = a})++instance FromJSON Package where+ parseJSON+ = withObject "Package"+ (\ o ->+ Package' <$>+ (o .:? "distribution" .!= mempty) <*> (o .:? "name"))++instance ToJSON Package where+ toJSON Package'{..}+ = object+ (catMaybes+ [("distribution" .=) <$> _pDistribution,+ ("name" .=) <$> _pName])++-- | Response for listing notes.+--+-- /See:/ 'listNotesResponse' smart constructor.+data ListNotesResponse = ListNotesResponse'+ { _lnrNextPageToken :: !(Maybe Text)+ , _lnrNotes :: !(Maybe [Note])+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ListNotesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lnrNextPageToken'+--+-- * 'lnrNotes'+listNotesResponse+ :: ListNotesResponse+listNotesResponse =+ ListNotesResponse'+ { _lnrNextPageToken = Nothing+ , _lnrNotes = Nothing+ }++-- | The next pagination token in the list response. It should be used as+-- \`page_token\` for the following request. An empty value means no more+-- results.+lnrNextPageToken :: Lens' ListNotesResponse (Maybe Text)+lnrNextPageToken+ = lens _lnrNextPageToken+ (\ s a -> s{_lnrNextPageToken = a})++-- | The notes requested.+lnrNotes :: Lens' ListNotesResponse [Note]+lnrNotes+ = lens _lnrNotes (\ s a -> s{_lnrNotes = a}) .+ _Default+ . _Coerce++instance FromJSON ListNotesResponse where+ parseJSON+ = withObject "ListNotesResponse"+ (\ o ->+ ListNotesResponse' <$>+ (o .:? "nextPageToken") <*>+ (o .:? "notes" .!= mempty))++instance ToJSON ListNotesResponse where+ toJSON ListNotesResponse'{..}+ = object+ (catMaybes+ [("nextPageToken" .=) <$> _lnrNextPageToken,+ ("notes" .=) <$> _lnrNotes])++-- | Message encapsulating the signature of the verified build.+--+-- /See:/ 'buildSignature' smart constructor.+data BuildSignature = BuildSignature'+ { _bsSignature :: !(Maybe Bytes)+ , _bsKeyType :: !(Maybe BuildSignatureKeyType)+ , _bsKeyId :: !(Maybe Text)+ , _bsPublicKey :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'BuildSignature' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bsSignature'+--+-- * 'bsKeyType'+--+-- * 'bsKeyId'+--+-- * 'bsPublicKey'+buildSignature+ :: BuildSignature+buildSignature =+ BuildSignature'+ { _bsSignature = Nothing+ , _bsKeyType = Nothing+ , _bsKeyId = Nothing+ , _bsPublicKey = Nothing+ }++-- | Required. Signature of the related \`BuildProvenance\`. In JSON, this is+-- base-64 encoded.+bsSignature :: Lens' BuildSignature (Maybe ByteString)+bsSignature+ = lens _bsSignature (\ s a -> s{_bsSignature = a}) .+ mapping _Bytes++-- | The type of the key, either stored in \`public_key\` or referenced in+-- \`key_id\`.+bsKeyType :: Lens' BuildSignature (Maybe BuildSignatureKeyType)+bsKeyType+ = lens _bsKeyType (\ s a -> s{_bsKeyType = a})++-- | An ID for the key used to sign. This could be either an ID for the key+-- stored in \`public_key\` (such as the ID or fingerprint for a PGP key,+-- or the CN for a cert), or a reference to an external key (such as a+-- reference to a key in Cloud Key Management Service).+bsKeyId :: Lens' BuildSignature (Maybe Text)+bsKeyId = lens _bsKeyId (\ s a -> s{_bsKeyId = a})++-- | Public key of the builder which can be used to verify that the related+-- findings are valid and unchanged. If \`key_type\` is empty, this+-- defaults to PEM encoded public keys. This field may be empty if+-- \`key_id\` references an external key. For Cloud Build based signatures,+-- this is a PEM encoded public key. To verify the Cloud Build signature,+-- place the contents of this field into a file (public.pem). The signature+-- field is base64-decoded into its binary representation in signature.bin,+-- and the provenance bytes from \`BuildDetails\` are base64-decoded into a+-- binary representation in signed.bin. OpenSSL can then verify the+-- signature: \`openssl sha256 -verify public.pem -signature signature.bin+-- signed.bin\`+bsPublicKey :: Lens' BuildSignature (Maybe Text)+bsPublicKey+ = lens _bsPublicKey (\ s a -> s{_bsPublicKey = a})++instance FromJSON BuildSignature where+ parseJSON+ = withObject "BuildSignature"+ (\ o ->+ BuildSignature' <$>+ (o .:? "signature") <*> (o .:? "keyType") <*>+ (o .:? "keyId")+ <*> (o .:? "publicKey"))++instance ToJSON BuildSignature where+ toJSON BuildSignature'{..}+ = object+ (catMaybes+ [("signature" .=) <$> _bsSignature,+ ("keyType" .=) <$> _bsKeyType,+ ("keyId" .=) <$> _bsKeyId,+ ("publicKey" .=) <$> _bsPublicKey])++-- | Request message for \`TestIamPermissions\` method.+--+-- /See:/ 'testIAMPermissionsRequest' smart constructor.+newtype TestIAMPermissionsRequest = TestIAMPermissionsRequest'+ { _tiprPermissions :: Maybe [Text]+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TestIAMPermissionsRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tiprPermissions'+testIAMPermissionsRequest+ :: TestIAMPermissionsRequest+testIAMPermissionsRequest =+ TestIAMPermissionsRequest'+ { _tiprPermissions = Nothing+ }++-- | The set of permissions to check for the \`resource\`. Permissions with+-- wildcards (such as \'*\' or \'storage.*\') are not allowed. For more+-- information see [IAM+-- Overview](https:\/\/cloud.google.com\/iam\/docs\/overview#permissions).+tiprPermissions :: Lens' TestIAMPermissionsRequest [Text]+tiprPermissions+ = lens _tiprPermissions+ (\ s a -> s{_tiprPermissions = a})+ . _Default+ . _Coerce++instance FromJSON TestIAMPermissionsRequest where+ parseJSON+ = withObject "TestIAMPermissionsRequest"+ (\ o ->+ TestIAMPermissionsRequest' <$>+ (o .:? "permissions" .!= mempty))++instance ToJSON TestIAMPermissionsRequest where+ toJSON TestIAMPermissionsRequest'{..}+ = object+ (catMaybes [("permissions" .=) <$> _tiprPermissions])++-- | Provides information about the analysis status of a discovered resource.+--+-- /See:/ 'discovered' smart constructor.+data Discovered = Discovered'+ { _dLastAnalysisTime :: !(Maybe DateTime')+ , _dAnalysisStatusError :: !(Maybe Status)+ , _dAnalysisStatus :: !(Maybe DiscoveredAnalysisStatus)+ , _dContinuousAnalysis :: !(Maybe DiscoveredContinuousAnalysis)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Discovered' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dLastAnalysisTime'+--+-- * 'dAnalysisStatusError'+--+-- * 'dAnalysisStatus'+--+-- * 'dContinuousAnalysis'+discovered+ :: Discovered+discovered =+ Discovered'+ { _dLastAnalysisTime = Nothing+ , _dAnalysisStatusError = Nothing+ , _dAnalysisStatus = Nothing+ , _dContinuousAnalysis = Nothing+ }++-- | The last time continuous analysis was done for this resource.+-- Deprecated, do not use.+dLastAnalysisTime :: Lens' Discovered (Maybe UTCTime)+dLastAnalysisTime+ = lens _dLastAnalysisTime+ (\ s a -> s{_dLastAnalysisTime = a})+ . mapping _DateTime++-- | When an error is encountered this will contain a LocalizedMessage under+-- details to show to the user. The LocalizedMessage is output only and+-- populated by the API.+dAnalysisStatusError :: Lens' Discovered (Maybe Status)+dAnalysisStatusError+ = lens _dAnalysisStatusError+ (\ s a -> s{_dAnalysisStatusError = a})++-- | The status of discovery for the resource.+dAnalysisStatus :: Lens' Discovered (Maybe DiscoveredAnalysisStatus)+dAnalysisStatus+ = lens _dAnalysisStatus+ (\ s a -> s{_dAnalysisStatus = a})++-- | Whether the resource is continuously analyzed.+dContinuousAnalysis :: Lens' Discovered (Maybe DiscoveredContinuousAnalysis)+dContinuousAnalysis+ = lens _dContinuousAnalysis+ (\ s a -> s{_dContinuousAnalysis = a})++instance FromJSON Discovered where+ parseJSON+ = withObject "Discovered"+ (\ o ->+ Discovered' <$>+ (o .:? "lastAnalysisTime") <*>+ (o .:? "analysisStatusError")+ <*> (o .:? "analysisStatus")+ <*> (o .:? "continuousAnalysis"))++instance ToJSON Discovered where+ toJSON Discovered'{..}+ = object+ (catMaybes+ [("lastAnalysisTime" .=) <$> _dLastAnalysisTime,+ ("analysisStatusError" .=) <$> _dAnalysisStatusError,+ ("analysisStatus" .=) <$> _dAnalysisStatus,+ ("continuousAnalysis" .=) <$> _dContinuousAnalysis])++-- | Derived describes the derived image portion (Occurrence) of the+-- DockerImage relationship. This image would be produced from a Dockerfile+-- with FROM .+--+-- /See:/ 'derived' smart constructor.+data Derived = Derived'+ { _dBaseResourceURL :: !(Maybe Text)+ , _dFingerprint :: !(Maybe Fingerprint)+ , _dDistance :: !(Maybe (Textual Int32))+ , _dLayerInfo :: !(Maybe [Layer])+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Derived' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dBaseResourceURL'+--+-- * 'dFingerprint'+--+-- * 'dDistance'+--+-- * 'dLayerInfo'+derived+ :: Derived+derived =+ Derived'+ { _dBaseResourceURL = Nothing+ , _dFingerprint = Nothing+ , _dDistance = Nothing+ , _dLayerInfo = Nothing+ }++-- | Output only. This contains the base image URL for the derived image+-- occurrence.+dBaseResourceURL :: Lens' Derived (Maybe Text)+dBaseResourceURL+ = lens _dBaseResourceURL+ (\ s a -> s{_dBaseResourceURL = a})++-- | Required. The fingerprint of the derived image.+dFingerprint :: Lens' Derived (Maybe Fingerprint)+dFingerprint+ = lens _dFingerprint (\ s a -> s{_dFingerprint = a})++-- | Output only. The number of layers by which this image differs from the+-- associated image basis.+dDistance :: Lens' Derived (Maybe Int32)+dDistance+ = lens _dDistance (\ s a -> s{_dDistance = a}) .+ mapping _Coerce++-- | This contains layer-specific metadata, if populated it has length+-- \"distance\" and is ordered with [distance] being the layer immediately+-- following the base image and [1] being the final layer.+dLayerInfo :: Lens' Derived [Layer]+dLayerInfo+ = lens _dLayerInfo (\ s a -> s{_dLayerInfo = a}) .+ _Default+ . _Coerce++instance FromJSON Derived where+ parseJSON+ = withObject "Derived"+ (\ o ->+ Derived' <$>+ (o .:? "baseResourceUrl") <*> (o .:? "fingerprint")+ <*> (o .:? "distance")+ <*> (o .:? "layerInfo" .!= mempty))++instance ToJSON Derived where+ toJSON Derived'{..}+ = object+ (catMaybes+ [("baseResourceUrl" .=) <$> _dBaseResourceURL,+ ("fingerprint" .=) <$> _dFingerprint,+ ("distance" .=) <$> _dDistance,+ ("layerInfo" .=) <$> _dLayerInfo])++-- | Details of a build occurrence.+--+-- /See:/ 'grafeasV1beta1BuildDetails' smart constructor.+data GrafeasV1beta1BuildDetails = GrafeasV1beta1BuildDetails'+ { _gvbdProvenanceBytes :: !(Maybe Text)+ , _gvbdProvenance :: !(Maybe BuildProvenance)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'GrafeasV1beta1BuildDetails' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gvbdProvenanceBytes'+--+-- * 'gvbdProvenance'+grafeasV1beta1BuildDetails+ :: GrafeasV1beta1BuildDetails+grafeasV1beta1BuildDetails =+ GrafeasV1beta1BuildDetails'+ { _gvbdProvenanceBytes = Nothing+ , _gvbdProvenance = Nothing+ }++-- | Serialized JSON representation of the provenance, used in generating the+-- build signature in the corresponding build note. After verifying the+-- signature, \`provenance_bytes\` can be unmarshalled and compared to the+-- provenance to confirm that it is unchanged. A base64-encoded string+-- representation of the provenance bytes is used for the signature in+-- order to interoperate with openssl which expects this format for+-- signature verification. The serialized form is captured both to avoid+-- ambiguity in how the provenance is marshalled to json as well to prevent+-- incompatibilities with future changes.+gvbdProvenanceBytes :: Lens' GrafeasV1beta1BuildDetails (Maybe Text)+gvbdProvenanceBytes+ = lens _gvbdProvenanceBytes+ (\ s a -> s{_gvbdProvenanceBytes = a})++-- | Required. The actual provenance for the build.+gvbdProvenance :: Lens' GrafeasV1beta1BuildDetails (Maybe BuildProvenance)+gvbdProvenance+ = lens _gvbdProvenance+ (\ s a -> s{_gvbdProvenance = a})++instance FromJSON GrafeasV1beta1BuildDetails where+ parseJSON+ = withObject "GrafeasV1beta1BuildDetails"+ (\ o ->+ GrafeasV1beta1BuildDetails' <$>+ (o .:? "provenanceBytes") <*> (o .:? "provenance"))++instance ToJSON GrafeasV1beta1BuildDetails where+ toJSON GrafeasV1beta1BuildDetails'{..}+ = object+ (catMaybes+ [("provenanceBytes" .=) <$> _gvbdProvenanceBytes,+ ("provenance" .=) <$> _gvbdProvenance])++-- | Source describes the location of the source used for the build.+--+-- /See:/ 'source' smart constructor.+data Source = Source'+ { _sContext :: !(Maybe SourceContext)+ , _sAdditionalContexts :: !(Maybe [SourceContext])+ , _sArtifactStorageSourceURI :: !(Maybe Text)+ , _sFileHashes :: !(Maybe SourceFileHashes)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Source' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sContext'+--+-- * 'sAdditionalContexts'+--+-- * 'sArtifactStorageSourceURI'+--+-- * 'sFileHashes'+source+ :: Source+source =+ Source'+ { _sContext = Nothing+ , _sAdditionalContexts = Nothing+ , _sArtifactStorageSourceURI = Nothing+ , _sFileHashes = Nothing+ }++-- | If provided, the source code used for the build came from this location.+sContext :: Lens' Source (Maybe SourceContext)+sContext = lens _sContext (\ s a -> s{_sContext = a})++-- | If provided, some of the source code used for the build may be found in+-- these locations, in the case where the source repository had multiple+-- remotes or submodules. This list will not include the context specified+-- in the context field.+sAdditionalContexts :: Lens' Source [SourceContext]+sAdditionalContexts+ = lens _sAdditionalContexts+ (\ s a -> s{_sAdditionalContexts = a})+ . _Default+ . _Coerce++-- | If provided, the input binary artifacts for the build came from this+-- location.+sArtifactStorageSourceURI :: Lens' Source (Maybe Text)+sArtifactStorageSourceURI+ = lens _sArtifactStorageSourceURI+ (\ s a -> s{_sArtifactStorageSourceURI = a})++-- | Hash(es) of the build source, which can be used to verify that the+-- original source integrity was maintained in the build. The keys to this+-- map are file paths used as build source and the values contain the hash+-- values for those files. If the build source came in a single package+-- such as a gzipped tarfile (.tar.gz), the FileHash will be for the single+-- path to that file.+sFileHashes :: Lens' Source (Maybe SourceFileHashes)+sFileHashes+ = lens _sFileHashes (\ s a -> s{_sFileHashes = a})++instance FromJSON Source where+ parseJSON+ = withObject "Source"+ (\ o ->+ Source' <$>+ (o .:? "context") <*>+ (o .:? "additionalContexts" .!= mempty)+ <*> (o .:? "artifactStorageSourceUri")+ <*> (o .:? "fileHashes"))++instance ToJSON Source where+ toJSON Source'{..}+ = object+ (catMaybes+ [("context" .=) <$> _sContext,+ ("additionalContexts" .=) <$> _sAdditionalContexts,+ ("artifactStorageSourceUri" .=) <$>+ _sArtifactStorageSourceURI,+ ("fileHashes" .=) <$> _sFileHashes])++-- | A scan configuration specifies whether Cloud components in a project+-- have a particular type of analysis being run. For example, it can+-- configure whether vulnerability scanning is being done on Docker images+-- or not.+--+-- /See:/ 'scanConfig' smart constructor.+data ScanConfig = ScanConfig'+ { _scEnabled :: !(Maybe Bool)+ , _scUpdateTime :: !(Maybe DateTime')+ , _scName :: !(Maybe Text)+ , _scDescription :: !(Maybe Text)+ , _scCreateTime :: !(Maybe DateTime')+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ScanConfig' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'scEnabled'+--+-- * 'scUpdateTime'+--+-- * 'scName'+--+-- * 'scDescription'+--+-- * 'scCreateTime'+scanConfig+ :: ScanConfig+scanConfig =+ ScanConfig'+ { _scEnabled = Nothing+ , _scUpdateTime = Nothing+ , _scName = Nothing+ , _scDescription = Nothing+ , _scCreateTime = Nothing+ }++-- | Whether the scan is enabled.+scEnabled :: Lens' ScanConfig (Maybe Bool)+scEnabled+ = lens _scEnabled (\ s a -> s{_scEnabled = a})++-- | Output only. The time this scan config was last updated.+scUpdateTime :: Lens' ScanConfig (Maybe UTCTime)+scUpdateTime+ = lens _scUpdateTime (\ s a -> s{_scUpdateTime = a})+ . mapping _DateTime++-- | Output only. The name of the scan configuration in the form of+-- \`projects\/[PROJECT_ID]\/scanConfigs\/[SCAN_CONFIG_ID]\`.+scName :: Lens' ScanConfig (Maybe Text)+scName = lens _scName (\ s a -> s{_scName = a})++-- | Output only. A human-readable description of what the scan configuration+-- does.+scDescription :: Lens' ScanConfig (Maybe Text)+scDescription+ = lens _scDescription+ (\ s a -> s{_scDescription = a})++-- | Output only. The time this scan config was created.+scCreateTime :: Lens' ScanConfig (Maybe UTCTime)+scCreateTime+ = lens _scCreateTime (\ s a -> s{_scCreateTime = a})+ . mapping _DateTime++instance FromJSON ScanConfig where+ parseJSON+ = withObject "ScanConfig"+ (\ o ->+ ScanConfig' <$>+ (o .:? "enabled") <*> (o .:? "updateTime") <*>+ (o .:? "name")+ <*> (o .:? "description")+ <*> (o .:? "createTime"))++instance ToJSON ScanConfig where+ toJSON ScanConfig'{..}+ = object+ (catMaybes+ [("enabled" .=) <$> _scEnabled,+ ("updateTime" .=) <$> _scUpdateTime,+ ("name" .=) <$> _scName,+ ("description" .=) <$> _scDescription,+ ("createTime" .=) <$> _scCreateTime])++-- | A GitSourceContext denotes a particular revision in a third party Git+-- repository (e.g., GitHub).+--+-- /See:/ 'gitSourceContext' smart constructor.+data GitSourceContext = GitSourceContext'+ { _gURL :: !(Maybe Text)+ , _gRevisionId :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'GitSourceContext' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gURL'+--+-- * 'gRevisionId'+gitSourceContext+ :: GitSourceContext+gitSourceContext =+ GitSourceContext'+ { _gURL = Nothing+ , _gRevisionId = Nothing+ }++-- | Git repository URL.+gURL :: Lens' GitSourceContext (Maybe Text)+gURL = lens _gURL (\ s a -> s{_gURL = a})++-- | Git commit hash.+gRevisionId :: Lens' GitSourceContext (Maybe Text)+gRevisionId+ = lens _gRevisionId (\ s a -> s{_gRevisionId = a})++instance FromJSON GitSourceContext where+ parseJSON+ = withObject "GitSourceContext"+ (\ o ->+ GitSourceContext' <$>+ (o .:? "url") <*> (o .:? "revisionId"))++instance ToJSON GitSourceContext where+ toJSON GitSourceContext'{..}+ = object+ (catMaybes+ [("url" .=) <$> _gURL,+ ("revisionId" .=) <$> _gRevisionId])++-- | Response message for \`TestIamPermissions\` method.+--+-- /See:/ 'testIAMPermissionsResponse' smart constructor.+newtype TestIAMPermissionsResponse = TestIAMPermissionsResponse'+ { _tiamprPermissions :: Maybe [Text]+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'TestIAMPermissionsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tiamprPermissions'+testIAMPermissionsResponse+ :: TestIAMPermissionsResponse+testIAMPermissionsResponse =+ TestIAMPermissionsResponse'+ { _tiamprPermissions = Nothing+ }++-- | A subset of \`TestPermissionsRequest.permissions\` that the caller is+-- allowed.+tiamprPermissions :: Lens' TestIAMPermissionsResponse [Text]+tiamprPermissions+ = lens _tiamprPermissions+ (\ s a -> s{_tiamprPermissions = a})+ . _Default+ . _Coerce++instance FromJSON TestIAMPermissionsResponse where+ parseJSON+ = withObject "TestIAMPermissionsResponse"+ (\ o ->+ TestIAMPermissionsResponse' <$>+ (o .:? "permissions" .!= mempty))++instance ToJSON TestIAMPermissionsResponse where+ toJSON TestIAMPermissionsResponse'{..}+ = object+ (catMaybes+ [("permissions" .=) <$> _tiamprPermissions])++-- | Defines an Identity and Access Management (IAM) policy. It is used to+-- specify access control policies for Cloud Platform resources. A+-- \`Policy\` consists of a list of \`bindings\`. A \`binding\` binds a+-- list of \`members\` to a \`role\`, where the members can be user+-- accounts, Google groups, Google domains, and service accounts. A+-- \`role\` is a named list of permissions defined by IAM. **JSON Example**+-- { \"bindings\": [ { \"role\": \"roles\/owner\", \"members\": [+-- \"user:mike\'example.com\", \"group:admins\'example.com\",+-- \"domain:google.com\",+-- \"serviceAccount:my-other-app\'appspot.gserviceaccount.com\" ] }, {+-- \"role\": \"roles\/viewer\", \"members\": [\"user:sean\'example.com\"] }+-- ] } **YAML Example** bindings: - members: - user:mike\'example.com -+-- group:admins\'example.com - domain:google.com -+-- serviceAccount:my-other-app\'appspot.gserviceaccount.com role:+-- roles\/owner - members: - user:sean\'example.com role: roles\/viewer For+-- a description of IAM and its features, see the [IAM developer\'s+-- guide](https:\/\/cloud.google.com\/iam\/docs).+--+-- /See:/ 'policy' smart constructor.+data Policy = Policy'+ { _pAuditConfigs :: !(Maybe [AuditConfig])+ , _pEtag :: !(Maybe Bytes)+ , _pVersion :: !(Maybe (Textual Int32))+ , _pBindings :: !(Maybe [Binding])+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Policy' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pAuditConfigs'+--+-- * 'pEtag'+--+-- * 'pVersion'+--+-- * 'pBindings'+policy+ :: Policy+policy =+ Policy'+ { _pAuditConfigs = Nothing+ , _pEtag = Nothing+ , _pVersion = Nothing+ , _pBindings = Nothing+ }++-- | Specifies cloud audit logging configuration for this policy.+pAuditConfigs :: Lens' Policy [AuditConfig]+pAuditConfigs+ = lens _pAuditConfigs+ (\ s a -> s{_pAuditConfigs = a})+ . _Default+ . _Coerce++-- | \`etag\` is used for optimistic concurrency control as a way to help+-- prevent simultaneous updates of a policy from overwriting each other. It+-- is strongly suggested that systems make use of the \`etag\` in the+-- read-modify-write cycle to perform policy updates in order to avoid race+-- conditions: An \`etag\` is returned in the response to \`getIamPolicy\`,+-- and systems are expected to put that etag in the request to+-- \`setIamPolicy\` to ensure that their change will be applied to the same+-- version of the policy. If no \`etag\` is provided in the call to+-- \`setIamPolicy\`, then the existing policy is overwritten blindly.+pEtag :: Lens' Policy (Maybe ByteString)+pEtag+ = lens _pEtag (\ s a -> s{_pEtag = a}) .+ mapping _Bytes++-- | Deprecated.+pVersion :: Lens' Policy (Maybe Int32)+pVersion+ = lens _pVersion (\ s a -> s{_pVersion = a}) .+ mapping _Coerce++-- | Associates a list of \`members\` to a \`role\`. \`bindings\` with no+-- members will result in an error.+pBindings :: Lens' Policy [Binding]+pBindings+ = lens _pBindings (\ s a -> s{_pBindings = a}) .+ _Default+ . _Coerce++instance FromJSON Policy where+ parseJSON+ = withObject "Policy"+ (\ o ->+ Policy' <$>+ (o .:? "auditConfigs" .!= mempty) <*> (o .:? "etag")+ <*> (o .:? "version")+ <*> (o .:? "bindings" .!= mempty))++instance ToJSON Policy where+ toJSON Policy'{..}+ = object+ (catMaybes+ [("auditConfigs" .=) <$> _pAuditConfigs,+ ("etag" .=) <$> _pEtag, ("version" .=) <$> _pVersion,+ ("bindings" .=) <$> _pBindings])++-- | Layer holds metadata specific to a layer of a Docker image.+--+-- /See:/ 'layer' smart constructor.+data Layer = Layer'+ { _lDirective :: !(Maybe LayerDirective)+ , _lArguments :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Layer' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lDirective'+--+-- * 'lArguments'+layer+ :: Layer+layer =+ Layer'+ { _lDirective = Nothing+ , _lArguments = Nothing+ }++-- | Required. The recovered Dockerfile directive used to construct this+-- layer.+lDirective :: Lens' Layer (Maybe LayerDirective)+lDirective+ = lens _lDirective (\ s a -> s{_lDirective = a})++-- | The recovered arguments to the Dockerfile directive.+lArguments :: Lens' Layer (Maybe Text)+lArguments+ = lens _lArguments (\ s a -> s{_lArguments = a})++instance FromJSON Layer where+ parseJSON+ = withObject "Layer"+ (\ o ->+ Layer' <$>+ (o .:? "directive") <*> (o .:? "arguments"))++instance ToJSON Layer where+ toJSON Layer'{..}+ = object+ (catMaybes+ [("directive" .=) <$> _lDirective,+ ("arguments" .=) <$> _lArguments])++-- | A CloudRepoSourceContext denotes a particular revision in a Google Cloud+-- Source Repo.+--+-- /See:/ 'cloudRepoSourceContext' smart constructor.+data CloudRepoSourceContext = CloudRepoSourceContext'+ { _crscRepoId :: !(Maybe RepoId)+ , _crscRevisionId :: !(Maybe Text)+ , _crscAliasContext :: !(Maybe AliasContext)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'CloudRepoSourceContext' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'crscRepoId'+--+-- * 'crscRevisionId'+--+-- * 'crscAliasContext'+cloudRepoSourceContext+ :: CloudRepoSourceContext+cloudRepoSourceContext =+ CloudRepoSourceContext'+ { _crscRepoId = Nothing+ , _crscRevisionId = Nothing+ , _crscAliasContext = Nothing+ }++-- | The ID of the repo.+crscRepoId :: Lens' CloudRepoSourceContext (Maybe RepoId)+crscRepoId+ = lens _crscRepoId (\ s a -> s{_crscRepoId = a})++-- | A revision ID.+crscRevisionId :: Lens' CloudRepoSourceContext (Maybe Text)+crscRevisionId+ = lens _crscRevisionId+ (\ s a -> s{_crscRevisionId = a})++-- | An alias, which may be a branch or tag.+crscAliasContext :: Lens' CloudRepoSourceContext (Maybe AliasContext)+crscAliasContext+ = lens _crscAliasContext+ (\ s a -> s{_crscAliasContext = a})++instance FromJSON CloudRepoSourceContext where+ parseJSON+ = withObject "CloudRepoSourceContext"+ (\ o ->+ CloudRepoSourceContext' <$>+ (o .:? "repoId") <*> (o .:? "revisionId") <*>+ (o .:? "aliasContext"))++instance ToJSON CloudRepoSourceContext where+ toJSON CloudRepoSourceContext'{..}+ = object+ (catMaybes+ [("repoId" .=) <$> _crscRepoId,+ ("revisionId" .=) <$> _crscRevisionId,+ ("aliasContext" .=) <$> _crscAliasContext])++-- | Provides the configuration for logging a type of permissions. Example: {+-- \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\",+-- \"exempted_members\": [ \"user:foo\'gmail.com\" ] }, { \"log_type\":+-- \"DATA_WRITE\", } ] } This enables \'DATA_READ\' and \'DATA_WRITE\'+-- logging, while exempting foo\'gmail.com from DATA_READ logging.+--+-- /See:/ 'auditLogConfig' smart constructor.+data AuditLogConfig = AuditLogConfig'+ { _alcLogType :: !(Maybe AuditLogConfigLogType)+ , _alcExemptedMembers :: !(Maybe [Text])+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AuditLogConfig' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'alcLogType'+--+-- * 'alcExemptedMembers'+auditLogConfig+ :: AuditLogConfig+auditLogConfig =+ AuditLogConfig'+ { _alcLogType = Nothing+ , _alcExemptedMembers = Nothing+ }++-- | The log type that this config enables.+alcLogType :: Lens' AuditLogConfig (Maybe AuditLogConfigLogType)+alcLogType+ = lens _alcLogType (\ s a -> s{_alcLogType = a})++-- | Specifies the identities that do not cause logging for this type of+-- permission. Follows the same format of Binding.members.+alcExemptedMembers :: Lens' AuditLogConfig [Text]+alcExemptedMembers+ = lens _alcExemptedMembers+ (\ s a -> s{_alcExemptedMembers = a})+ . _Default+ . _Coerce++instance FromJSON AuditLogConfig where+ parseJSON+ = withObject "AuditLogConfig"+ (\ o ->+ AuditLogConfig' <$>+ (o .:? "logType") <*>+ (o .:? "exemptedMembers" .!= mempty))++instance ToJSON AuditLogConfig where+ toJSON AuditLogConfig'{..}+ = object+ (catMaybes+ [("logType" .=) <$> _alcLogType,+ ("exemptedMembers" .=) <$> _alcExemptedMembers])++-- | An attestation wrapper with a PGP-compatible signature. This message+-- only supports \`ATTACHED\` signatures, where the payload that is signed+-- is included alongside the signature itself in the same file.+--+-- /See:/ 'pgpSignedAttestation' smart constructor.+data PgpSignedAttestation = PgpSignedAttestation'+ { _psaSignature :: !(Maybe Text)+ , _psaPgpKeyId :: !(Maybe Text)+ , _psaContentType :: !(Maybe PgpSignedAttestationContentType)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'PgpSignedAttestation' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'psaSignature'+--+-- * 'psaPgpKeyId'+--+-- * 'psaContentType'+pgpSignedAttestation+ :: PgpSignedAttestation+pgpSignedAttestation =+ PgpSignedAttestation'+ { _psaSignature = Nothing+ , _psaPgpKeyId = Nothing+ , _psaContentType = Nothing+ }++-- | Required. The raw content of the signature, as output by GNU Privacy+-- Guard (GPG) or equivalent. Since this message only supports attached+-- signatures, the payload that was signed must be attached. While the+-- signature format supported is dependent on the verification+-- implementation, currently only ASCII-armored (\`--armor\` to gpg),+-- non-clearsigned (\`--sign\` rather than \`--clearsign\` to gpg) are+-- supported. Concretely, \`gpg --sign --armor --output=signature.gpg+-- payload.json\` will create the signature content expected in this field+-- in \`signature.gpg\` for the \`payload.json\` attestation payload.+psaSignature :: Lens' PgpSignedAttestation (Maybe Text)+psaSignature+ = lens _psaSignature (\ s a -> s{_psaSignature = a})++-- | The cryptographic fingerprint of the key used to generate the signature,+-- as output by, e.g. \`gpg --list-keys\`. This should be the version 4,+-- full 160-bit fingerprint, expressed as a 40 character hexidecimal+-- string. See https:\/\/tools.ietf.org\/html\/rfc4880#section-12.2 for+-- details. Implementations may choose to acknowledge \"LONG\", \"SHORT\",+-- or other abbreviated key IDs, but only the full fingerprint is+-- guaranteed to work. In gpg, the full fingerprint can be retrieved from+-- the \`fpr\` field returned when calling --list-keys with --with-colons.+-- For example: \`\`\` gpg --with-colons --with-fingerprint+-- --force-v4-certs \\ --list-keys attester\'example.com+-- tru::1:1513631572:0:3:1:5 pub:......+-- fpr:::::::::24FF6481B76AC91E66A00AC657A93A81EF3AE6FB: \`\`\` Above, the+-- fingerprint is \`24FF6481B76AC91E66A00AC657A93A81EF3AE6FB\`.+psaPgpKeyId :: Lens' PgpSignedAttestation (Maybe Text)+psaPgpKeyId+ = lens _psaPgpKeyId (\ s a -> s{_psaPgpKeyId = a})++-- | Type (for example schema) of the attestation payload that was signed.+-- The verifier must ensure that the provided type is one that the verifier+-- supports, and that the attestation payload is a valid instantiation of+-- that type (for example by validating a JSON schema).+psaContentType :: Lens' PgpSignedAttestation (Maybe PgpSignedAttestationContentType)+psaContentType+ = lens _psaContentType+ (\ s a -> s{_psaContentType = a})++instance FromJSON PgpSignedAttestation where+ parseJSON+ = withObject "PgpSignedAttestation"+ (\ o ->+ PgpSignedAttestation' <$>+ (o .:? "signature") <*> (o .:? "pgpKeyId") <*>+ (o .:? "contentType"))++instance ToJSON PgpSignedAttestation where+ toJSON PgpSignedAttestation'{..}+ = object+ (catMaybes+ [("signature" .=) <$> _psaSignature,+ ("pgpKeyId" .=) <$> _psaPgpKeyId,+ ("contentType" .=) <$> _psaContentType])++-- | The notes to create. Max allowed length is 1000.+--+-- /See:/ 'batchCreateNotesRequestNotes' smart constructor.+newtype BatchCreateNotesRequestNotes = BatchCreateNotesRequestNotes'+ { _bcnrnAddtional :: HashMap Text Note+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'BatchCreateNotesRequestNotes' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bcnrnAddtional'+batchCreateNotesRequestNotes+ :: HashMap Text Note -- ^ 'bcnrnAddtional'+ -> BatchCreateNotesRequestNotes+batchCreateNotesRequestNotes pBcnrnAddtional_ =+ BatchCreateNotesRequestNotes'+ { _bcnrnAddtional = _Coerce # pBcnrnAddtional_+ }++bcnrnAddtional :: Lens' BatchCreateNotesRequestNotes (HashMap Text Note)+bcnrnAddtional+ = lens _bcnrnAddtional+ (\ s a -> s{_bcnrnAddtional = a})+ . _Coerce++instance FromJSON BatchCreateNotesRequestNotes where+ parseJSON+ = withObject "BatchCreateNotesRequestNotes"+ (\ o ->+ BatchCreateNotesRequestNotes' <$>+ (parseJSONObject o))++instance ToJSON BatchCreateNotesRequestNotes where+ toJSON = toJSON . _bcnrnAddtional++-- | An alias to a repo revision.+--+-- /See:/ 'aliasContext' smart constructor.+data AliasContext = AliasContext'+ { _acKind :: !(Maybe AliasContextKind)+ , _acName :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'AliasContext' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'acKind'+--+-- * 'acName'+aliasContext+ :: AliasContext+aliasContext =+ AliasContext'+ { _acKind = Nothing+ , _acName = Nothing+ }++-- | The alias kind.+acKind :: Lens' AliasContext (Maybe AliasContextKind)+acKind = lens _acKind (\ s a -> s{_acKind = a})++-- | The alias name.+acName :: Lens' AliasContext (Maybe Text)+acName = lens _acName (\ s a -> s{_acName = a})++instance FromJSON AliasContext where+ parseJSON+ = withObject "AliasContext"+ (\ o ->+ AliasContext' <$> (o .:? "kind") <*> (o .:? "name"))++instance ToJSON AliasContext where+ toJSON AliasContext'{..}+ = object+ (catMaybes+ [("kind" .=) <$> _acKind, ("name" .=) <$> _acName])++-- | Associates \`members\` with a \`role\`.+--+-- /See:/ 'binding' smart constructor.+data Binding = Binding'+ { _bMembers :: !(Maybe [Text])+ , _bRole :: !(Maybe Text)+ , _bCondition :: !(Maybe Expr)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Binding' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bMembers'+--+-- * 'bRole'+--+-- * 'bCondition'+binding+ :: Binding+binding =+ Binding'+ { _bMembers = Nothing+ , _bRole = Nothing+ , _bCondition = Nothing+ }++-- | Specifies the identities requesting access for a Cloud Platform+-- resource. \`members\` can have the following values: * \`allUsers\`: A+-- special identifier that represents anyone who is on the internet; with+-- or without a Google account. * \`allAuthenticatedUsers\`: A special+-- identifier that represents anyone who is authenticated with a Google+-- account or a service account. * \`user:{emailid}\`: An email address+-- that represents a specific Google account. For example,+-- \`alice\'gmail.com\` . * \`serviceAccount:{emailid}\`: An email address+-- that represents a service account. For example,+-- \`my-other-app\'appspot.gserviceaccount.com\`. * \`group:{emailid}\`: An+-- email address that represents a Google group. For example,+-- \`admins\'example.com\`. * \`domain:{domain}\`: A Google Apps domain+-- name that represents all the users of that domain. For example,+-- \`google.com\` or \`example.com\`.+bMembers :: Lens' Binding [Text]+bMembers+ = lens _bMembers (\ s a -> s{_bMembers = a}) .+ _Default+ . _Coerce++-- | Role that is assigned to \`members\`. For example, \`roles\/viewer\`,+-- \`roles\/editor\`, or \`roles\/owner\`.+bRole :: Lens' Binding (Maybe Text)+bRole = lens _bRole (\ s a -> s{_bRole = a})++-- | Unimplemented. The condition that is associated with this binding. NOTE:+-- an unsatisfied condition will not allow user access via current binding.+-- Different bindings, including their conditions, are examined+-- independently.+bCondition :: Lens' Binding (Maybe Expr)+bCondition+ = lens _bCondition (\ s a -> s{_bCondition = a})++instance FromJSON Binding where+ parseJSON+ = withObject "Binding"+ (\ o ->+ Binding' <$>+ (o .:? "members" .!= mempty) <*> (o .:? "role") <*>+ (o .:? "condition"))++instance ToJSON Binding where+ toJSON Binding'{..}+ = object+ (catMaybes+ [("members" .=) <$> _bMembers,+ ("role" .=) <$> _bRole,+ ("condition" .=) <$> _bCondition])++-- | Identifies all appearances of this vulnerability in the package for a+-- specific distro\/location. For example: glibc in+-- cpe:\/o:debian:debian_linux:8 for versions 2.1 - 2.2+--+-- /See:/ 'detail' smart constructor.+data Detail = Detail'+ { _detMinAffectedVersion :: !(Maybe Version)+ , _detPackageType :: !(Maybe Text)+ , _detIsObsolete :: !(Maybe Bool)+ , _detFixedLocation :: !(Maybe VulnerabilityLocation)+ , _detSeverityName :: !(Maybe Text)+ , _detMaxAffectedVersion :: !(Maybe Version)+ , _detPackage :: !(Maybe Text)+ , _detCpeURI :: !(Maybe Text)+ , _detDescription :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Detail' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'detMinAffectedVersion'+--+-- * 'detPackageType'+--+-- * 'detIsObsolete'+--+-- * 'detFixedLocation'+--+-- * 'detSeverityName'+--+-- * 'detMaxAffectedVersion'+--+-- * 'detPackage'+--+-- * 'detCpeURI'+--+-- * 'detDescription'+detail+ :: Detail+detail =+ Detail'+ { _detMinAffectedVersion = Nothing+ , _detPackageType = Nothing+ , _detIsObsolete = Nothing+ , _detFixedLocation = Nothing+ , _detSeverityName = Nothing+ , _detMaxAffectedVersion = Nothing+ , _detPackage = Nothing+ , _detCpeURI = Nothing+ , _detDescription = Nothing+ }++-- | The min version of the package in which the vulnerability exists.+detMinAffectedVersion :: Lens' Detail (Maybe Version)+detMinAffectedVersion+ = lens _detMinAffectedVersion+ (\ s a -> s{_detMinAffectedVersion = a})++-- | The type of package; whether native or non native(ruby gems, node.js+-- packages etc).+detPackageType :: Lens' Detail (Maybe Text)+detPackageType+ = lens _detPackageType+ (\ s a -> s{_detPackageType = a})++-- | Whether this detail is obsolete. Occurrences are expected not to point+-- to obsolete details.+detIsObsolete :: Lens' Detail (Maybe Bool)+detIsObsolete+ = lens _detIsObsolete+ (\ s a -> s{_detIsObsolete = a})++-- | The fix for this specific package version.+detFixedLocation :: Lens' Detail (Maybe VulnerabilityLocation)+detFixedLocation+ = lens _detFixedLocation+ (\ s a -> s{_detFixedLocation = a})++-- | The severity (eg: distro assigned severity) for this vulnerability.+detSeverityName :: Lens' Detail (Maybe Text)+detSeverityName+ = lens _detSeverityName+ (\ s a -> s{_detSeverityName = a})++-- | The max version of the package in which the vulnerability exists.+detMaxAffectedVersion :: Lens' Detail (Maybe Version)+detMaxAffectedVersion+ = lens _detMaxAffectedVersion+ (\ s a -> s{_detMaxAffectedVersion = a})++-- | Required. The name of the package where the vulnerability was found.+detPackage :: Lens' Detail (Maybe Text)+detPackage+ = lens _detPackage (\ s a -> s{_detPackage = a})++-- | Required. The CPE URI in [cpe+-- format](https:\/\/cpe.mitre.org\/specification\/) in which the+-- vulnerability manifests. Examples include distro or storage location for+-- vulnerable jar.+detCpeURI :: Lens' Detail (Maybe Text)+detCpeURI+ = lens _detCpeURI (\ s a -> s{_detCpeURI = a})++-- | A vendor-specific description of this note.+detDescription :: Lens' Detail (Maybe Text)+detDescription+ = lens _detDescription+ (\ s a -> s{_detDescription = a})++instance FromJSON Detail where+ parseJSON+ = withObject "Detail"+ (\ o ->+ Detail' <$>+ (o .:? "minAffectedVersion") <*>+ (o .:? "packageType")+ <*> (o .:? "isObsolete")+ <*> (o .:? "fixedLocation")+ <*> (o .:? "severityName")+ <*> (o .:? "maxAffectedVersion")+ <*> (o .:? "package")+ <*> (o .:? "cpeUri")+ <*> (o .:? "description"))++instance ToJSON Detail where+ toJSON Detail'{..}+ = object+ (catMaybes+ [("minAffectedVersion" .=) <$>+ _detMinAffectedVersion,+ ("packageType" .=) <$> _detPackageType,+ ("isObsolete" .=) <$> _detIsObsolete,+ ("fixedLocation" .=) <$> _detFixedLocation,+ ("severityName" .=) <$> _detSeverityName,+ ("maxAffectedVersion" .=) <$> _detMaxAffectedVersion,+ ("package" .=) <$> _detPackage,+ ("cpeUri" .=) <$> _detCpeURI,+ ("description" .=) <$> _detDescription])++-- | Note kind that represents a logical attestation \"role\" or+-- \"authority\". For example, an organization might have one \`Authority\`+-- for \"QA\" and one for \"build\". This note is intended to act strictly+-- as a grouping mechanism for the attached occurrences (Attestations).+-- This grouping mechanism also provides a security boundary, since IAM+-- ACLs gate the ability for a principle to attach an occurrence to a given+-- note. It also provides a single point of lookup to find all attached+-- attestation occurrences, even if they don\'t all live in the same+-- project.+--+-- /See:/ 'authority' smart constructor.+newtype Authority = Authority'+ { _aHint :: Maybe Hint+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Authority' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aHint'+authority+ :: Authority+authority =+ Authority'+ { _aHint = Nothing+ }++-- | Hint hints at the purpose of the attestation authority.+aHint :: Lens' Authority (Maybe Hint)+aHint = lens _aHint (\ s a -> s{_aHint = a})++instance FromJSON Authority where+ parseJSON+ = withObject "Authority"+ (\ o -> Authority' <$> (o .:? "hint"))++instance ToJSON Authority where+ toJSON Authority'{..}+ = object (catMaybes [("hint" .=) <$> _aHint])++-- | Details of a package occurrence.+--+-- /See:/ 'grafeasV1beta1PackageDetails' smart constructor.+newtype GrafeasV1beta1PackageDetails = GrafeasV1beta1PackageDetails'+ { _gvpdInstallation :: Maybe Installation+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'GrafeasV1beta1PackageDetails' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gvpdInstallation'+grafeasV1beta1PackageDetails+ :: GrafeasV1beta1PackageDetails+grafeasV1beta1PackageDetails =+ GrafeasV1beta1PackageDetails'+ { _gvpdInstallation = Nothing+ }++-- | Required. Where the package was installed.+gvpdInstallation :: Lens' GrafeasV1beta1PackageDetails (Maybe Installation)+gvpdInstallation+ = lens _gvpdInstallation+ (\ s a -> s{_gvpdInstallation = a})++instance FromJSON GrafeasV1beta1PackageDetails where+ parseJSON+ = withObject "GrafeasV1beta1PackageDetails"+ (\ o ->+ GrafeasV1beta1PackageDetails' <$>+ (o .:? "installation"))++instance ToJSON GrafeasV1beta1PackageDetails where+ toJSON GrafeasV1beta1PackageDetails'{..}+ = object+ (catMaybes+ [("installation" .=) <$> _gvpdInstallation])++-- | The period during which some deployable was active in a runtime.+--+-- /See:/ 'deployment' smart constructor.+data Deployment = Deployment'+ { _depResourceURI :: !(Maybe [Text])+ , _depPlatform :: !(Maybe DeploymentPlatform)+ , _depConfig :: !(Maybe Text)+ , _depUndeployTime :: !(Maybe DateTime')+ , _depDeployTime :: !(Maybe DateTime')+ , _depAddress :: !(Maybe Text)+ , _depUserEmail :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'Deployment' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'depResourceURI'+--+-- * 'depPlatform'+--+-- * 'depConfig'+--+-- * 'depUndeployTime'+--+-- * 'depDeployTime'+--+-- * 'depAddress'+--+-- * 'depUserEmail'+deployment+ :: Deployment+deployment =+ Deployment'+ { _depResourceURI = Nothing+ , _depPlatform = Nothing+ , _depConfig = Nothing+ , _depUndeployTime = Nothing+ , _depDeployTime = Nothing+ , _depAddress = Nothing+ , _depUserEmail = Nothing+ }++-- | Output only. Resource URI for the artifact being deployed taken from the+-- deployable field with the same name.+depResourceURI :: Lens' Deployment [Text]+depResourceURI+ = lens _depResourceURI+ (\ s a -> s{_depResourceURI = a})+ . _Default+ . _Coerce++-- | Platform hosting this deployment.+depPlatform :: Lens' Deployment (Maybe DeploymentPlatform)+depPlatform+ = lens _depPlatform (\ s a -> s{_depPlatform = a})++-- | Configuration used to create this deployment.+depConfig :: Lens' Deployment (Maybe Text)+depConfig+ = lens _depConfig (\ s a -> s{_depConfig = a})++-- | End of the lifetime of this deployment.+depUndeployTime :: Lens' Deployment (Maybe UTCTime)+depUndeployTime+ = lens _depUndeployTime+ (\ s a -> s{_depUndeployTime = a})+ . mapping _DateTime++-- | Required. Beginning of the lifetime of this deployment.+depDeployTime :: Lens' Deployment (Maybe UTCTime)+depDeployTime+ = lens _depDeployTime+ (\ s a -> s{_depDeployTime = a})+ . mapping _DateTime++-- | Address of the runtime element hosting this deployment.+depAddress :: Lens' Deployment (Maybe Text)+depAddress+ = lens _depAddress (\ s a -> s{_depAddress = a})++-- | Identity of the user that triggered this deployment.+depUserEmail :: Lens' Deployment (Maybe Text)+depUserEmail+ = lens _depUserEmail (\ s a -> s{_depUserEmail = a})++instance FromJSON Deployment where+ parseJSON+ = withObject "Deployment"+ (\ o ->+ Deployment' <$>+ (o .:? "resourceUri" .!= mempty) <*>+ (o .:? "platform")+ <*> (o .:? "config")+ <*> (o .:? "undeployTime")+ <*> (o .:? "deployTime")+ <*> (o .:? "address")+ <*> (o .:? "userEmail"))++instance ToJSON Deployment where+ toJSON Deployment'{..}+ = object+ (catMaybes+ [("resourceUri" .=) <$> _depResourceURI,+ ("platform" .=) <$> _depPlatform,+ ("config" .=) <$> _depConfig,+ ("undeployTime" .=) <$> _depUndeployTime,+ ("deployTime" .=) <$> _depDeployTime,+ ("address" .=) <$> _depAddress,+ ("userEmail" .=) <$> _depUserEmail])
+ gen/Network/Google/ContainerAnalysis/Types/Sum.hs view
@@ -0,0 +1,865 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.ContainerAnalysis.Types.Sum+-- Copyright : (c) 2015-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Network.Google.ContainerAnalysis.Types.Sum where++import Network.Google.Prelude hiding (Bytes)++-- | Required. The recovered Dockerfile directive used to construct this+-- layer.+data LayerDirective+ = DirectiveUnspecified+ -- ^ @DIRECTIVE_UNSPECIFIED@+ -- Default value for unsupported\/missing directive.+ | Maintainer+ -- ^ @MAINTAINER@+ -- https:\/\/docs.docker.com\/reference\/builder\/#maintainer+ | Run+ -- ^ @RUN@+ -- https:\/\/docs.docker.com\/reference\/builder\/#run+ | Cmd+ -- ^ @CMD@+ -- https:\/\/docs.docker.com\/reference\/builder\/#cmd+ | Label+ -- ^ @LABEL@+ -- https:\/\/docs.docker.com\/reference\/builder\/#label+ | Expose+ -- ^ @EXPOSE@+ -- https:\/\/docs.docker.com\/reference\/builder\/#expose+ | Env+ -- ^ @ENV@+ -- https:\/\/docs.docker.com\/reference\/builder\/#env+ | Add+ -- ^ @ADD@+ -- https:\/\/docs.docker.com\/reference\/builder\/#add+ | Copy+ -- ^ @COPY@+ -- https:\/\/docs.docker.com\/reference\/builder\/#copy+ | Entrypoint+ -- ^ @ENTRYPOINT@+ -- https:\/\/docs.docker.com\/reference\/builder\/#entrypoint+ | Volume+ -- ^ @VOLUME@+ -- https:\/\/docs.docker.com\/reference\/builder\/#volume+ | User+ -- ^ @USER@+ -- https:\/\/docs.docker.com\/reference\/builder\/#user+ | Workdir+ -- ^ @WORKDIR@+ -- https:\/\/docs.docker.com\/reference\/builder\/#workdir+ | Arg+ -- ^ @ARG@+ -- https:\/\/docs.docker.com\/reference\/builder\/#arg+ | Onbuild+ -- ^ @ONBUILD@+ -- https:\/\/docs.docker.com\/reference\/builder\/#onbuild+ | Stopsignal+ -- ^ @STOPSIGNAL@+ -- https:\/\/docs.docker.com\/reference\/builder\/#stopsignal+ | Healthcheck+ -- ^ @HEALTHCHECK@+ -- https:\/\/docs.docker.com\/reference\/builder\/#healthcheck+ | Shell+ -- ^ @SHELL@+ -- https:\/\/docs.docker.com\/reference\/builder\/#shell+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable LayerDirective++instance FromHttpApiData LayerDirective where+ parseQueryParam = \case+ "DIRECTIVE_UNSPECIFIED" -> Right DirectiveUnspecified+ "MAINTAINER" -> Right Maintainer+ "RUN" -> Right Run+ "CMD" -> Right Cmd+ "LABEL" -> Right Label+ "EXPOSE" -> Right Expose+ "ENV" -> Right Env+ "ADD" -> Right Add+ "COPY" -> Right Copy+ "ENTRYPOINT" -> Right Entrypoint+ "VOLUME" -> Right Volume+ "USER" -> Right User+ "WORKDIR" -> Right Workdir+ "ARG" -> Right Arg+ "ONBUILD" -> Right Onbuild+ "STOPSIGNAL" -> Right Stopsignal+ "HEALTHCHECK" -> Right Healthcheck+ "SHELL" -> Right Shell+ x -> Left ("Unable to parse LayerDirective from: " <> x)++instance ToHttpApiData LayerDirective where+ toQueryParam = \case+ DirectiveUnspecified -> "DIRECTIVE_UNSPECIFIED"+ Maintainer -> "MAINTAINER"+ Run -> "RUN"+ Cmd -> "CMD"+ Label -> "LABEL"+ Expose -> "EXPOSE"+ Env -> "ENV"+ Add -> "ADD"+ Copy -> "COPY"+ Entrypoint -> "ENTRYPOINT"+ Volume -> "VOLUME"+ User -> "USER"+ Workdir -> "WORKDIR"+ Arg -> "ARG"+ Onbuild -> "ONBUILD"+ Stopsignal -> "STOPSIGNAL"+ Healthcheck -> "HEALTHCHECK"+ Shell -> "SHELL"++instance FromJSON LayerDirective where+ parseJSON = parseJSONText "LayerDirective"++instance ToJSON LayerDirective where+ toJSON = toJSONText++-- | The status of discovery for the resource.+data DiscoveredAnalysisStatus+ = AnalysisStatusUnspecified+ -- ^ @ANALYSIS_STATUS_UNSPECIFIED@+ -- Unknown.+ | Pending+ -- ^ @PENDING@+ -- Resource is known but no action has been taken yet.+ | Scanning+ -- ^ @SCANNING@+ -- Resource is being analyzed.+ | FinishedSuccess+ -- ^ @FINISHED_SUCCESS@+ -- Analysis has finished successfully.+ | FinishedFailed+ -- ^ @FINISHED_FAILED@+ -- Analysis has finished unsuccessfully, the analysis itself is in a bad+ -- state.+ | FinishedUnsupported+ -- ^ @FINISHED_UNSUPPORTED@+ -- The resource is known not to be supported+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable DiscoveredAnalysisStatus++instance FromHttpApiData DiscoveredAnalysisStatus where+ parseQueryParam = \case+ "ANALYSIS_STATUS_UNSPECIFIED" -> Right AnalysisStatusUnspecified+ "PENDING" -> Right Pending+ "SCANNING" -> Right Scanning+ "FINISHED_SUCCESS" -> Right FinishedSuccess+ "FINISHED_FAILED" -> Right FinishedFailed+ "FINISHED_UNSUPPORTED" -> Right FinishedUnsupported+ x -> Left ("Unable to parse DiscoveredAnalysisStatus from: " <> x)++instance ToHttpApiData DiscoveredAnalysisStatus where+ toQueryParam = \case+ AnalysisStatusUnspecified -> "ANALYSIS_STATUS_UNSPECIFIED"+ Pending -> "PENDING"+ Scanning -> "SCANNING"+ FinishedSuccess -> "FINISHED_SUCCESS"+ FinishedFailed -> "FINISHED_FAILED"+ FinishedUnsupported -> "FINISHED_UNSUPPORTED"++instance FromJSON DiscoveredAnalysisStatus where+ parseJSON = parseJSONText "DiscoveredAnalysisStatus"++instance ToJSON DiscoveredAnalysisStatus where+ toJSON = toJSONText++-- | Output only. The note provider assigned Severity of the vulnerability.+data GrafeasV1beta1VulnerabilityDetailsSeverity+ = SeverityUnspecified+ -- ^ @SEVERITY_UNSPECIFIED@+ -- Unknown.+ | Minimal+ -- ^ @MINIMAL@+ -- Minimal severity.+ | Low+ -- ^ @LOW@+ -- Low severity.+ | Medium+ -- ^ @MEDIUM@+ -- Medium severity.+ | High+ -- ^ @HIGH@+ -- High severity.+ | Critical+ -- ^ @CRITICAL@+ -- Critical severity.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable GrafeasV1beta1VulnerabilityDetailsSeverity++instance FromHttpApiData GrafeasV1beta1VulnerabilityDetailsSeverity where+ parseQueryParam = \case+ "SEVERITY_UNSPECIFIED" -> Right SeverityUnspecified+ "MINIMAL" -> Right Minimal+ "LOW" -> Right Low+ "MEDIUM" -> Right Medium+ "HIGH" -> Right High+ "CRITICAL" -> Right Critical+ x -> Left ("Unable to parse GrafeasV1beta1VulnerabilityDetailsSeverity from: " <> x)++instance ToHttpApiData GrafeasV1beta1VulnerabilityDetailsSeverity where+ toQueryParam = \case+ SeverityUnspecified -> "SEVERITY_UNSPECIFIED"+ Minimal -> "MINIMAL"+ Low -> "LOW"+ Medium -> "MEDIUM"+ High -> "HIGH"+ Critical -> "CRITICAL"++instance FromJSON GrafeasV1beta1VulnerabilityDetailsSeverity where+ parseJSON = parseJSONText "GrafeasV1beta1VulnerabilityDetailsSeverity"++instance ToJSON GrafeasV1beta1VulnerabilityDetailsSeverity where+ toJSON = toJSONText++-- | Output only. This explicitly denotes which of the occurrence details are+-- specified. This field can be used as a filter in list requests.+data OccurrenceKind+ = OKNoteKindUnspecified+ -- ^ @NOTE_KIND_UNSPECIFIED@+ -- Unknown.+ | OKVulnerability+ -- ^ @VULNERABILITY@+ -- The note and occurrence represent a package vulnerability.+ | OKBuild+ -- ^ @BUILD@+ -- The note and occurrence assert build provenance.+ | OKImage+ -- ^ @IMAGE@+ -- This represents an image basis relationship.+ | OKPackage+ -- ^ @PACKAGE@+ -- This represents a package installed via a package manager.+ | OKDeployment+ -- ^ @DEPLOYMENT@+ -- The note and occurrence track deployment events.+ | OKDiscovery+ -- ^ @DISCOVERY@+ -- The note and occurrence track the initial discovery status of a+ -- resource.+ | OKAttestation+ -- ^ @ATTESTATION@+ -- This represents a logical \"role\" that can attest to artifacts.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable OccurrenceKind++instance FromHttpApiData OccurrenceKind where+ parseQueryParam = \case+ "NOTE_KIND_UNSPECIFIED" -> Right OKNoteKindUnspecified+ "VULNERABILITY" -> Right OKVulnerability+ "BUILD" -> Right OKBuild+ "IMAGE" -> Right OKImage+ "PACKAGE" -> Right OKPackage+ "DEPLOYMENT" -> Right OKDeployment+ "DISCOVERY" -> Right OKDiscovery+ "ATTESTATION" -> Right OKAttestation+ x -> Left ("Unable to parse OccurrenceKind from: " <> x)++instance ToHttpApiData OccurrenceKind where+ toQueryParam = \case+ OKNoteKindUnspecified -> "NOTE_KIND_UNSPECIFIED"+ OKVulnerability -> "VULNERABILITY"+ OKBuild -> "BUILD"+ OKImage -> "IMAGE"+ OKPackage -> "PACKAGE"+ OKDeployment -> "DEPLOYMENT"+ OKDiscovery -> "DISCOVERY"+ OKAttestation -> "ATTESTATION"++instance FromJSON OccurrenceKind where+ parseJSON = parseJSONText "OccurrenceKind"++instance ToJSON OccurrenceKind where+ toJSON = toJSONText++-- | Note provider assigned impact of the vulnerability.+data VulnerabilitySeverity+ = VSSeverityUnspecified+ -- ^ @SEVERITY_UNSPECIFIED@+ -- Unknown.+ | VSMinimal+ -- ^ @MINIMAL@+ -- Minimal severity.+ | VSLow+ -- ^ @LOW@+ -- Low severity.+ | VSMedium+ -- ^ @MEDIUM@+ -- Medium severity.+ | VSHigh+ -- ^ @HIGH@+ -- High severity.+ | VSCritical+ -- ^ @CRITICAL@+ -- Critical severity.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable VulnerabilitySeverity++instance FromHttpApiData VulnerabilitySeverity where+ parseQueryParam = \case+ "SEVERITY_UNSPECIFIED" -> Right VSSeverityUnspecified+ "MINIMAL" -> Right VSMinimal+ "LOW" -> Right VSLow+ "MEDIUM" -> Right VSMedium+ "HIGH" -> Right VSHigh+ "CRITICAL" -> Right VSCritical+ x -> Left ("Unable to parse VulnerabilitySeverity from: " <> x)++instance ToHttpApiData VulnerabilitySeverity where+ toQueryParam = \case+ VSSeverityUnspecified -> "SEVERITY_UNSPECIFIED"+ VSMinimal -> "MINIMAL"+ VSLow -> "LOW"+ VSMedium -> "MEDIUM"+ VSHigh -> "HIGH"+ VSCritical -> "CRITICAL"++instance FromJSON VulnerabilitySeverity where+ parseJSON = parseJSONText "VulnerabilitySeverity"++instance ToJSON VulnerabilitySeverity where+ toJSON = toJSONText++-- | Whether the resource is continuously analyzed.+data DiscoveredContinuousAnalysis+ = ContinuousAnalysisUnspecified+ -- ^ @CONTINUOUS_ANALYSIS_UNSPECIFIED@+ -- Unknown.+ | Active+ -- ^ @ACTIVE@+ -- The resource is continuously analyzed.+ | Inactive+ -- ^ @INACTIVE@+ -- The resource is ignored for continuous analysis.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable DiscoveredContinuousAnalysis++instance FromHttpApiData DiscoveredContinuousAnalysis where+ parseQueryParam = \case+ "CONTINUOUS_ANALYSIS_UNSPECIFIED" -> Right ContinuousAnalysisUnspecified+ "ACTIVE" -> Right Active+ "INACTIVE" -> Right Inactive+ x -> Left ("Unable to parse DiscoveredContinuousAnalysis from: " <> x)++instance ToHttpApiData DiscoveredContinuousAnalysis where+ toQueryParam = \case+ ContinuousAnalysisUnspecified -> "CONTINUOUS_ANALYSIS_UNSPECIFIED"+ Active -> "ACTIVE"+ Inactive -> "INACTIVE"++instance FromJSON DiscoveredContinuousAnalysis where+ parseJSON = parseJSONText "DiscoveredContinuousAnalysis"++instance ToJSON DiscoveredContinuousAnalysis where+ toJSON = toJSONText++-- | Output only. The type of analysis. This field can be used as a filter in+-- list requests.+data NoteKind+ = NKNoteKindUnspecified+ -- ^ @NOTE_KIND_UNSPECIFIED@+ -- Unknown.+ | NKVulnerability+ -- ^ @VULNERABILITY@+ -- The note and occurrence represent a package vulnerability.+ | NKBuild+ -- ^ @BUILD@+ -- The note and occurrence assert build provenance.+ | NKImage+ -- ^ @IMAGE@+ -- This represents an image basis relationship.+ | NKPackage+ -- ^ @PACKAGE@+ -- This represents a package installed via a package manager.+ | NKDeployment+ -- ^ @DEPLOYMENT@+ -- The note and occurrence track deployment events.+ | NKDiscovery+ -- ^ @DISCOVERY@+ -- The note and occurrence track the initial discovery status of a+ -- resource.+ | NKAttestation+ -- ^ @ATTESTATION@+ -- This represents a logical \"role\" that can attest to artifacts.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable NoteKind++instance FromHttpApiData NoteKind where+ parseQueryParam = \case+ "NOTE_KIND_UNSPECIFIED" -> Right NKNoteKindUnspecified+ "VULNERABILITY" -> Right NKVulnerability+ "BUILD" -> Right NKBuild+ "IMAGE" -> Right NKImage+ "PACKAGE" -> Right NKPackage+ "DEPLOYMENT" -> Right NKDeployment+ "DISCOVERY" -> Right NKDiscovery+ "ATTESTATION" -> Right NKAttestation+ x -> Left ("Unable to parse NoteKind from: " <> x)++instance ToHttpApiData NoteKind where+ toQueryParam = \case+ NKNoteKindUnspecified -> "NOTE_KIND_UNSPECIFIED"+ NKVulnerability -> "VULNERABILITY"+ NKBuild -> "BUILD"+ NKImage -> "IMAGE"+ NKPackage -> "PACKAGE"+ NKDeployment -> "DEPLOYMENT"+ NKDiscovery -> "DISCOVERY"+ NKAttestation -> "ATTESTATION"++instance FromJSON NoteKind where+ parseJSON = parseJSONText "NoteKind"++instance ToJSON NoteKind where+ toJSON = toJSONText++-- | Platform hosting this deployment.+data DeploymentPlatform+ = PlatformUnspecified+ -- ^ @PLATFORM_UNSPECIFIED@+ -- Unknown.+ | Gke+ -- ^ @GKE@+ -- Google Container Engine.+ | Flex+ -- ^ @FLEX@+ -- Google App Engine: Flexible Environment.+ | Custom+ -- ^ @CUSTOM@+ -- Custom user-defined platform.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable DeploymentPlatform++instance FromHttpApiData DeploymentPlatform where+ parseQueryParam = \case+ "PLATFORM_UNSPECIFIED" -> Right PlatformUnspecified+ "GKE" -> Right Gke+ "FLEX" -> Right Flex+ "CUSTOM" -> Right Custom+ x -> Left ("Unable to parse DeploymentPlatform from: " <> x)++instance ToHttpApiData DeploymentPlatform where+ toQueryParam = \case+ PlatformUnspecified -> "PLATFORM_UNSPECIFIED"+ Gke -> "GKE"+ Flex -> "FLEX"+ Custom -> "CUSTOM"++instance FromJSON DeploymentPlatform where+ parseJSON = parseJSONText "DeploymentPlatform"++instance ToJSON DeploymentPlatform where+ toJSON = toJSONText++-- | The CPU architecture for which packages in this distribution channel+-- were built.+data DistributionArchitecture+ = ArchitectureUnspecified+ -- ^ @ARCHITECTURE_UNSPECIFIED@+ -- Unknown architecture.+ | X86+ -- ^ @X86@+ -- X86 architecture.+ | X64+ -- ^ @X64@+ -- X64 architecture.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable DistributionArchitecture++instance FromHttpApiData DistributionArchitecture where+ parseQueryParam = \case+ "ARCHITECTURE_UNSPECIFIED" -> Right ArchitectureUnspecified+ "X86" -> Right X86+ "X64" -> Right X64+ x -> Left ("Unable to parse DistributionArchitecture from: " <> x)++instance ToHttpApiData DistributionArchitecture where+ toQueryParam = \case+ ArchitectureUnspecified -> "ARCHITECTURE_UNSPECIFIED"+ X86 -> "X86"+ X64 -> "X64"++instance FromJSON DistributionArchitecture where+ parseJSON = parseJSONText "DistributionArchitecture"++instance ToJSON DistributionArchitecture where+ toJSON = toJSONText++-- | The severity for this count. SEVERITY_UNSPECIFIED indicates total across+-- all severities.+data FixableTotalByDigestSeverity+ = FTBDSSeverityUnspecified+ -- ^ @SEVERITY_UNSPECIFIED@+ -- Unknown.+ | FTBDSMinimal+ -- ^ @MINIMAL@+ -- Minimal severity.+ | FTBDSLow+ -- ^ @LOW@+ -- Low severity.+ | FTBDSMedium+ -- ^ @MEDIUM@+ -- Medium severity.+ | FTBDSHigh+ -- ^ @HIGH@+ -- High severity.+ | FTBDSCritical+ -- ^ @CRITICAL@+ -- Critical severity.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable FixableTotalByDigestSeverity++instance FromHttpApiData FixableTotalByDigestSeverity where+ parseQueryParam = \case+ "SEVERITY_UNSPECIFIED" -> Right FTBDSSeverityUnspecified+ "MINIMAL" -> Right FTBDSMinimal+ "LOW" -> Right FTBDSLow+ "MEDIUM" -> Right FTBDSMedium+ "HIGH" -> Right FTBDSHigh+ "CRITICAL" -> Right FTBDSCritical+ x -> Left ("Unable to parse FixableTotalByDigestSeverity from: " <> x)++instance ToHttpApiData FixableTotalByDigestSeverity where+ toQueryParam = \case+ FTBDSSeverityUnspecified -> "SEVERITY_UNSPECIFIED"+ FTBDSMinimal -> "MINIMAL"+ FTBDSLow -> "LOW"+ FTBDSMedium -> "MEDIUM"+ FTBDSHigh -> "HIGH"+ FTBDSCritical -> "CRITICAL"++instance FromJSON FixableTotalByDigestSeverity where+ parseJSON = parseJSONText "FixableTotalByDigestSeverity"++instance ToJSON FixableTotalByDigestSeverity where+ toJSON = toJSONText++-- | The log type that this config enables.+data AuditLogConfigLogType+ = LogTypeUnspecified+ -- ^ @LOG_TYPE_UNSPECIFIED@+ -- Default case. Should never be this.+ | AdminRead+ -- ^ @ADMIN_READ@+ -- Admin reads. Example: CloudIAM getIamPolicy+ | DataWrite+ -- ^ @DATA_WRITE@+ -- Data writes. Example: CloudSQL Users create+ | DataRead+ -- ^ @DATA_READ@+ -- Data reads. Example: CloudSQL Users list+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable AuditLogConfigLogType++instance FromHttpApiData AuditLogConfigLogType where+ parseQueryParam = \case+ "LOG_TYPE_UNSPECIFIED" -> Right LogTypeUnspecified+ "ADMIN_READ" -> Right AdminRead+ "DATA_WRITE" -> Right DataWrite+ "DATA_READ" -> Right DataRead+ x -> Left ("Unable to parse AuditLogConfigLogType from: " <> x)++instance ToHttpApiData AuditLogConfigLogType where+ toQueryParam = \case+ LogTypeUnspecified -> "LOG_TYPE_UNSPECIFIED"+ AdminRead -> "ADMIN_READ"+ DataWrite -> "DATA_WRITE"+ DataRead -> "DATA_READ"++instance FromJSON AuditLogConfigLogType where+ parseJSON = parseJSONText "AuditLogConfigLogType"++instance ToJSON AuditLogConfigLogType where+ toJSON = toJSONText++-- | Type (for example schema) of the attestation payload that was signed.+-- The verifier must ensure that the provided type is one that the verifier+-- supports, and that the attestation payload is a valid instantiation of+-- that type (for example by validating a JSON schema).+data PgpSignedAttestationContentType+ = ContentTypeUnspecified+ -- ^ @CONTENT_TYPE_UNSPECIFIED@+ -- \`ContentType\` is not set.+ | SimpleSigningJSON+ -- ^ @SIMPLE_SIGNING_JSON@+ -- Atomic format attestation signature. See+ -- https:\/\/github.com\/containers\/image\/blob\/8a5d2f82a6e3263290c8e0276c3e0f64e77723e7\/docs\/atomic-signature.md+ -- The payload extracted from \`signature\` is a JSON blob conforming to+ -- the linked schema.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable PgpSignedAttestationContentType++instance FromHttpApiData PgpSignedAttestationContentType where+ parseQueryParam = \case+ "CONTENT_TYPE_UNSPECIFIED" -> Right ContentTypeUnspecified+ "SIMPLE_SIGNING_JSON" -> Right SimpleSigningJSON+ x -> Left ("Unable to parse PgpSignedAttestationContentType from: " <> x)++instance ToHttpApiData PgpSignedAttestationContentType where+ toQueryParam = \case+ ContentTypeUnspecified -> "CONTENT_TYPE_UNSPECIFIED"+ SimpleSigningJSON -> "SIMPLE_SIGNING_JSON"++instance FromJSON PgpSignedAttestationContentType where+ parseJSON = parseJSONText "PgpSignedAttestationContentType"++instance ToJSON PgpSignedAttestationContentType where+ toJSON = toJSONText++-- | V1 error format.+data Xgafv+ = X1+ -- ^ @1@+ -- v1 error format+ | X2+ -- ^ @2@+ -- v2 error format+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable Xgafv++instance FromHttpApiData Xgafv where+ parseQueryParam = \case+ "1" -> Right X1+ "2" -> Right X2+ x -> Left ("Unable to parse Xgafv from: " <> x)++instance ToHttpApiData Xgafv where+ toQueryParam = \case+ X1 -> "1"+ X2 -> "2"++instance FromJSON Xgafv where+ parseJSON = parseJSONText "Xgafv"++instance ToJSON Xgafv where+ toJSON = toJSONText++-- | Required. Distinguishes between sentinel MIN\/MAX versions and normal+-- versions.+data VersionKind+ = VersionKindUnspecified+ -- ^ @VERSION_KIND_UNSPECIFIED@+ -- Unknown.+ | Normal+ -- ^ @NORMAL@+ -- A standard package version.+ | Minimum+ -- ^ @MINIMUM@+ -- A special version representing negative infinity.+ | Maximum+ -- ^ @MAXIMUM@+ -- A special version representing positive infinity.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable VersionKind++instance FromHttpApiData VersionKind where+ parseQueryParam = \case+ "VERSION_KIND_UNSPECIFIED" -> Right VersionKindUnspecified+ "NORMAL" -> Right Normal+ "MINIMUM" -> Right Minimum+ "MAXIMUM" -> Right Maximum+ x -> Left ("Unable to parse VersionKind from: " <> x)++instance ToHttpApiData VersionKind where+ toQueryParam = \case+ VersionKindUnspecified -> "VERSION_KIND_UNSPECIFIED"+ Normal -> "NORMAL"+ Minimum -> "MINIMUM"+ Maximum -> "MAXIMUM"++instance FromJSON VersionKind where+ parseJSON = parseJSONText "VersionKind"++instance ToJSON VersionKind where+ toJSON = toJSONText++-- | Required. The type of hash that was performed.+data HashType+ = HashTypeUnspecified+ -- ^ @HASH_TYPE_UNSPECIFIED@+ -- Unknown.+ | SHA256+ -- ^ @SHA256@+ -- A SHA-256 hash.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable HashType++instance FromHttpApiData HashType where+ parseQueryParam = \case+ "HASH_TYPE_UNSPECIFIED" -> Right HashTypeUnspecified+ "SHA256" -> Right SHA256+ x -> Left ("Unable to parse HashType from: " <> x)++instance ToHttpApiData HashType where+ toQueryParam = \case+ HashTypeUnspecified -> "HASH_TYPE_UNSPECIFIED"+ SHA256 -> "SHA256"++instance FromJSON HashType where+ parseJSON = parseJSONText "HashType"++instance ToJSON HashType where+ toJSON = toJSONText++-- | The type of the key, either stored in \`public_key\` or referenced in+-- \`key_id\`.+data BuildSignatureKeyType+ = KeyTypeUnspecified+ -- ^ @KEY_TYPE_UNSPECIFIED@+ -- \`KeyType\` is not set.+ | PgpAsciiArmored+ -- ^ @PGP_ASCII_ARMORED@+ -- \`PGP ASCII Armored\` public key.+ | PkixPem+ -- ^ @PKIX_PEM@+ -- \`PKIX PEM\` public key.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable BuildSignatureKeyType++instance FromHttpApiData BuildSignatureKeyType where+ parseQueryParam = \case+ "KEY_TYPE_UNSPECIFIED" -> Right KeyTypeUnspecified+ "PGP_ASCII_ARMORED" -> Right PgpAsciiArmored+ "PKIX_PEM" -> Right PkixPem+ x -> Left ("Unable to parse BuildSignatureKeyType from: " <> x)++instance ToHttpApiData BuildSignatureKeyType where+ toQueryParam = \case+ KeyTypeUnspecified -> "KEY_TYPE_UNSPECIFIED"+ PgpAsciiArmored -> "PGP_ASCII_ARMORED"+ PkixPem -> "PKIX_PEM"++instance FromJSON BuildSignatureKeyType where+ parseJSON = parseJSONText "BuildSignatureKeyType"++instance ToJSON BuildSignatureKeyType where+ toJSON = toJSONText++-- | Required. Immutable. The kind of analysis that is handled by this+-- discovery.+data DiscoveryAnalysisKind+ = DAKNoteKindUnspecified+ -- ^ @NOTE_KIND_UNSPECIFIED@+ -- Unknown.+ | DAKVulnerability+ -- ^ @VULNERABILITY@+ -- The note and occurrence represent a package vulnerability.+ | DAKBuild+ -- ^ @BUILD@+ -- The note and occurrence assert build provenance.+ | DAKImage+ -- ^ @IMAGE@+ -- This represents an image basis relationship.+ | DAKPackage+ -- ^ @PACKAGE@+ -- This represents a package installed via a package manager.+ | DAKDeployment+ -- ^ @DEPLOYMENT@+ -- The note and occurrence track deployment events.+ | DAKDiscovery+ -- ^ @DISCOVERY@+ -- The note and occurrence track the initial discovery status of a+ -- resource.+ | DAKAttestation+ -- ^ @ATTESTATION@+ -- This represents a logical \"role\" that can attest to artifacts.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable DiscoveryAnalysisKind++instance FromHttpApiData DiscoveryAnalysisKind where+ parseQueryParam = \case+ "NOTE_KIND_UNSPECIFIED" -> Right DAKNoteKindUnspecified+ "VULNERABILITY" -> Right DAKVulnerability+ "BUILD" -> Right DAKBuild+ "IMAGE" -> Right DAKImage+ "PACKAGE" -> Right DAKPackage+ "DEPLOYMENT" -> Right DAKDeployment+ "DISCOVERY" -> Right DAKDiscovery+ "ATTESTATION" -> Right DAKAttestation+ x -> Left ("Unable to parse DiscoveryAnalysisKind from: " <> x)++instance ToHttpApiData DiscoveryAnalysisKind where+ toQueryParam = \case+ DAKNoteKindUnspecified -> "NOTE_KIND_UNSPECIFIED"+ DAKVulnerability -> "VULNERABILITY"+ DAKBuild -> "BUILD"+ DAKImage -> "IMAGE"+ DAKPackage -> "PACKAGE"+ DAKDeployment -> "DEPLOYMENT"+ DAKDiscovery -> "DISCOVERY"+ DAKAttestation -> "ATTESTATION"++instance FromJSON DiscoveryAnalysisKind where+ parseJSON = parseJSONText "DiscoveryAnalysisKind"++instance ToJSON DiscoveryAnalysisKind where+ toJSON = toJSONText++-- | The alias kind.+data AliasContextKind+ = KindUnspecified+ -- ^ @KIND_UNSPECIFIED@+ -- Unknown.+ | Fixed+ -- ^ @FIXED@+ -- Git tag.+ | Movable+ -- ^ @MOVABLE@+ -- Git branch.+ | Other+ -- ^ @OTHER@+ -- Used to specify non-standard aliases. For example, if a Git repo has a+ -- ref named \"refs\/foo\/bar\".+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable AliasContextKind++instance FromHttpApiData AliasContextKind where+ parseQueryParam = \case+ "KIND_UNSPECIFIED" -> Right KindUnspecified+ "FIXED" -> Right Fixed+ "MOVABLE" -> Right Movable+ "OTHER" -> Right Other+ x -> Left ("Unable to parse AliasContextKind from: " <> x)++instance ToHttpApiData AliasContextKind where+ toQueryParam = \case+ KindUnspecified -> "KIND_UNSPECIFIED"+ Fixed -> "FIXED"+ Movable -> "MOVABLE"+ Other -> "OTHER"++instance FromJSON AliasContextKind where+ parseJSON = parseJSONText "AliasContextKind"++instance ToJSON AliasContextKind where+ toJSON = toJSONText
+ gen/Network/Google/Resource/ContainerAnalysis/Projects/Notes/BatchCreate.hs view
@@ -0,0 +1,163 @@+{-# 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.ContainerAnalysis.Projects.Notes.BatchCreate+-- Copyright : (c) 2015-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates new notes in batch.+--+-- /See:/ <https://cloud.google.com/container-analysis/api/reference/rest/ Container Analysis API Reference> for @containeranalysis.projects.notes.batchCreate@.+module Network.Google.Resource.ContainerAnalysis.Projects.Notes.BatchCreate+ (+ -- * REST Resource+ ProjectsNotesBatchCreateResource++ -- * Creating a Request+ , projectsNotesBatchCreate+ , ProjectsNotesBatchCreate++ -- * Request Lenses+ , pnbcParent+ , pnbcXgafv+ , pnbcUploadProtocol+ , pnbcAccessToken+ , pnbcUploadType+ , pnbcPayload+ , pnbcCallback+ ) where++import Network.Google.ContainerAnalysis.Types+import Network.Google.Prelude++-- | A resource alias for @containeranalysis.projects.notes.batchCreate@ method which the+-- 'ProjectsNotesBatchCreate' request conforms to.+type ProjectsNotesBatchCreateResource =+ "v1beta1" :>+ Capture "parent" Text :>+ "notes:batchCreate" :>+ QueryParam "$.xgafv" Xgafv :>+ QueryParam "upload_protocol" Text :>+ QueryParam "access_token" Text :>+ QueryParam "uploadType" Text :>+ QueryParam "callback" Text :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] BatchCreateNotesRequest :>+ Post '[JSON] BatchCreateNotesResponse++-- | Creates new notes in batch.+--+-- /See:/ 'projectsNotesBatchCreate' smart constructor.+data ProjectsNotesBatchCreate = ProjectsNotesBatchCreate'+ { _pnbcParent :: !Text+ , _pnbcXgafv :: !(Maybe Xgafv)+ , _pnbcUploadProtocol :: !(Maybe Text)+ , _pnbcAccessToken :: !(Maybe Text)+ , _pnbcUploadType :: !(Maybe Text)+ , _pnbcPayload :: !BatchCreateNotesRequest+ , _pnbcCallback :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsNotesBatchCreate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pnbcParent'+--+-- * 'pnbcXgafv'+--+-- * 'pnbcUploadProtocol'+--+-- * 'pnbcAccessToken'+--+-- * 'pnbcUploadType'+--+-- * 'pnbcPayload'+--+-- * 'pnbcCallback'+projectsNotesBatchCreate+ :: Text -- ^ 'pnbcParent'+ -> BatchCreateNotesRequest -- ^ 'pnbcPayload'+ -> ProjectsNotesBatchCreate+projectsNotesBatchCreate pPnbcParent_ pPnbcPayload_ =+ ProjectsNotesBatchCreate'+ { _pnbcParent = pPnbcParent_+ , _pnbcXgafv = Nothing+ , _pnbcUploadProtocol = Nothing+ , _pnbcAccessToken = Nothing+ , _pnbcUploadType = Nothing+ , _pnbcPayload = pPnbcPayload_+ , _pnbcCallback = Nothing+ }++-- | The name of the project in the form of \`projects\/[PROJECT_ID]\`, under+-- which the notes are to be created.+pnbcParent :: Lens' ProjectsNotesBatchCreate Text+pnbcParent+ = lens _pnbcParent (\ s a -> s{_pnbcParent = a})++-- | V1 error format.+pnbcXgafv :: Lens' ProjectsNotesBatchCreate (Maybe Xgafv)+pnbcXgafv+ = lens _pnbcXgafv (\ s a -> s{_pnbcXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+pnbcUploadProtocol :: Lens' ProjectsNotesBatchCreate (Maybe Text)+pnbcUploadProtocol+ = lens _pnbcUploadProtocol+ (\ s a -> s{_pnbcUploadProtocol = a})++-- | OAuth access token.+pnbcAccessToken :: Lens' ProjectsNotesBatchCreate (Maybe Text)+pnbcAccessToken+ = lens _pnbcAccessToken+ (\ s a -> s{_pnbcAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+pnbcUploadType :: Lens' ProjectsNotesBatchCreate (Maybe Text)+pnbcUploadType+ = lens _pnbcUploadType+ (\ s a -> s{_pnbcUploadType = a})++-- | Multipart request metadata.+pnbcPayload :: Lens' ProjectsNotesBatchCreate BatchCreateNotesRequest+pnbcPayload+ = lens _pnbcPayload (\ s a -> s{_pnbcPayload = a})++-- | JSONP+pnbcCallback :: Lens' ProjectsNotesBatchCreate (Maybe Text)+pnbcCallback+ = lens _pnbcCallback (\ s a -> s{_pnbcCallback = a})++instance GoogleRequest ProjectsNotesBatchCreate where+ type Rs ProjectsNotesBatchCreate =+ BatchCreateNotesResponse+ type Scopes ProjectsNotesBatchCreate =+ '["https://www.googleapis.com/auth/cloud-platform"]+ requestClient ProjectsNotesBatchCreate'{..}+ = go _pnbcParent _pnbcXgafv _pnbcUploadProtocol+ _pnbcAccessToken+ _pnbcUploadType+ _pnbcCallback+ (Just AltJSON)+ _pnbcPayload+ containerAnalysisService+ where go+ = buildClient+ (Proxy :: Proxy ProjectsNotesBatchCreateResource)+ mempty
+ gen/Network/Google/Resource/ContainerAnalysis/Projects/Notes/Create.hs view
@@ -0,0 +1,172 @@+{-# 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.ContainerAnalysis.Projects.Notes.Create+-- Copyright : (c) 2015-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a new note.+--+-- /See:/ <https://cloud.google.com/container-analysis/api/reference/rest/ Container Analysis API Reference> for @containeranalysis.projects.notes.create@.+module Network.Google.Resource.ContainerAnalysis.Projects.Notes.Create+ (+ -- * REST Resource+ ProjectsNotesCreateResource++ -- * Creating a Request+ , projectsNotesCreate+ , ProjectsNotesCreate++ -- * Request Lenses+ , pncParent+ , pncXgafv+ , pncUploadProtocol+ , pncAccessToken+ , pncUploadType+ , pncPayload+ , pncNoteId+ , pncCallback+ ) where++import Network.Google.ContainerAnalysis.Types+import Network.Google.Prelude++-- | A resource alias for @containeranalysis.projects.notes.create@ method which the+-- 'ProjectsNotesCreate' request conforms to.+type ProjectsNotesCreateResource =+ "v1beta1" :>+ Capture "parent" Text :>+ "notes" :>+ QueryParam "$.xgafv" Xgafv :>+ QueryParam "upload_protocol" Text :>+ QueryParam "access_token" Text :>+ QueryParam "uploadType" Text :>+ QueryParam "noteId" Text :>+ QueryParam "callback" Text :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] Note :> Post '[JSON] Note++-- | Creates a new note.+--+-- /See:/ 'projectsNotesCreate' smart constructor.+data ProjectsNotesCreate = ProjectsNotesCreate'+ { _pncParent :: !Text+ , _pncXgafv :: !(Maybe Xgafv)+ , _pncUploadProtocol :: !(Maybe Text)+ , _pncAccessToken :: !(Maybe Text)+ , _pncUploadType :: !(Maybe Text)+ , _pncPayload :: !Note+ , _pncNoteId :: !(Maybe Text)+ , _pncCallback :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsNotesCreate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pncParent'+--+-- * 'pncXgafv'+--+-- * 'pncUploadProtocol'+--+-- * 'pncAccessToken'+--+-- * 'pncUploadType'+--+-- * 'pncPayload'+--+-- * 'pncNoteId'+--+-- * 'pncCallback'+projectsNotesCreate+ :: Text -- ^ 'pncParent'+ -> Note -- ^ 'pncPayload'+ -> ProjectsNotesCreate+projectsNotesCreate pPncParent_ pPncPayload_ =+ ProjectsNotesCreate'+ { _pncParent = pPncParent_+ , _pncXgafv = Nothing+ , _pncUploadProtocol = Nothing+ , _pncAccessToken = Nothing+ , _pncUploadType = Nothing+ , _pncPayload = pPncPayload_+ , _pncNoteId = Nothing+ , _pncCallback = Nothing+ }++-- | The name of the project in the form of \`projects\/[PROJECT_ID]\`, under+-- which the note is to be created.+pncParent :: Lens' ProjectsNotesCreate Text+pncParent+ = lens _pncParent (\ s a -> s{_pncParent = a})++-- | V1 error format.+pncXgafv :: Lens' ProjectsNotesCreate (Maybe Xgafv)+pncXgafv = lens _pncXgafv (\ s a -> s{_pncXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+pncUploadProtocol :: Lens' ProjectsNotesCreate (Maybe Text)+pncUploadProtocol+ = lens _pncUploadProtocol+ (\ s a -> s{_pncUploadProtocol = a})++-- | OAuth access token.+pncAccessToken :: Lens' ProjectsNotesCreate (Maybe Text)+pncAccessToken+ = lens _pncAccessToken+ (\ s a -> s{_pncAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+pncUploadType :: Lens' ProjectsNotesCreate (Maybe Text)+pncUploadType+ = lens _pncUploadType+ (\ s a -> s{_pncUploadType = a})++-- | Multipart request metadata.+pncPayload :: Lens' ProjectsNotesCreate Note+pncPayload+ = lens _pncPayload (\ s a -> s{_pncPayload = a})++-- | The ID to use for this note.+pncNoteId :: Lens' ProjectsNotesCreate (Maybe Text)+pncNoteId+ = lens _pncNoteId (\ s a -> s{_pncNoteId = a})++-- | JSONP+pncCallback :: Lens' ProjectsNotesCreate (Maybe Text)+pncCallback+ = lens _pncCallback (\ s a -> s{_pncCallback = a})++instance GoogleRequest ProjectsNotesCreate where+ type Rs ProjectsNotesCreate = Note+ type Scopes ProjectsNotesCreate =+ '["https://www.googleapis.com/auth/cloud-platform"]+ requestClient ProjectsNotesCreate'{..}+ = go _pncParent _pncXgafv _pncUploadProtocol+ _pncAccessToken+ _pncUploadType+ _pncNoteId+ _pncCallback+ (Just AltJSON)+ _pncPayload+ containerAnalysisService+ where go+ = buildClient+ (Proxy :: Proxy ProjectsNotesCreateResource)+ mempty
+ gen/Network/Google/Resource/ContainerAnalysis/Projects/Notes/Delete.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.ContainerAnalysis.Projects.Notes.Delete+-- Copyright : (c) 2015-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes the specified note.+--+-- /See:/ <https://cloud.google.com/container-analysis/api/reference/rest/ Container Analysis API Reference> for @containeranalysis.projects.notes.delete@.+module Network.Google.Resource.ContainerAnalysis.Projects.Notes.Delete+ (+ -- * REST Resource+ ProjectsNotesDeleteResource++ -- * Creating a Request+ , projectsNotesDelete+ , ProjectsNotesDelete++ -- * Request Lenses+ , pndXgafv+ , pndUploadProtocol+ , pndAccessToken+ , pndUploadType+ , pndName+ , pndCallback+ ) where++import Network.Google.ContainerAnalysis.Types+import Network.Google.Prelude++-- | A resource alias for @containeranalysis.projects.notes.delete@ method which the+-- 'ProjectsNotesDelete' request conforms to.+type ProjectsNotesDeleteResource =+ "v1beta1" :>+ Capture "name" Text :>+ QueryParam "$.xgafv" Xgafv :>+ QueryParam "upload_protocol" Text :>+ QueryParam "access_token" Text :>+ QueryParam "uploadType" Text :>+ QueryParam "callback" Text :>+ QueryParam "alt" AltJSON :> Delete '[JSON] Empty++-- | Deletes the specified note.+--+-- /See:/ 'projectsNotesDelete' smart constructor.+data ProjectsNotesDelete = ProjectsNotesDelete'+ { _pndXgafv :: !(Maybe Xgafv)+ , _pndUploadProtocol :: !(Maybe Text)+ , _pndAccessToken :: !(Maybe Text)+ , _pndUploadType :: !(Maybe Text)+ , _pndName :: !Text+ , _pndCallback :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsNotesDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pndXgafv'+--+-- * 'pndUploadProtocol'+--+-- * 'pndAccessToken'+--+-- * 'pndUploadType'+--+-- * 'pndName'+--+-- * 'pndCallback'+projectsNotesDelete+ :: Text -- ^ 'pndName'+ -> ProjectsNotesDelete+projectsNotesDelete pPndName_ =+ ProjectsNotesDelete'+ { _pndXgafv = Nothing+ , _pndUploadProtocol = Nothing+ , _pndAccessToken = Nothing+ , _pndUploadType = Nothing+ , _pndName = pPndName_+ , _pndCallback = Nothing+ }++-- | V1 error format.+pndXgafv :: Lens' ProjectsNotesDelete (Maybe Xgafv)+pndXgafv = lens _pndXgafv (\ s a -> s{_pndXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+pndUploadProtocol :: Lens' ProjectsNotesDelete (Maybe Text)+pndUploadProtocol+ = lens _pndUploadProtocol+ (\ s a -> s{_pndUploadProtocol = a})++-- | OAuth access token.+pndAccessToken :: Lens' ProjectsNotesDelete (Maybe Text)+pndAccessToken+ = lens _pndAccessToken+ (\ s a -> s{_pndAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+pndUploadType :: Lens' ProjectsNotesDelete (Maybe Text)+pndUploadType+ = lens _pndUploadType+ (\ s a -> s{_pndUploadType = a})++-- | The name of the note in the form of+-- \`projects\/[PROVIDER_ID]\/notes\/[NOTE_ID]\`.+pndName :: Lens' ProjectsNotesDelete Text+pndName = lens _pndName (\ s a -> s{_pndName = a})++-- | JSONP+pndCallback :: Lens' ProjectsNotesDelete (Maybe Text)+pndCallback+ = lens _pndCallback (\ s a -> s{_pndCallback = a})++instance GoogleRequest ProjectsNotesDelete where+ type Rs ProjectsNotesDelete = Empty+ type Scopes ProjectsNotesDelete =+ '["https://www.googleapis.com/auth/cloud-platform"]+ requestClient ProjectsNotesDelete'{..}+ = go _pndName _pndXgafv _pndUploadProtocol+ _pndAccessToken+ _pndUploadType+ _pndCallback+ (Just AltJSON)+ containerAnalysisService+ where go+ = buildClient+ (Proxy :: Proxy ProjectsNotesDeleteResource)+ mempty
+ gen/Network/Google/Resource/ContainerAnalysis/Projects/Notes/Get.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.ContainerAnalysis.Projects.Notes.Get+-- Copyright : (c) 2015-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets the specified note.+--+-- /See:/ <https://cloud.google.com/container-analysis/api/reference/rest/ Container Analysis API Reference> for @containeranalysis.projects.notes.get@.+module Network.Google.Resource.ContainerAnalysis.Projects.Notes.Get+ (+ -- * REST Resource+ ProjectsNotesGetResource++ -- * Creating a Request+ , projectsNotesGet+ , ProjectsNotesGet++ -- * Request Lenses+ , pngXgafv+ , pngUploadProtocol+ , pngAccessToken+ , pngUploadType+ , pngName+ , pngCallback+ ) where++import Network.Google.ContainerAnalysis.Types+import Network.Google.Prelude++-- | A resource alias for @containeranalysis.projects.notes.get@ method which the+-- 'ProjectsNotesGet' request conforms to.+type ProjectsNotesGetResource =+ "v1beta1" :>+ Capture "name" Text :>+ QueryParam "$.xgafv" Xgafv :>+ QueryParam "upload_protocol" Text :>+ QueryParam "access_token" Text :>+ QueryParam "uploadType" Text :>+ QueryParam "callback" Text :>+ QueryParam "alt" AltJSON :> Get '[JSON] Note++-- | Gets the specified note.+--+-- /See:/ 'projectsNotesGet' smart constructor.+data ProjectsNotesGet = ProjectsNotesGet'+ { _pngXgafv :: !(Maybe Xgafv)+ , _pngUploadProtocol :: !(Maybe Text)+ , _pngAccessToken :: !(Maybe Text)+ , _pngUploadType :: !(Maybe Text)+ , _pngName :: !Text+ , _pngCallback :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsNotesGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pngXgafv'+--+-- * 'pngUploadProtocol'+--+-- * 'pngAccessToken'+--+-- * 'pngUploadType'+--+-- * 'pngName'+--+-- * 'pngCallback'+projectsNotesGet+ :: Text -- ^ 'pngName'+ -> ProjectsNotesGet+projectsNotesGet pPngName_ =+ ProjectsNotesGet'+ { _pngXgafv = Nothing+ , _pngUploadProtocol = Nothing+ , _pngAccessToken = Nothing+ , _pngUploadType = Nothing+ , _pngName = pPngName_+ , _pngCallback = Nothing+ }++-- | V1 error format.+pngXgafv :: Lens' ProjectsNotesGet (Maybe Xgafv)+pngXgafv = lens _pngXgafv (\ s a -> s{_pngXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+pngUploadProtocol :: Lens' ProjectsNotesGet (Maybe Text)+pngUploadProtocol+ = lens _pngUploadProtocol+ (\ s a -> s{_pngUploadProtocol = a})++-- | OAuth access token.+pngAccessToken :: Lens' ProjectsNotesGet (Maybe Text)+pngAccessToken+ = lens _pngAccessToken+ (\ s a -> s{_pngAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+pngUploadType :: Lens' ProjectsNotesGet (Maybe Text)+pngUploadType+ = lens _pngUploadType+ (\ s a -> s{_pngUploadType = a})++-- | The name of the note in the form of+-- \`projects\/[PROVIDER_ID]\/notes\/[NOTE_ID]\`.+pngName :: Lens' ProjectsNotesGet Text+pngName = lens _pngName (\ s a -> s{_pngName = a})++-- | JSONP+pngCallback :: Lens' ProjectsNotesGet (Maybe Text)+pngCallback+ = lens _pngCallback (\ s a -> s{_pngCallback = a})++instance GoogleRequest ProjectsNotesGet where+ type Rs ProjectsNotesGet = Note+ type Scopes ProjectsNotesGet =+ '["https://www.googleapis.com/auth/cloud-platform"]+ requestClient ProjectsNotesGet'{..}+ = go _pngName _pngXgafv _pngUploadProtocol+ _pngAccessToken+ _pngUploadType+ _pngCallback+ (Just AltJSON)+ containerAnalysisService+ where go+ = buildClient+ (Proxy :: Proxy ProjectsNotesGetResource)+ mempty
+ gen/Network/Google/Resource/ContainerAnalysis/Projects/Notes/GetIAMPolicy.hs view
@@ -0,0 +1,176 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.ContainerAnalysis.Projects.Notes.GetIAMPolicy+-- Copyright : (c) 2015-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets the access control policy for a note or an occurrence resource.+-- Requires \`containeranalysis.notes.setIamPolicy\` or+-- \`containeranalysis.occurrences.setIamPolicy\` permission if the+-- resource is a note or occurrence, respectively. The resource takes the+-- format \`projects\/[PROJECT_ID]\/notes\/[NOTE_ID]\` for notes and+-- \`projects\/[PROJECT_ID]\/occurrences\/[OCCURRENCE_ID]\` for+-- occurrences.+--+-- /See:/ <https://cloud.google.com/container-analysis/api/reference/rest/ Container Analysis API Reference> for @containeranalysis.projects.notes.getIamPolicy@.+module Network.Google.Resource.ContainerAnalysis.Projects.Notes.GetIAMPolicy+ (+ -- * REST Resource+ ProjectsNotesGetIAMPolicyResource++ -- * Creating a Request+ , projectsNotesGetIAMPolicy+ , ProjectsNotesGetIAMPolicy++ -- * Request Lenses+ , pngipXgafv+ , pngipUploadProtocol+ , pngipAccessToken+ , pngipUploadType+ , pngipPayload+ , pngipResource+ , pngipCallback+ ) where++import Network.Google.ContainerAnalysis.Types+import Network.Google.Prelude++-- | A resource alias for @containeranalysis.projects.notes.getIamPolicy@ method which the+-- 'ProjectsNotesGetIAMPolicy' request conforms to.+type ProjectsNotesGetIAMPolicyResource =+ "v1beta1" :>+ CaptureMode "resource" "getIamPolicy" Text :>+ QueryParam "$.xgafv" Xgafv :>+ QueryParam "upload_protocol" Text :>+ QueryParam "access_token" Text :>+ QueryParam "uploadType" Text :>+ QueryParam "callback" Text :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] GetIAMPolicyRequest :>+ Post '[JSON] Policy++-- | Gets the access control policy for a note or an occurrence resource.+-- Requires \`containeranalysis.notes.setIamPolicy\` or+-- \`containeranalysis.occurrences.setIamPolicy\` permission if the+-- resource is a note or occurrence, respectively. The resource takes the+-- format \`projects\/[PROJECT_ID]\/notes\/[NOTE_ID]\` for notes and+-- \`projects\/[PROJECT_ID]\/occurrences\/[OCCURRENCE_ID]\` for+-- occurrences.+--+-- /See:/ 'projectsNotesGetIAMPolicy' smart constructor.+data ProjectsNotesGetIAMPolicy = ProjectsNotesGetIAMPolicy'+ { _pngipXgafv :: !(Maybe Xgafv)+ , _pngipUploadProtocol :: !(Maybe Text)+ , _pngipAccessToken :: !(Maybe Text)+ , _pngipUploadType :: !(Maybe Text)+ , _pngipPayload :: !GetIAMPolicyRequest+ , _pngipResource :: !Text+ , _pngipCallback :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsNotesGetIAMPolicy' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pngipXgafv'+--+-- * 'pngipUploadProtocol'+--+-- * 'pngipAccessToken'+--+-- * 'pngipUploadType'+--+-- * 'pngipPayload'+--+-- * 'pngipResource'+--+-- * 'pngipCallback'+projectsNotesGetIAMPolicy+ :: GetIAMPolicyRequest -- ^ 'pngipPayload'+ -> Text -- ^ 'pngipResource'+ -> ProjectsNotesGetIAMPolicy+projectsNotesGetIAMPolicy pPngipPayload_ pPngipResource_ =+ ProjectsNotesGetIAMPolicy'+ { _pngipXgafv = Nothing+ , _pngipUploadProtocol = Nothing+ , _pngipAccessToken = Nothing+ , _pngipUploadType = Nothing+ , _pngipPayload = pPngipPayload_+ , _pngipResource = pPngipResource_+ , _pngipCallback = Nothing+ }++-- | V1 error format.+pngipXgafv :: Lens' ProjectsNotesGetIAMPolicy (Maybe Xgafv)+pngipXgafv+ = lens _pngipXgafv (\ s a -> s{_pngipXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+pngipUploadProtocol :: Lens' ProjectsNotesGetIAMPolicy (Maybe Text)+pngipUploadProtocol+ = lens _pngipUploadProtocol+ (\ s a -> s{_pngipUploadProtocol = a})++-- | OAuth access token.+pngipAccessToken :: Lens' ProjectsNotesGetIAMPolicy (Maybe Text)+pngipAccessToken+ = lens _pngipAccessToken+ (\ s a -> s{_pngipAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+pngipUploadType :: Lens' ProjectsNotesGetIAMPolicy (Maybe Text)+pngipUploadType+ = lens _pngipUploadType+ (\ s a -> s{_pngipUploadType = a})++-- | Multipart request metadata.+pngipPayload :: Lens' ProjectsNotesGetIAMPolicy GetIAMPolicyRequest+pngipPayload+ = lens _pngipPayload (\ s a -> s{_pngipPayload = a})++-- | REQUIRED: The resource for which the policy is being requested. See the+-- operation documentation for the appropriate value for this field.+pngipResource :: Lens' ProjectsNotesGetIAMPolicy Text+pngipResource+ = lens _pngipResource+ (\ s a -> s{_pngipResource = a})++-- | JSONP+pngipCallback :: Lens' ProjectsNotesGetIAMPolicy (Maybe Text)+pngipCallback+ = lens _pngipCallback+ (\ s a -> s{_pngipCallback = a})++instance GoogleRequest ProjectsNotesGetIAMPolicy+ where+ type Rs ProjectsNotesGetIAMPolicy = Policy+ type Scopes ProjectsNotesGetIAMPolicy =+ '["https://www.googleapis.com/auth/cloud-platform"]+ requestClient ProjectsNotesGetIAMPolicy'{..}+ = go _pngipResource _pngipXgafv _pngipUploadProtocol+ _pngipAccessToken+ _pngipUploadType+ _pngipCallback+ (Just AltJSON)+ _pngipPayload+ containerAnalysisService+ where go+ = buildClient+ (Proxy :: Proxy ProjectsNotesGetIAMPolicyResource)+ mempty
+ gen/Network/Google/Resource/ContainerAnalysis/Projects/Notes/List.hs view
@@ -0,0 +1,186 @@+{-# 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.ContainerAnalysis.Projects.Notes.List+-- Copyright : (c) 2015-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists notes for the specified project.+--+-- /See:/ <https://cloud.google.com/container-analysis/api/reference/rest/ Container Analysis API Reference> for @containeranalysis.projects.notes.list@.+module Network.Google.Resource.ContainerAnalysis.Projects.Notes.List+ (+ -- * REST Resource+ ProjectsNotesListResource++ -- * Creating a Request+ , projectsNotesList+ , ProjectsNotesList++ -- * Request Lenses+ , pnlParent+ , pnlXgafv+ , pnlUploadProtocol+ , pnlAccessToken+ , pnlUploadType+ , pnlFilter+ , pnlPageToken+ , pnlPageSize+ , pnlCallback+ ) where++import Network.Google.ContainerAnalysis.Types+import Network.Google.Prelude++-- | A resource alias for @containeranalysis.projects.notes.list@ method which the+-- 'ProjectsNotesList' request conforms to.+type ProjectsNotesListResource =+ "v1beta1" :>+ Capture "parent" Text :>+ "notes" :>+ QueryParam "$.xgafv" Xgafv :>+ QueryParam "upload_protocol" Text :>+ QueryParam "access_token" Text :>+ QueryParam "uploadType" Text :>+ QueryParam "filter" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "pageSize" (Textual Int32) :>+ QueryParam "callback" Text :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] ListNotesResponse++-- | Lists notes for the specified project.+--+-- /See:/ 'projectsNotesList' smart constructor.+data ProjectsNotesList = ProjectsNotesList'+ { _pnlParent :: !Text+ , _pnlXgafv :: !(Maybe Xgafv)+ , _pnlUploadProtocol :: !(Maybe Text)+ , _pnlAccessToken :: !(Maybe Text)+ , _pnlUploadType :: !(Maybe Text)+ , _pnlFilter :: !(Maybe Text)+ , _pnlPageToken :: !(Maybe Text)+ , _pnlPageSize :: !(Maybe (Textual Int32))+ , _pnlCallback :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsNotesList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pnlParent'+--+-- * 'pnlXgafv'+--+-- * 'pnlUploadProtocol'+--+-- * 'pnlAccessToken'+--+-- * 'pnlUploadType'+--+-- * 'pnlFilter'+--+-- * 'pnlPageToken'+--+-- * 'pnlPageSize'+--+-- * 'pnlCallback'+projectsNotesList+ :: Text -- ^ 'pnlParent'+ -> ProjectsNotesList+projectsNotesList pPnlParent_ =+ ProjectsNotesList'+ { _pnlParent = pPnlParent_+ , _pnlXgafv = Nothing+ , _pnlUploadProtocol = Nothing+ , _pnlAccessToken = Nothing+ , _pnlUploadType = Nothing+ , _pnlFilter = Nothing+ , _pnlPageToken = Nothing+ , _pnlPageSize = Nothing+ , _pnlCallback = Nothing+ }++-- | The name of the project to list notes for in the form of+-- \`projects\/[PROJECT_ID]\`.+pnlParent :: Lens' ProjectsNotesList Text+pnlParent+ = lens _pnlParent (\ s a -> s{_pnlParent = a})++-- | V1 error format.+pnlXgafv :: Lens' ProjectsNotesList (Maybe Xgafv)+pnlXgafv = lens _pnlXgafv (\ s a -> s{_pnlXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+pnlUploadProtocol :: Lens' ProjectsNotesList (Maybe Text)+pnlUploadProtocol+ = lens _pnlUploadProtocol+ (\ s a -> s{_pnlUploadProtocol = a})++-- | OAuth access token.+pnlAccessToken :: Lens' ProjectsNotesList (Maybe Text)+pnlAccessToken+ = lens _pnlAccessToken+ (\ s a -> s{_pnlAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+pnlUploadType :: Lens' ProjectsNotesList (Maybe Text)+pnlUploadType+ = lens _pnlUploadType+ (\ s a -> s{_pnlUploadType = a})++-- | The filter expression.+pnlFilter :: Lens' ProjectsNotesList (Maybe Text)+pnlFilter+ = lens _pnlFilter (\ s a -> s{_pnlFilter = a})++-- | Token to provide to skip to a particular spot in the list.+pnlPageToken :: Lens' ProjectsNotesList (Maybe Text)+pnlPageToken+ = lens _pnlPageToken (\ s a -> s{_pnlPageToken = a})++-- | Number of notes to return in the list. Must be positive. Max allowed+-- page size is 1000. If not specified, page size defaults to 20.+pnlPageSize :: Lens' ProjectsNotesList (Maybe Int32)+pnlPageSize+ = lens _pnlPageSize (\ s a -> s{_pnlPageSize = a}) .+ mapping _Coerce++-- | JSONP+pnlCallback :: Lens' ProjectsNotesList (Maybe Text)+pnlCallback+ = lens _pnlCallback (\ s a -> s{_pnlCallback = a})++instance GoogleRequest ProjectsNotesList where+ type Rs ProjectsNotesList = ListNotesResponse+ type Scopes ProjectsNotesList =+ '["https://www.googleapis.com/auth/cloud-platform"]+ requestClient ProjectsNotesList'{..}+ = go _pnlParent _pnlXgafv _pnlUploadProtocol+ _pnlAccessToken+ _pnlUploadType+ _pnlFilter+ _pnlPageToken+ _pnlPageSize+ _pnlCallback+ (Just AltJSON)+ containerAnalysisService+ where go+ = buildClient+ (Proxy :: Proxy ProjectsNotesListResource)+ mempty
+ gen/Network/Google/Resource/ContainerAnalysis/Projects/Notes/Occurrences/List.hs view
@@ -0,0 +1,192 @@+{-# 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.ContainerAnalysis.Projects.Notes.Occurrences.List+-- Copyright : (c) 2015-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists occurrences referencing the specified note. Provider projects can+-- use this method to get all occurrences across consumer projects+-- referencing the specified note.+--+-- /See:/ <https://cloud.google.com/container-analysis/api/reference/rest/ Container Analysis API Reference> for @containeranalysis.projects.notes.occurrences.list@.+module Network.Google.Resource.ContainerAnalysis.Projects.Notes.Occurrences.List+ (+ -- * REST Resource+ ProjectsNotesOccurrencesListResource++ -- * Creating a Request+ , projectsNotesOccurrencesList+ , ProjectsNotesOccurrencesList++ -- * Request Lenses+ , pnolXgafv+ , pnolUploadProtocol+ , pnolAccessToken+ , pnolUploadType+ , pnolName+ , pnolFilter+ , pnolPageToken+ , pnolPageSize+ , pnolCallback+ ) where++import Network.Google.ContainerAnalysis.Types+import Network.Google.Prelude++-- | A resource alias for @containeranalysis.projects.notes.occurrences.list@ method which the+-- 'ProjectsNotesOccurrencesList' request conforms to.+type ProjectsNotesOccurrencesListResource =+ "v1beta1" :>+ Capture "name" Text :>+ "occurrences" :>+ QueryParam "$.xgafv" Xgafv :>+ QueryParam "upload_protocol" Text :>+ QueryParam "access_token" Text :>+ QueryParam "uploadType" Text :>+ QueryParam "filter" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "pageSize" (Textual Int32) :>+ QueryParam "callback" Text :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] ListNoteOccurrencesResponse++-- | Lists occurrences referencing the specified note. Provider projects can+-- use this method to get all occurrences across consumer projects+-- referencing the specified note.+--+-- /See:/ 'projectsNotesOccurrencesList' smart constructor.+data ProjectsNotesOccurrencesList = ProjectsNotesOccurrencesList'+ { _pnolXgafv :: !(Maybe Xgafv)+ , _pnolUploadProtocol :: !(Maybe Text)+ , _pnolAccessToken :: !(Maybe Text)+ , _pnolUploadType :: !(Maybe Text)+ , _pnolName :: !Text+ , _pnolFilter :: !(Maybe Text)+ , _pnolPageToken :: !(Maybe Text)+ , _pnolPageSize :: !(Maybe (Textual Int32))+ , _pnolCallback :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsNotesOccurrencesList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pnolXgafv'+--+-- * 'pnolUploadProtocol'+--+-- * 'pnolAccessToken'+--+-- * 'pnolUploadType'+--+-- * 'pnolName'+--+-- * 'pnolFilter'+--+-- * 'pnolPageToken'+--+-- * 'pnolPageSize'+--+-- * 'pnolCallback'+projectsNotesOccurrencesList+ :: Text -- ^ 'pnolName'+ -> ProjectsNotesOccurrencesList+projectsNotesOccurrencesList pPnolName_ =+ ProjectsNotesOccurrencesList'+ { _pnolXgafv = Nothing+ , _pnolUploadProtocol = Nothing+ , _pnolAccessToken = Nothing+ , _pnolUploadType = Nothing+ , _pnolName = pPnolName_+ , _pnolFilter = Nothing+ , _pnolPageToken = Nothing+ , _pnolPageSize = Nothing+ , _pnolCallback = Nothing+ }++-- | V1 error format.+pnolXgafv :: Lens' ProjectsNotesOccurrencesList (Maybe Xgafv)+pnolXgafv+ = lens _pnolXgafv (\ s a -> s{_pnolXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+pnolUploadProtocol :: Lens' ProjectsNotesOccurrencesList (Maybe Text)+pnolUploadProtocol+ = lens _pnolUploadProtocol+ (\ s a -> s{_pnolUploadProtocol = a})++-- | OAuth access token.+pnolAccessToken :: Lens' ProjectsNotesOccurrencesList (Maybe Text)+pnolAccessToken+ = lens _pnolAccessToken+ (\ s a -> s{_pnolAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+pnolUploadType :: Lens' ProjectsNotesOccurrencesList (Maybe Text)+pnolUploadType+ = lens _pnolUploadType+ (\ s a -> s{_pnolUploadType = a})++-- | The name of the note to list occurrences for in the form of+-- \`projects\/[PROVIDER_ID]\/notes\/[NOTE_ID]\`.+pnolName :: Lens' ProjectsNotesOccurrencesList Text+pnolName = lens _pnolName (\ s a -> s{_pnolName = a})++-- | The filter expression.+pnolFilter :: Lens' ProjectsNotesOccurrencesList (Maybe Text)+pnolFilter+ = lens _pnolFilter (\ s a -> s{_pnolFilter = a})++-- | Token to provide to skip to a particular spot in the list.+pnolPageToken :: Lens' ProjectsNotesOccurrencesList (Maybe Text)+pnolPageToken+ = lens _pnolPageToken+ (\ s a -> s{_pnolPageToken = a})++-- | Number of occurrences to return in the list.+pnolPageSize :: Lens' ProjectsNotesOccurrencesList (Maybe Int32)+pnolPageSize+ = lens _pnolPageSize (\ s a -> s{_pnolPageSize = a})+ . mapping _Coerce++-- | JSONP+pnolCallback :: Lens' ProjectsNotesOccurrencesList (Maybe Text)+pnolCallback+ = lens _pnolCallback (\ s a -> s{_pnolCallback = a})++instance GoogleRequest ProjectsNotesOccurrencesList+ where+ type Rs ProjectsNotesOccurrencesList =+ ListNoteOccurrencesResponse+ type Scopes ProjectsNotesOccurrencesList =+ '["https://www.googleapis.com/auth/cloud-platform"]+ requestClient ProjectsNotesOccurrencesList'{..}+ = go _pnolName _pnolXgafv _pnolUploadProtocol+ _pnolAccessToken+ _pnolUploadType+ _pnolFilter+ _pnolPageToken+ _pnolPageSize+ _pnolCallback+ (Just AltJSON)+ containerAnalysisService+ where go+ = buildClient+ (Proxy :: Proxy ProjectsNotesOccurrencesListResource)+ mempty
+ gen/Network/Google/Resource/ContainerAnalysis/Projects/Notes/Patch.hs view
@@ -0,0 +1,171 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.ContainerAnalysis.Projects.Notes.Patch+-- Copyright : (c) 2015-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates the specified note.+--+-- /See:/ <https://cloud.google.com/container-analysis/api/reference/rest/ Container Analysis API Reference> for @containeranalysis.projects.notes.patch@.+module Network.Google.Resource.ContainerAnalysis.Projects.Notes.Patch+ (+ -- * REST Resource+ ProjectsNotesPatchResource++ -- * Creating a Request+ , projectsNotesPatch+ , ProjectsNotesPatch++ -- * Request Lenses+ , pnpXgafv+ , pnpUploadProtocol+ , pnpUpdateMask+ , pnpAccessToken+ , pnpUploadType+ , pnpPayload+ , pnpName+ , pnpCallback+ ) where++import Network.Google.ContainerAnalysis.Types+import Network.Google.Prelude++-- | A resource alias for @containeranalysis.projects.notes.patch@ method which the+-- 'ProjectsNotesPatch' request conforms to.+type ProjectsNotesPatchResource =+ "v1beta1" :>+ Capture "name" Text :>+ QueryParam "$.xgafv" Xgafv :>+ QueryParam "upload_protocol" Text :>+ QueryParam "updateMask" GFieldMask :>+ QueryParam "access_token" Text :>+ QueryParam "uploadType" Text :>+ QueryParam "callback" Text :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] Note :> Patch '[JSON] Note++-- | Updates the specified note.+--+-- /See:/ 'projectsNotesPatch' smart constructor.+data ProjectsNotesPatch = ProjectsNotesPatch'+ { _pnpXgafv :: !(Maybe Xgafv)+ , _pnpUploadProtocol :: !(Maybe Text)+ , _pnpUpdateMask :: !(Maybe GFieldMask)+ , _pnpAccessToken :: !(Maybe Text)+ , _pnpUploadType :: !(Maybe Text)+ , _pnpPayload :: !Note+ , _pnpName :: !Text+ , _pnpCallback :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsNotesPatch' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pnpXgafv'+--+-- * 'pnpUploadProtocol'+--+-- * 'pnpUpdateMask'+--+-- * 'pnpAccessToken'+--+-- * 'pnpUploadType'+--+-- * 'pnpPayload'+--+-- * 'pnpName'+--+-- * 'pnpCallback'+projectsNotesPatch+ :: Note -- ^ 'pnpPayload'+ -> Text -- ^ 'pnpName'+ -> ProjectsNotesPatch+projectsNotesPatch pPnpPayload_ pPnpName_ =+ ProjectsNotesPatch'+ { _pnpXgafv = Nothing+ , _pnpUploadProtocol = Nothing+ , _pnpUpdateMask = Nothing+ , _pnpAccessToken = Nothing+ , _pnpUploadType = Nothing+ , _pnpPayload = pPnpPayload_+ , _pnpName = pPnpName_+ , _pnpCallback = Nothing+ }++-- | V1 error format.+pnpXgafv :: Lens' ProjectsNotesPatch (Maybe Xgafv)+pnpXgafv = lens _pnpXgafv (\ s a -> s{_pnpXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+pnpUploadProtocol :: Lens' ProjectsNotesPatch (Maybe Text)+pnpUploadProtocol+ = lens _pnpUploadProtocol+ (\ s a -> s{_pnpUploadProtocol = a})++-- | The fields to update.+pnpUpdateMask :: Lens' ProjectsNotesPatch (Maybe GFieldMask)+pnpUpdateMask+ = lens _pnpUpdateMask+ (\ s a -> s{_pnpUpdateMask = a})++-- | OAuth access token.+pnpAccessToken :: Lens' ProjectsNotesPatch (Maybe Text)+pnpAccessToken+ = lens _pnpAccessToken+ (\ s a -> s{_pnpAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+pnpUploadType :: Lens' ProjectsNotesPatch (Maybe Text)+pnpUploadType+ = lens _pnpUploadType+ (\ s a -> s{_pnpUploadType = a})++-- | Multipart request metadata.+pnpPayload :: Lens' ProjectsNotesPatch Note+pnpPayload+ = lens _pnpPayload (\ s a -> s{_pnpPayload = a})++-- | The name of the note in the form of+-- \`projects\/[PROVIDER_ID]\/notes\/[NOTE_ID]\`.+pnpName :: Lens' ProjectsNotesPatch Text+pnpName = lens _pnpName (\ s a -> s{_pnpName = a})++-- | JSONP+pnpCallback :: Lens' ProjectsNotesPatch (Maybe Text)+pnpCallback+ = lens _pnpCallback (\ s a -> s{_pnpCallback = a})++instance GoogleRequest ProjectsNotesPatch where+ type Rs ProjectsNotesPatch = Note+ type Scopes ProjectsNotesPatch =+ '["https://www.googleapis.com/auth/cloud-platform"]+ requestClient ProjectsNotesPatch'{..}+ = go _pnpName _pnpXgafv _pnpUploadProtocol+ _pnpUpdateMask+ _pnpAccessToken+ _pnpUploadType+ _pnpCallback+ (Just AltJSON)+ _pnpPayload+ containerAnalysisService+ where go+ = buildClient+ (Proxy :: Proxy ProjectsNotesPatchResource)+ mempty
+ gen/Network/Google/Resource/ContainerAnalysis/Projects/Notes/SetIAMPolicy.hs view
@@ -0,0 +1,176 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.ContainerAnalysis.Projects.Notes.SetIAMPolicy+-- Copyright : (c) 2015-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Sets the access control policy on the specified note or occurrence.+-- Requires \`containeranalysis.notes.setIamPolicy\` or+-- \`containeranalysis.occurrences.setIamPolicy\` permission if the+-- resource is a note or an occurrence, respectively. The resource takes+-- the format \`projects\/[PROJECT_ID]\/notes\/[NOTE_ID]\` for notes and+-- \`projects\/[PROJECT_ID]\/occurrences\/[OCCURRENCE_ID]\` for+-- occurrences.+--+-- /See:/ <https://cloud.google.com/container-analysis/api/reference/rest/ Container Analysis API Reference> for @containeranalysis.projects.notes.setIamPolicy@.+module Network.Google.Resource.ContainerAnalysis.Projects.Notes.SetIAMPolicy+ (+ -- * REST Resource+ ProjectsNotesSetIAMPolicyResource++ -- * Creating a Request+ , projectsNotesSetIAMPolicy+ , ProjectsNotesSetIAMPolicy++ -- * Request Lenses+ , pnsipXgafv+ , pnsipUploadProtocol+ , pnsipAccessToken+ , pnsipUploadType+ , pnsipPayload+ , pnsipResource+ , pnsipCallback+ ) where++import Network.Google.ContainerAnalysis.Types+import Network.Google.Prelude++-- | A resource alias for @containeranalysis.projects.notes.setIamPolicy@ method which the+-- 'ProjectsNotesSetIAMPolicy' request conforms to.+type ProjectsNotesSetIAMPolicyResource =+ "v1beta1" :>+ CaptureMode "resource" "setIamPolicy" Text :>+ QueryParam "$.xgafv" Xgafv :>+ QueryParam "upload_protocol" Text :>+ QueryParam "access_token" Text :>+ QueryParam "uploadType" Text :>+ QueryParam "callback" Text :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] SetIAMPolicyRequest :>+ Post '[JSON] Policy++-- | Sets the access control policy on the specified note or occurrence.+-- Requires \`containeranalysis.notes.setIamPolicy\` or+-- \`containeranalysis.occurrences.setIamPolicy\` permission if the+-- resource is a note or an occurrence, respectively. The resource takes+-- the format \`projects\/[PROJECT_ID]\/notes\/[NOTE_ID]\` for notes and+-- \`projects\/[PROJECT_ID]\/occurrences\/[OCCURRENCE_ID]\` for+-- occurrences.+--+-- /See:/ 'projectsNotesSetIAMPolicy' smart constructor.+data ProjectsNotesSetIAMPolicy = ProjectsNotesSetIAMPolicy'+ { _pnsipXgafv :: !(Maybe Xgafv)+ , _pnsipUploadProtocol :: !(Maybe Text)+ , _pnsipAccessToken :: !(Maybe Text)+ , _pnsipUploadType :: !(Maybe Text)+ , _pnsipPayload :: !SetIAMPolicyRequest+ , _pnsipResource :: !Text+ , _pnsipCallback :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsNotesSetIAMPolicy' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pnsipXgafv'+--+-- * 'pnsipUploadProtocol'+--+-- * 'pnsipAccessToken'+--+-- * 'pnsipUploadType'+--+-- * 'pnsipPayload'+--+-- * 'pnsipResource'+--+-- * 'pnsipCallback'+projectsNotesSetIAMPolicy+ :: SetIAMPolicyRequest -- ^ 'pnsipPayload'+ -> Text -- ^ 'pnsipResource'+ -> ProjectsNotesSetIAMPolicy+projectsNotesSetIAMPolicy pPnsipPayload_ pPnsipResource_ =+ ProjectsNotesSetIAMPolicy'+ { _pnsipXgafv = Nothing+ , _pnsipUploadProtocol = Nothing+ , _pnsipAccessToken = Nothing+ , _pnsipUploadType = Nothing+ , _pnsipPayload = pPnsipPayload_+ , _pnsipResource = pPnsipResource_+ , _pnsipCallback = Nothing+ }++-- | V1 error format.+pnsipXgafv :: Lens' ProjectsNotesSetIAMPolicy (Maybe Xgafv)+pnsipXgafv+ = lens _pnsipXgafv (\ s a -> s{_pnsipXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+pnsipUploadProtocol :: Lens' ProjectsNotesSetIAMPolicy (Maybe Text)+pnsipUploadProtocol+ = lens _pnsipUploadProtocol+ (\ s a -> s{_pnsipUploadProtocol = a})++-- | OAuth access token.+pnsipAccessToken :: Lens' ProjectsNotesSetIAMPolicy (Maybe Text)+pnsipAccessToken+ = lens _pnsipAccessToken+ (\ s a -> s{_pnsipAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+pnsipUploadType :: Lens' ProjectsNotesSetIAMPolicy (Maybe Text)+pnsipUploadType+ = lens _pnsipUploadType+ (\ s a -> s{_pnsipUploadType = a})++-- | Multipart request metadata.+pnsipPayload :: Lens' ProjectsNotesSetIAMPolicy SetIAMPolicyRequest+pnsipPayload+ = lens _pnsipPayload (\ s a -> s{_pnsipPayload = a})++-- | REQUIRED: The resource for which the policy is being specified. See the+-- operation documentation for the appropriate value for this field.+pnsipResource :: Lens' ProjectsNotesSetIAMPolicy Text+pnsipResource+ = lens _pnsipResource+ (\ s a -> s{_pnsipResource = a})++-- | JSONP+pnsipCallback :: Lens' ProjectsNotesSetIAMPolicy (Maybe Text)+pnsipCallback+ = lens _pnsipCallback+ (\ s a -> s{_pnsipCallback = a})++instance GoogleRequest ProjectsNotesSetIAMPolicy+ where+ type Rs ProjectsNotesSetIAMPolicy = Policy+ type Scopes ProjectsNotesSetIAMPolicy =+ '["https://www.googleapis.com/auth/cloud-platform"]+ requestClient ProjectsNotesSetIAMPolicy'{..}+ = go _pnsipResource _pnsipXgafv _pnsipUploadProtocol+ _pnsipAccessToken+ _pnsipUploadType+ _pnsipCallback+ (Just AltJSON)+ _pnsipPayload+ containerAnalysisService+ where go+ = buildClient+ (Proxy :: Proxy ProjectsNotesSetIAMPolicyResource)+ mempty
+ gen/Network/Google/Resource/ContainerAnalysis/Projects/Notes/TestIAMPermissions.hs view
@@ -0,0 +1,177 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.ContainerAnalysis.Projects.Notes.TestIAMPermissions+-- Copyright : (c) 2015-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns the permissions that a caller has on the specified note or+-- occurrence. Requires list permission on the project (for example,+-- \`containeranalysis.notes.list\`). The resource takes the format+-- \`projects\/[PROJECT_ID]\/notes\/[NOTE_ID]\` for notes and+-- \`projects\/[PROJECT_ID]\/occurrences\/[OCCURRENCE_ID]\` for+-- occurrences.+--+-- /See:/ <https://cloud.google.com/container-analysis/api/reference/rest/ Container Analysis API Reference> for @containeranalysis.projects.notes.testIamPermissions@.+module Network.Google.Resource.ContainerAnalysis.Projects.Notes.TestIAMPermissions+ (+ -- * REST Resource+ ProjectsNotesTestIAMPermissionsResource++ -- * Creating a Request+ , projectsNotesTestIAMPermissions+ , ProjectsNotesTestIAMPermissions++ -- * Request Lenses+ , pntipXgafv+ , pntipUploadProtocol+ , pntipAccessToken+ , pntipUploadType+ , pntipPayload+ , pntipResource+ , pntipCallback+ ) where++import Network.Google.ContainerAnalysis.Types+import Network.Google.Prelude++-- | A resource alias for @containeranalysis.projects.notes.testIamPermissions@ method which the+-- 'ProjectsNotesTestIAMPermissions' request conforms to.+type ProjectsNotesTestIAMPermissionsResource =+ "v1beta1" :>+ CaptureMode "resource" "testIamPermissions" Text :>+ QueryParam "$.xgafv" Xgafv :>+ QueryParam "upload_protocol" Text :>+ QueryParam "access_token" Text :>+ QueryParam "uploadType" Text :>+ QueryParam "callback" Text :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] TestIAMPermissionsRequest :>+ Post '[JSON] TestIAMPermissionsResponse++-- | Returns the permissions that a caller has on the specified note or+-- occurrence. Requires list permission on the project (for example,+-- \`containeranalysis.notes.list\`). The resource takes the format+-- \`projects\/[PROJECT_ID]\/notes\/[NOTE_ID]\` for notes and+-- \`projects\/[PROJECT_ID]\/occurrences\/[OCCURRENCE_ID]\` for+-- occurrences.+--+-- /See:/ 'projectsNotesTestIAMPermissions' smart constructor.+data ProjectsNotesTestIAMPermissions = ProjectsNotesTestIAMPermissions'+ { _pntipXgafv :: !(Maybe Xgafv)+ , _pntipUploadProtocol :: !(Maybe Text)+ , _pntipAccessToken :: !(Maybe Text)+ , _pntipUploadType :: !(Maybe Text)+ , _pntipPayload :: !TestIAMPermissionsRequest+ , _pntipResource :: !Text+ , _pntipCallback :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsNotesTestIAMPermissions' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pntipXgafv'+--+-- * 'pntipUploadProtocol'+--+-- * 'pntipAccessToken'+--+-- * 'pntipUploadType'+--+-- * 'pntipPayload'+--+-- * 'pntipResource'+--+-- * 'pntipCallback'+projectsNotesTestIAMPermissions+ :: TestIAMPermissionsRequest -- ^ 'pntipPayload'+ -> Text -- ^ 'pntipResource'+ -> ProjectsNotesTestIAMPermissions+projectsNotesTestIAMPermissions pPntipPayload_ pPntipResource_ =+ ProjectsNotesTestIAMPermissions'+ { _pntipXgafv = Nothing+ , _pntipUploadProtocol = Nothing+ , _pntipAccessToken = Nothing+ , _pntipUploadType = Nothing+ , _pntipPayload = pPntipPayload_+ , _pntipResource = pPntipResource_+ , _pntipCallback = Nothing+ }++-- | V1 error format.+pntipXgafv :: Lens' ProjectsNotesTestIAMPermissions (Maybe Xgafv)+pntipXgafv+ = lens _pntipXgafv (\ s a -> s{_pntipXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+pntipUploadProtocol :: Lens' ProjectsNotesTestIAMPermissions (Maybe Text)+pntipUploadProtocol+ = lens _pntipUploadProtocol+ (\ s a -> s{_pntipUploadProtocol = a})++-- | OAuth access token.+pntipAccessToken :: Lens' ProjectsNotesTestIAMPermissions (Maybe Text)+pntipAccessToken+ = lens _pntipAccessToken+ (\ s a -> s{_pntipAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+pntipUploadType :: Lens' ProjectsNotesTestIAMPermissions (Maybe Text)+pntipUploadType+ = lens _pntipUploadType+ (\ s a -> s{_pntipUploadType = a})++-- | Multipart request metadata.+pntipPayload :: Lens' ProjectsNotesTestIAMPermissions TestIAMPermissionsRequest+pntipPayload+ = lens _pntipPayload (\ s a -> s{_pntipPayload = a})++-- | REQUIRED: The resource for which the policy detail is being requested.+-- See the operation documentation for the appropriate value for this+-- field.+pntipResource :: Lens' ProjectsNotesTestIAMPermissions Text+pntipResource+ = lens _pntipResource+ (\ s a -> s{_pntipResource = a})++-- | JSONP+pntipCallback :: Lens' ProjectsNotesTestIAMPermissions (Maybe Text)+pntipCallback+ = lens _pntipCallback+ (\ s a -> s{_pntipCallback = a})++instance GoogleRequest+ ProjectsNotesTestIAMPermissions where+ type Rs ProjectsNotesTestIAMPermissions =+ TestIAMPermissionsResponse+ type Scopes ProjectsNotesTestIAMPermissions =+ '["https://www.googleapis.com/auth/cloud-platform"]+ requestClient ProjectsNotesTestIAMPermissions'{..}+ = go _pntipResource _pntipXgafv _pntipUploadProtocol+ _pntipAccessToken+ _pntipUploadType+ _pntipCallback+ (Just AltJSON)+ _pntipPayload+ containerAnalysisService+ where go+ = buildClient+ (Proxy ::+ Proxy ProjectsNotesTestIAMPermissionsResource)+ mempty
+ gen/Network/Google/Resource/ContainerAnalysis/Projects/Occurrences/BatchCreate.hs view
@@ -0,0 +1,165 @@+{-# 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.ContainerAnalysis.Projects.Occurrences.BatchCreate+-- Copyright : (c) 2015-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates new occurrences in batch.+--+-- /See:/ <https://cloud.google.com/container-analysis/api/reference/rest/ Container Analysis API Reference> for @containeranalysis.projects.occurrences.batchCreate@.+module Network.Google.Resource.ContainerAnalysis.Projects.Occurrences.BatchCreate+ (+ -- * REST Resource+ ProjectsOccurrencesBatchCreateResource++ -- * Creating a Request+ , projectsOccurrencesBatchCreate+ , ProjectsOccurrencesBatchCreate++ -- * Request Lenses+ , pobcParent+ , pobcXgafv+ , pobcUploadProtocol+ , pobcAccessToken+ , pobcUploadType+ , pobcPayload+ , pobcCallback+ ) where++import Network.Google.ContainerAnalysis.Types+import Network.Google.Prelude++-- | A resource alias for @containeranalysis.projects.occurrences.batchCreate@ method which the+-- 'ProjectsOccurrencesBatchCreate' request conforms to.+type ProjectsOccurrencesBatchCreateResource =+ "v1beta1" :>+ Capture "parent" Text :>+ "occurrences:batchCreate" :>+ QueryParam "$.xgafv" Xgafv :>+ QueryParam "upload_protocol" Text :>+ QueryParam "access_token" Text :>+ QueryParam "uploadType" Text :>+ QueryParam "callback" Text :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] BatchCreateOccurrencesRequest :>+ Post '[JSON] BatchCreateOccurrencesResponse++-- | Creates new occurrences in batch.+--+-- /See:/ 'projectsOccurrencesBatchCreate' smart constructor.+data ProjectsOccurrencesBatchCreate = ProjectsOccurrencesBatchCreate'+ { _pobcParent :: !Text+ , _pobcXgafv :: !(Maybe Xgafv)+ , _pobcUploadProtocol :: !(Maybe Text)+ , _pobcAccessToken :: !(Maybe Text)+ , _pobcUploadType :: !(Maybe Text)+ , _pobcPayload :: !BatchCreateOccurrencesRequest+ , _pobcCallback :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsOccurrencesBatchCreate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pobcParent'+--+-- * 'pobcXgafv'+--+-- * 'pobcUploadProtocol'+--+-- * 'pobcAccessToken'+--+-- * 'pobcUploadType'+--+-- * 'pobcPayload'+--+-- * 'pobcCallback'+projectsOccurrencesBatchCreate+ :: Text -- ^ 'pobcParent'+ -> BatchCreateOccurrencesRequest -- ^ 'pobcPayload'+ -> ProjectsOccurrencesBatchCreate+projectsOccurrencesBatchCreate pPobcParent_ pPobcPayload_ =+ ProjectsOccurrencesBatchCreate'+ { _pobcParent = pPobcParent_+ , _pobcXgafv = Nothing+ , _pobcUploadProtocol = Nothing+ , _pobcAccessToken = Nothing+ , _pobcUploadType = Nothing+ , _pobcPayload = pPobcPayload_+ , _pobcCallback = Nothing+ }++-- | The name of the project in the form of \`projects\/[PROJECT_ID]\`, under+-- which the occurrences are to be created.+pobcParent :: Lens' ProjectsOccurrencesBatchCreate Text+pobcParent+ = lens _pobcParent (\ s a -> s{_pobcParent = a})++-- | V1 error format.+pobcXgafv :: Lens' ProjectsOccurrencesBatchCreate (Maybe Xgafv)+pobcXgafv+ = lens _pobcXgafv (\ s a -> s{_pobcXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+pobcUploadProtocol :: Lens' ProjectsOccurrencesBatchCreate (Maybe Text)+pobcUploadProtocol+ = lens _pobcUploadProtocol+ (\ s a -> s{_pobcUploadProtocol = a})++-- | OAuth access token.+pobcAccessToken :: Lens' ProjectsOccurrencesBatchCreate (Maybe Text)+pobcAccessToken+ = lens _pobcAccessToken+ (\ s a -> s{_pobcAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+pobcUploadType :: Lens' ProjectsOccurrencesBatchCreate (Maybe Text)+pobcUploadType+ = lens _pobcUploadType+ (\ s a -> s{_pobcUploadType = a})++-- | Multipart request metadata.+pobcPayload :: Lens' ProjectsOccurrencesBatchCreate BatchCreateOccurrencesRequest+pobcPayload+ = lens _pobcPayload (\ s a -> s{_pobcPayload = a})++-- | JSONP+pobcCallback :: Lens' ProjectsOccurrencesBatchCreate (Maybe Text)+pobcCallback+ = lens _pobcCallback (\ s a -> s{_pobcCallback = a})++instance GoogleRequest ProjectsOccurrencesBatchCreate+ where+ type Rs ProjectsOccurrencesBatchCreate =+ BatchCreateOccurrencesResponse+ type Scopes ProjectsOccurrencesBatchCreate =+ '["https://www.googleapis.com/auth/cloud-platform"]+ requestClient ProjectsOccurrencesBatchCreate'{..}+ = go _pobcParent _pobcXgafv _pobcUploadProtocol+ _pobcAccessToken+ _pobcUploadType+ _pobcCallback+ (Just AltJSON)+ _pobcPayload+ containerAnalysisService+ where go+ = buildClient+ (Proxy ::+ Proxy ProjectsOccurrencesBatchCreateResource)+ mempty
+ gen/Network/Google/Resource/ContainerAnalysis/Projects/Occurrences/Create.hs view
@@ -0,0 +1,161 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.ContainerAnalysis.Projects.Occurrences.Create+-- Copyright : (c) 2015-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a new occurrence.+--+-- /See:/ <https://cloud.google.com/container-analysis/api/reference/rest/ Container Analysis API Reference> for @containeranalysis.projects.occurrences.create@.+module Network.Google.Resource.ContainerAnalysis.Projects.Occurrences.Create+ (+ -- * REST Resource+ ProjectsOccurrencesCreateResource++ -- * Creating a Request+ , projectsOccurrencesCreate+ , ProjectsOccurrencesCreate++ -- * Request Lenses+ , pocParent+ , pocXgafv+ , pocUploadProtocol+ , pocAccessToken+ , pocUploadType+ , pocPayload+ , pocCallback+ ) where++import Network.Google.ContainerAnalysis.Types+import Network.Google.Prelude++-- | A resource alias for @containeranalysis.projects.occurrences.create@ method which the+-- 'ProjectsOccurrencesCreate' request conforms to.+type ProjectsOccurrencesCreateResource =+ "v1beta1" :>+ Capture "parent" Text :>+ "occurrences" :>+ QueryParam "$.xgafv" Xgafv :>+ QueryParam "upload_protocol" Text :>+ QueryParam "access_token" Text :>+ QueryParam "uploadType" Text :>+ QueryParam "callback" Text :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] Occurrence :> Post '[JSON] Occurrence++-- | Creates a new occurrence.+--+-- /See:/ 'projectsOccurrencesCreate' smart constructor.+data ProjectsOccurrencesCreate = ProjectsOccurrencesCreate'+ { _pocParent :: !Text+ , _pocXgafv :: !(Maybe Xgafv)+ , _pocUploadProtocol :: !(Maybe Text)+ , _pocAccessToken :: !(Maybe Text)+ , _pocUploadType :: !(Maybe Text)+ , _pocPayload :: !Occurrence+ , _pocCallback :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsOccurrencesCreate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pocParent'+--+-- * 'pocXgafv'+--+-- * 'pocUploadProtocol'+--+-- * 'pocAccessToken'+--+-- * 'pocUploadType'+--+-- * 'pocPayload'+--+-- * 'pocCallback'+projectsOccurrencesCreate+ :: Text -- ^ 'pocParent'+ -> Occurrence -- ^ 'pocPayload'+ -> ProjectsOccurrencesCreate+projectsOccurrencesCreate pPocParent_ pPocPayload_ =+ ProjectsOccurrencesCreate'+ { _pocParent = pPocParent_+ , _pocXgafv = Nothing+ , _pocUploadProtocol = Nothing+ , _pocAccessToken = Nothing+ , _pocUploadType = Nothing+ , _pocPayload = pPocPayload_+ , _pocCallback = Nothing+ }++-- | The name of the project in the form of \`projects\/[PROJECT_ID]\`, under+-- which the occurrence is to be created.+pocParent :: Lens' ProjectsOccurrencesCreate Text+pocParent+ = lens _pocParent (\ s a -> s{_pocParent = a})++-- | V1 error format.+pocXgafv :: Lens' ProjectsOccurrencesCreate (Maybe Xgafv)+pocXgafv = lens _pocXgafv (\ s a -> s{_pocXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+pocUploadProtocol :: Lens' ProjectsOccurrencesCreate (Maybe Text)+pocUploadProtocol+ = lens _pocUploadProtocol+ (\ s a -> s{_pocUploadProtocol = a})++-- | OAuth access token.+pocAccessToken :: Lens' ProjectsOccurrencesCreate (Maybe Text)+pocAccessToken+ = lens _pocAccessToken+ (\ s a -> s{_pocAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+pocUploadType :: Lens' ProjectsOccurrencesCreate (Maybe Text)+pocUploadType+ = lens _pocUploadType+ (\ s a -> s{_pocUploadType = a})++-- | Multipart request metadata.+pocPayload :: Lens' ProjectsOccurrencesCreate Occurrence+pocPayload+ = lens _pocPayload (\ s a -> s{_pocPayload = a})++-- | JSONP+pocCallback :: Lens' ProjectsOccurrencesCreate (Maybe Text)+pocCallback+ = lens _pocCallback (\ s a -> s{_pocCallback = a})++instance GoogleRequest ProjectsOccurrencesCreate+ where+ type Rs ProjectsOccurrencesCreate = Occurrence+ type Scopes ProjectsOccurrencesCreate =+ '["https://www.googleapis.com/auth/cloud-platform"]+ requestClient ProjectsOccurrencesCreate'{..}+ = go _pocParent _pocXgafv _pocUploadProtocol+ _pocAccessToken+ _pocUploadType+ _pocCallback+ (Just AltJSON)+ _pocPayload+ containerAnalysisService+ where go+ = buildClient+ (Proxy :: Proxy ProjectsOccurrencesCreateResource)+ mempty
+ gen/Network/Google/Resource/ContainerAnalysis/Projects/Occurrences/Delete.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.ContainerAnalysis.Projects.Occurrences.Delete+-- Copyright : (c) 2015-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes the specified occurrence. For example, use this method to delete+-- an occurrence when the occurrence is no longer applicable for the given+-- resource.+--+-- /See:/ <https://cloud.google.com/container-analysis/api/reference/rest/ Container Analysis API Reference> for @containeranalysis.projects.occurrences.delete@.+module Network.Google.Resource.ContainerAnalysis.Projects.Occurrences.Delete+ (+ -- * REST Resource+ ProjectsOccurrencesDeleteResource++ -- * Creating a Request+ , projectsOccurrencesDelete+ , ProjectsOccurrencesDelete++ -- * Request Lenses+ , podXgafv+ , podUploadProtocol+ , podAccessToken+ , podUploadType+ , podName+ , podCallback+ ) where++import Network.Google.ContainerAnalysis.Types+import Network.Google.Prelude++-- | A resource alias for @containeranalysis.projects.occurrences.delete@ method which the+-- 'ProjectsOccurrencesDelete' request conforms to.+type ProjectsOccurrencesDeleteResource =+ "v1beta1" :>+ Capture "name" Text :>+ QueryParam "$.xgafv" Xgafv :>+ QueryParam "upload_protocol" Text :>+ QueryParam "access_token" Text :>+ QueryParam "uploadType" Text :>+ QueryParam "callback" Text :>+ QueryParam "alt" AltJSON :> Delete '[JSON] Empty++-- | Deletes the specified occurrence. For example, use this method to delete+-- an occurrence when the occurrence is no longer applicable for the given+-- resource.+--+-- /See:/ 'projectsOccurrencesDelete' smart constructor.+data ProjectsOccurrencesDelete = ProjectsOccurrencesDelete'+ { _podXgafv :: !(Maybe Xgafv)+ , _podUploadProtocol :: !(Maybe Text)+ , _podAccessToken :: !(Maybe Text)+ , _podUploadType :: !(Maybe Text)+ , _podName :: !Text+ , _podCallback :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsOccurrencesDelete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'podXgafv'+--+-- * 'podUploadProtocol'+--+-- * 'podAccessToken'+--+-- * 'podUploadType'+--+-- * 'podName'+--+-- * 'podCallback'+projectsOccurrencesDelete+ :: Text -- ^ 'podName'+ -> ProjectsOccurrencesDelete+projectsOccurrencesDelete pPodName_ =+ ProjectsOccurrencesDelete'+ { _podXgafv = Nothing+ , _podUploadProtocol = Nothing+ , _podAccessToken = Nothing+ , _podUploadType = Nothing+ , _podName = pPodName_+ , _podCallback = Nothing+ }++-- | V1 error format.+podXgafv :: Lens' ProjectsOccurrencesDelete (Maybe Xgafv)+podXgafv = lens _podXgafv (\ s a -> s{_podXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+podUploadProtocol :: Lens' ProjectsOccurrencesDelete (Maybe Text)+podUploadProtocol+ = lens _podUploadProtocol+ (\ s a -> s{_podUploadProtocol = a})++-- | OAuth access token.+podAccessToken :: Lens' ProjectsOccurrencesDelete (Maybe Text)+podAccessToken+ = lens _podAccessToken+ (\ s a -> s{_podAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+podUploadType :: Lens' ProjectsOccurrencesDelete (Maybe Text)+podUploadType+ = lens _podUploadType+ (\ s a -> s{_podUploadType = a})++-- | The name of the occurrence in the form of+-- \`projects\/[PROJECT_ID]\/occurrences\/[OCCURRENCE_ID]\`.+podName :: Lens' ProjectsOccurrencesDelete Text+podName = lens _podName (\ s a -> s{_podName = a})++-- | JSONP+podCallback :: Lens' ProjectsOccurrencesDelete (Maybe Text)+podCallback+ = lens _podCallback (\ s a -> s{_podCallback = a})++instance GoogleRequest ProjectsOccurrencesDelete+ where+ type Rs ProjectsOccurrencesDelete = Empty+ type Scopes ProjectsOccurrencesDelete =+ '["https://www.googleapis.com/auth/cloud-platform"]+ requestClient ProjectsOccurrencesDelete'{..}+ = go _podName _podXgafv _podUploadProtocol+ _podAccessToken+ _podUploadType+ _podCallback+ (Just AltJSON)+ containerAnalysisService+ where go+ = buildClient+ (Proxy :: Proxy ProjectsOccurrencesDeleteResource)+ mempty
+ gen/Network/Google/Resource/ContainerAnalysis/Projects/Occurrences/Get.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.ContainerAnalysis.Projects.Occurrences.Get+-- Copyright : (c) 2015-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets the specified occurrence.+--+-- /See:/ <https://cloud.google.com/container-analysis/api/reference/rest/ Container Analysis API Reference> for @containeranalysis.projects.occurrences.get@.+module Network.Google.Resource.ContainerAnalysis.Projects.Occurrences.Get+ (+ -- * REST Resource+ ProjectsOccurrencesGetResource++ -- * Creating a Request+ , projectsOccurrencesGet+ , ProjectsOccurrencesGet++ -- * Request Lenses+ , pogXgafv+ , pogUploadProtocol+ , pogAccessToken+ , pogUploadType+ , pogName+ , pogCallback+ ) where++import Network.Google.ContainerAnalysis.Types+import Network.Google.Prelude++-- | A resource alias for @containeranalysis.projects.occurrences.get@ method which the+-- 'ProjectsOccurrencesGet' request conforms to.+type ProjectsOccurrencesGetResource =+ "v1beta1" :>+ Capture "name" Text :>+ QueryParam "$.xgafv" Xgafv :>+ QueryParam "upload_protocol" Text :>+ QueryParam "access_token" Text :>+ QueryParam "uploadType" Text :>+ QueryParam "callback" Text :>+ QueryParam "alt" AltJSON :> Get '[JSON] Occurrence++-- | Gets the specified occurrence.+--+-- /See:/ 'projectsOccurrencesGet' smart constructor.+data ProjectsOccurrencesGet = ProjectsOccurrencesGet'+ { _pogXgafv :: !(Maybe Xgafv)+ , _pogUploadProtocol :: !(Maybe Text)+ , _pogAccessToken :: !(Maybe Text)+ , _pogUploadType :: !(Maybe Text)+ , _pogName :: !Text+ , _pogCallback :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsOccurrencesGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pogXgafv'+--+-- * 'pogUploadProtocol'+--+-- * 'pogAccessToken'+--+-- * 'pogUploadType'+--+-- * 'pogName'+--+-- * 'pogCallback'+projectsOccurrencesGet+ :: Text -- ^ 'pogName'+ -> ProjectsOccurrencesGet+projectsOccurrencesGet pPogName_ =+ ProjectsOccurrencesGet'+ { _pogXgafv = Nothing+ , _pogUploadProtocol = Nothing+ , _pogAccessToken = Nothing+ , _pogUploadType = Nothing+ , _pogName = pPogName_+ , _pogCallback = Nothing+ }++-- | V1 error format.+pogXgafv :: Lens' ProjectsOccurrencesGet (Maybe Xgafv)+pogXgafv = lens _pogXgafv (\ s a -> s{_pogXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+pogUploadProtocol :: Lens' ProjectsOccurrencesGet (Maybe Text)+pogUploadProtocol+ = lens _pogUploadProtocol+ (\ s a -> s{_pogUploadProtocol = a})++-- | OAuth access token.+pogAccessToken :: Lens' ProjectsOccurrencesGet (Maybe Text)+pogAccessToken+ = lens _pogAccessToken+ (\ s a -> s{_pogAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+pogUploadType :: Lens' ProjectsOccurrencesGet (Maybe Text)+pogUploadType+ = lens _pogUploadType+ (\ s a -> s{_pogUploadType = a})++-- | The name of the occurrence in the form of+-- \`projects\/[PROJECT_ID]\/occurrences\/[OCCURRENCE_ID]\`.+pogName :: Lens' ProjectsOccurrencesGet Text+pogName = lens _pogName (\ s a -> s{_pogName = a})++-- | JSONP+pogCallback :: Lens' ProjectsOccurrencesGet (Maybe Text)+pogCallback+ = lens _pogCallback (\ s a -> s{_pogCallback = a})++instance GoogleRequest ProjectsOccurrencesGet where+ type Rs ProjectsOccurrencesGet = Occurrence+ type Scopes ProjectsOccurrencesGet =+ '["https://www.googleapis.com/auth/cloud-platform"]+ requestClient ProjectsOccurrencesGet'{..}+ = go _pogName _pogXgafv _pogUploadProtocol+ _pogAccessToken+ _pogUploadType+ _pogCallback+ (Just AltJSON)+ containerAnalysisService+ where go+ = buildClient+ (Proxy :: Proxy ProjectsOccurrencesGetResource)+ mempty
+ gen/Network/Google/Resource/ContainerAnalysis/Projects/Occurrences/GetIAMPolicy.hs view
@@ -0,0 +1,177 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.ContainerAnalysis.Projects.Occurrences.GetIAMPolicy+-- Copyright : (c) 2015-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets the access control policy for a note or an occurrence resource.+-- Requires \`containeranalysis.notes.setIamPolicy\` or+-- \`containeranalysis.occurrences.setIamPolicy\` permission if the+-- resource is a note or occurrence, respectively. The resource takes the+-- format \`projects\/[PROJECT_ID]\/notes\/[NOTE_ID]\` for notes and+-- \`projects\/[PROJECT_ID]\/occurrences\/[OCCURRENCE_ID]\` for+-- occurrences.+--+-- /See:/ <https://cloud.google.com/container-analysis/api/reference/rest/ Container Analysis API Reference> for @containeranalysis.projects.occurrences.getIamPolicy@.+module Network.Google.Resource.ContainerAnalysis.Projects.Occurrences.GetIAMPolicy+ (+ -- * REST Resource+ ProjectsOccurrencesGetIAMPolicyResource++ -- * Creating a Request+ , projectsOccurrencesGetIAMPolicy+ , ProjectsOccurrencesGetIAMPolicy++ -- * Request Lenses+ , pogipXgafv+ , pogipUploadProtocol+ , pogipAccessToken+ , pogipUploadType+ , pogipPayload+ , pogipResource+ , pogipCallback+ ) where++import Network.Google.ContainerAnalysis.Types+import Network.Google.Prelude++-- | A resource alias for @containeranalysis.projects.occurrences.getIamPolicy@ method which the+-- 'ProjectsOccurrencesGetIAMPolicy' request conforms to.+type ProjectsOccurrencesGetIAMPolicyResource =+ "v1beta1" :>+ CaptureMode "resource" "getIamPolicy" Text :>+ QueryParam "$.xgafv" Xgafv :>+ QueryParam "upload_protocol" Text :>+ QueryParam "access_token" Text :>+ QueryParam "uploadType" Text :>+ QueryParam "callback" Text :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] GetIAMPolicyRequest :>+ Post '[JSON] Policy++-- | Gets the access control policy for a note or an occurrence resource.+-- Requires \`containeranalysis.notes.setIamPolicy\` or+-- \`containeranalysis.occurrences.setIamPolicy\` permission if the+-- resource is a note or occurrence, respectively. The resource takes the+-- format \`projects\/[PROJECT_ID]\/notes\/[NOTE_ID]\` for notes and+-- \`projects\/[PROJECT_ID]\/occurrences\/[OCCURRENCE_ID]\` for+-- occurrences.+--+-- /See:/ 'projectsOccurrencesGetIAMPolicy' smart constructor.+data ProjectsOccurrencesGetIAMPolicy = ProjectsOccurrencesGetIAMPolicy'+ { _pogipXgafv :: !(Maybe Xgafv)+ , _pogipUploadProtocol :: !(Maybe Text)+ , _pogipAccessToken :: !(Maybe Text)+ , _pogipUploadType :: !(Maybe Text)+ , _pogipPayload :: !GetIAMPolicyRequest+ , _pogipResource :: !Text+ , _pogipCallback :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsOccurrencesGetIAMPolicy' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pogipXgafv'+--+-- * 'pogipUploadProtocol'+--+-- * 'pogipAccessToken'+--+-- * 'pogipUploadType'+--+-- * 'pogipPayload'+--+-- * 'pogipResource'+--+-- * 'pogipCallback'+projectsOccurrencesGetIAMPolicy+ :: GetIAMPolicyRequest -- ^ 'pogipPayload'+ -> Text -- ^ 'pogipResource'+ -> ProjectsOccurrencesGetIAMPolicy+projectsOccurrencesGetIAMPolicy pPogipPayload_ pPogipResource_ =+ ProjectsOccurrencesGetIAMPolicy'+ { _pogipXgafv = Nothing+ , _pogipUploadProtocol = Nothing+ , _pogipAccessToken = Nothing+ , _pogipUploadType = Nothing+ , _pogipPayload = pPogipPayload_+ , _pogipResource = pPogipResource_+ , _pogipCallback = Nothing+ }++-- | V1 error format.+pogipXgafv :: Lens' ProjectsOccurrencesGetIAMPolicy (Maybe Xgafv)+pogipXgafv+ = lens _pogipXgafv (\ s a -> s{_pogipXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+pogipUploadProtocol :: Lens' ProjectsOccurrencesGetIAMPolicy (Maybe Text)+pogipUploadProtocol+ = lens _pogipUploadProtocol+ (\ s a -> s{_pogipUploadProtocol = a})++-- | OAuth access token.+pogipAccessToken :: Lens' ProjectsOccurrencesGetIAMPolicy (Maybe Text)+pogipAccessToken+ = lens _pogipAccessToken+ (\ s a -> s{_pogipAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+pogipUploadType :: Lens' ProjectsOccurrencesGetIAMPolicy (Maybe Text)+pogipUploadType+ = lens _pogipUploadType+ (\ s a -> s{_pogipUploadType = a})++-- | Multipart request metadata.+pogipPayload :: Lens' ProjectsOccurrencesGetIAMPolicy GetIAMPolicyRequest+pogipPayload+ = lens _pogipPayload (\ s a -> s{_pogipPayload = a})++-- | REQUIRED: The resource for which the policy is being requested. See the+-- operation documentation for the appropriate value for this field.+pogipResource :: Lens' ProjectsOccurrencesGetIAMPolicy Text+pogipResource+ = lens _pogipResource+ (\ s a -> s{_pogipResource = a})++-- | JSONP+pogipCallback :: Lens' ProjectsOccurrencesGetIAMPolicy (Maybe Text)+pogipCallback+ = lens _pogipCallback+ (\ s a -> s{_pogipCallback = a})++instance GoogleRequest+ ProjectsOccurrencesGetIAMPolicy where+ type Rs ProjectsOccurrencesGetIAMPolicy = Policy+ type Scopes ProjectsOccurrencesGetIAMPolicy =+ '["https://www.googleapis.com/auth/cloud-platform"]+ requestClient ProjectsOccurrencesGetIAMPolicy'{..}+ = go _pogipResource _pogipXgafv _pogipUploadProtocol+ _pogipAccessToken+ _pogipUploadType+ _pogipCallback+ (Just AltJSON)+ _pogipPayload+ containerAnalysisService+ where go+ = buildClient+ (Proxy ::+ Proxy ProjectsOccurrencesGetIAMPolicyResource)+ mempty
+ gen/Network/Google/Resource/ContainerAnalysis/Projects/Occurrences/GetNotes.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.ContainerAnalysis.Projects.Occurrences.GetNotes+-- Copyright : (c) 2015-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets the note attached to the specified occurrence. Consumer projects+-- can use this method to get a note that belongs to a provider project.+--+-- /See:/ <https://cloud.google.com/container-analysis/api/reference/rest/ Container Analysis API Reference> for @containeranalysis.projects.occurrences.getNotes@.+module Network.Google.Resource.ContainerAnalysis.Projects.Occurrences.GetNotes+ (+ -- * REST Resource+ ProjectsOccurrencesGetNotesResource++ -- * Creating a Request+ , projectsOccurrencesGetNotes+ , ProjectsOccurrencesGetNotes++ -- * Request Lenses+ , pognXgafv+ , pognUploadProtocol+ , pognAccessToken+ , pognUploadType+ , pognName+ , pognCallback+ ) where++import Network.Google.ContainerAnalysis.Types+import Network.Google.Prelude++-- | A resource alias for @containeranalysis.projects.occurrences.getNotes@ method which the+-- 'ProjectsOccurrencesGetNotes' request conforms to.+type ProjectsOccurrencesGetNotesResource =+ "v1beta1" :>+ Capture "name" Text :>+ "notes" :>+ QueryParam "$.xgafv" Xgafv :>+ QueryParam "upload_protocol" Text :>+ QueryParam "access_token" Text :>+ QueryParam "uploadType" Text :>+ QueryParam "callback" Text :>+ QueryParam "alt" AltJSON :> Get '[JSON] Note++-- | Gets the note attached to the specified occurrence. Consumer projects+-- can use this method to get a note that belongs to a provider project.+--+-- /See:/ 'projectsOccurrencesGetNotes' smart constructor.+data ProjectsOccurrencesGetNotes = ProjectsOccurrencesGetNotes'+ { _pognXgafv :: !(Maybe Xgafv)+ , _pognUploadProtocol :: !(Maybe Text)+ , _pognAccessToken :: !(Maybe Text)+ , _pognUploadType :: !(Maybe Text)+ , _pognName :: !Text+ , _pognCallback :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsOccurrencesGetNotes' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pognXgafv'+--+-- * 'pognUploadProtocol'+--+-- * 'pognAccessToken'+--+-- * 'pognUploadType'+--+-- * 'pognName'+--+-- * 'pognCallback'+projectsOccurrencesGetNotes+ :: Text -- ^ 'pognName'+ -> ProjectsOccurrencesGetNotes+projectsOccurrencesGetNotes pPognName_ =+ ProjectsOccurrencesGetNotes'+ { _pognXgafv = Nothing+ , _pognUploadProtocol = Nothing+ , _pognAccessToken = Nothing+ , _pognUploadType = Nothing+ , _pognName = pPognName_+ , _pognCallback = Nothing+ }++-- | V1 error format.+pognXgafv :: Lens' ProjectsOccurrencesGetNotes (Maybe Xgafv)+pognXgafv+ = lens _pognXgafv (\ s a -> s{_pognXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+pognUploadProtocol :: Lens' ProjectsOccurrencesGetNotes (Maybe Text)+pognUploadProtocol+ = lens _pognUploadProtocol+ (\ s a -> s{_pognUploadProtocol = a})++-- | OAuth access token.+pognAccessToken :: Lens' ProjectsOccurrencesGetNotes (Maybe Text)+pognAccessToken+ = lens _pognAccessToken+ (\ s a -> s{_pognAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+pognUploadType :: Lens' ProjectsOccurrencesGetNotes (Maybe Text)+pognUploadType+ = lens _pognUploadType+ (\ s a -> s{_pognUploadType = a})++-- | The name of the occurrence in the form of+-- \`projects\/[PROJECT_ID]\/occurrences\/[OCCURRENCE_ID]\`.+pognName :: Lens' ProjectsOccurrencesGetNotes Text+pognName = lens _pognName (\ s a -> s{_pognName = a})++-- | JSONP+pognCallback :: Lens' ProjectsOccurrencesGetNotes (Maybe Text)+pognCallback+ = lens _pognCallback (\ s a -> s{_pognCallback = a})++instance GoogleRequest ProjectsOccurrencesGetNotes+ where+ type Rs ProjectsOccurrencesGetNotes = Note+ type Scopes ProjectsOccurrencesGetNotes =+ '["https://www.googleapis.com/auth/cloud-platform"]+ requestClient ProjectsOccurrencesGetNotes'{..}+ = go _pognName _pognXgafv _pognUploadProtocol+ _pognAccessToken+ _pognUploadType+ _pognCallback+ (Just AltJSON)+ containerAnalysisService+ where go+ = buildClient+ (Proxy :: Proxy ProjectsOccurrencesGetNotesResource)+ mempty
+ gen/Network/Google/Resource/ContainerAnalysis/Projects/Occurrences/GetVulnerabilitySummary.hs view
@@ -0,0 +1,169 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.ContainerAnalysis.Projects.Occurrences.GetVulnerabilitySummary+-- Copyright : (c) 2015-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets a summary of the number and severity of occurrences.+--+-- /See:/ <https://cloud.google.com/container-analysis/api/reference/rest/ Container Analysis API Reference> for @containeranalysis.projects.occurrences.getVulnerabilitySummary@.+module Network.Google.Resource.ContainerAnalysis.Projects.Occurrences.GetVulnerabilitySummary+ (+ -- * REST Resource+ ProjectsOccurrencesGetVulnerabilitySummaryResource++ -- * Creating a Request+ , projectsOccurrencesGetVulnerabilitySummary+ , ProjectsOccurrencesGetVulnerabilitySummary++ -- * Request Lenses+ , pogvsParent+ , pogvsXgafv+ , pogvsUploadProtocol+ , pogvsAccessToken+ , pogvsUploadType+ , pogvsFilter+ , pogvsCallback+ ) where++import Network.Google.ContainerAnalysis.Types+import Network.Google.Prelude++-- | A resource alias for @containeranalysis.projects.occurrences.getVulnerabilitySummary@ method which the+-- 'ProjectsOccurrencesGetVulnerabilitySummary' request conforms to.+type ProjectsOccurrencesGetVulnerabilitySummaryResource+ =+ "v1beta1" :>+ Capture "parent" Text :>+ "occurrences:vulnerabilitySummary" :>+ QueryParam "$.xgafv" Xgafv :>+ QueryParam "upload_protocol" Text :>+ QueryParam "access_token" Text :>+ QueryParam "uploadType" Text :>+ QueryParam "filter" Text :>+ QueryParam "callback" Text :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] VulnerabilityOccurrencesSummary++-- | Gets a summary of the number and severity of occurrences.+--+-- /See:/ 'projectsOccurrencesGetVulnerabilitySummary' smart constructor.+data ProjectsOccurrencesGetVulnerabilitySummary = ProjectsOccurrencesGetVulnerabilitySummary'+ { _pogvsParent :: !Text+ , _pogvsXgafv :: !(Maybe Xgafv)+ , _pogvsUploadProtocol :: !(Maybe Text)+ , _pogvsAccessToken :: !(Maybe Text)+ , _pogvsUploadType :: !(Maybe Text)+ , _pogvsFilter :: !(Maybe Text)+ , _pogvsCallback :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsOccurrencesGetVulnerabilitySummary' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pogvsParent'+--+-- * 'pogvsXgafv'+--+-- * 'pogvsUploadProtocol'+--+-- * 'pogvsAccessToken'+--+-- * 'pogvsUploadType'+--+-- * 'pogvsFilter'+--+-- * 'pogvsCallback'+projectsOccurrencesGetVulnerabilitySummary+ :: Text -- ^ 'pogvsParent'+ -> ProjectsOccurrencesGetVulnerabilitySummary+projectsOccurrencesGetVulnerabilitySummary pPogvsParent_ =+ ProjectsOccurrencesGetVulnerabilitySummary'+ { _pogvsParent = pPogvsParent_+ , _pogvsXgafv = Nothing+ , _pogvsUploadProtocol = Nothing+ , _pogvsAccessToken = Nothing+ , _pogvsUploadType = Nothing+ , _pogvsFilter = Nothing+ , _pogvsCallback = Nothing+ }++-- | The name of the project to get a vulnerability summary for in the form+-- of \`projects\/[PROJECT_ID]\`.+pogvsParent :: Lens' ProjectsOccurrencesGetVulnerabilitySummary Text+pogvsParent+ = lens _pogvsParent (\ s a -> s{_pogvsParent = a})++-- | V1 error format.+pogvsXgafv :: Lens' ProjectsOccurrencesGetVulnerabilitySummary (Maybe Xgafv)+pogvsXgafv+ = lens _pogvsXgafv (\ s a -> s{_pogvsXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+pogvsUploadProtocol :: Lens' ProjectsOccurrencesGetVulnerabilitySummary (Maybe Text)+pogvsUploadProtocol+ = lens _pogvsUploadProtocol+ (\ s a -> s{_pogvsUploadProtocol = a})++-- | OAuth access token.+pogvsAccessToken :: Lens' ProjectsOccurrencesGetVulnerabilitySummary (Maybe Text)+pogvsAccessToken+ = lens _pogvsAccessToken+ (\ s a -> s{_pogvsAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+pogvsUploadType :: Lens' ProjectsOccurrencesGetVulnerabilitySummary (Maybe Text)+pogvsUploadType+ = lens _pogvsUploadType+ (\ s a -> s{_pogvsUploadType = a})++-- | The filter expression.+pogvsFilter :: Lens' ProjectsOccurrencesGetVulnerabilitySummary (Maybe Text)+pogvsFilter+ = lens _pogvsFilter (\ s a -> s{_pogvsFilter = a})++-- | JSONP+pogvsCallback :: Lens' ProjectsOccurrencesGetVulnerabilitySummary (Maybe Text)+pogvsCallback+ = lens _pogvsCallback+ (\ s a -> s{_pogvsCallback = a})++instance GoogleRequest+ ProjectsOccurrencesGetVulnerabilitySummary where+ type Rs ProjectsOccurrencesGetVulnerabilitySummary =+ VulnerabilityOccurrencesSummary+ type Scopes+ ProjectsOccurrencesGetVulnerabilitySummary+ = '["https://www.googleapis.com/auth/cloud-platform"]+ requestClient+ ProjectsOccurrencesGetVulnerabilitySummary'{..}+ = go _pogvsParent _pogvsXgafv _pogvsUploadProtocol+ _pogvsAccessToken+ _pogvsUploadType+ _pogvsFilter+ _pogvsCallback+ (Just AltJSON)+ containerAnalysisService+ where go+ = buildClient+ (Proxy ::+ Proxy+ ProjectsOccurrencesGetVulnerabilitySummaryResource)+ mempty
+ gen/Network/Google/Resource/ContainerAnalysis/Projects/Occurrences/List.hs view
@@ -0,0 +1,187 @@+{-# 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.ContainerAnalysis.Projects.Occurrences.List+-- Copyright : (c) 2015-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists occurrences for the specified project.+--+-- /See:/ <https://cloud.google.com/container-analysis/api/reference/rest/ Container Analysis API Reference> for @containeranalysis.projects.occurrences.list@.+module Network.Google.Resource.ContainerAnalysis.Projects.Occurrences.List+ (+ -- * REST Resource+ ProjectsOccurrencesListResource++ -- * Creating a Request+ , projectsOccurrencesList+ , ProjectsOccurrencesList++ -- * Request Lenses+ , polParent+ , polXgafv+ , polUploadProtocol+ , polAccessToken+ , polUploadType+ , polFilter+ , polPageToken+ , polPageSize+ , polCallback+ ) where++import Network.Google.ContainerAnalysis.Types+import Network.Google.Prelude++-- | A resource alias for @containeranalysis.projects.occurrences.list@ method which the+-- 'ProjectsOccurrencesList' request conforms to.+type ProjectsOccurrencesListResource =+ "v1beta1" :>+ Capture "parent" Text :>+ "occurrences" :>+ QueryParam "$.xgafv" Xgafv :>+ QueryParam "upload_protocol" Text :>+ QueryParam "access_token" Text :>+ QueryParam "uploadType" Text :>+ QueryParam "filter" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "pageSize" (Textual Int32) :>+ QueryParam "callback" Text :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] ListOccurrencesResponse++-- | Lists occurrences for the specified project.+--+-- /See:/ 'projectsOccurrencesList' smart constructor.+data ProjectsOccurrencesList = ProjectsOccurrencesList'+ { _polParent :: !Text+ , _polXgafv :: !(Maybe Xgafv)+ , _polUploadProtocol :: !(Maybe Text)+ , _polAccessToken :: !(Maybe Text)+ , _polUploadType :: !(Maybe Text)+ , _polFilter :: !(Maybe Text)+ , _polPageToken :: !(Maybe Text)+ , _polPageSize :: !(Maybe (Textual Int32))+ , _polCallback :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsOccurrencesList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'polParent'+--+-- * 'polXgafv'+--+-- * 'polUploadProtocol'+--+-- * 'polAccessToken'+--+-- * 'polUploadType'+--+-- * 'polFilter'+--+-- * 'polPageToken'+--+-- * 'polPageSize'+--+-- * 'polCallback'+projectsOccurrencesList+ :: Text -- ^ 'polParent'+ -> ProjectsOccurrencesList+projectsOccurrencesList pPolParent_ =+ ProjectsOccurrencesList'+ { _polParent = pPolParent_+ , _polXgafv = Nothing+ , _polUploadProtocol = Nothing+ , _polAccessToken = Nothing+ , _polUploadType = Nothing+ , _polFilter = Nothing+ , _polPageToken = Nothing+ , _polPageSize = Nothing+ , _polCallback = Nothing+ }++-- | The name of the project to list occurrences for in the form of+-- \`projects\/[PROJECT_ID]\`.+polParent :: Lens' ProjectsOccurrencesList Text+polParent+ = lens _polParent (\ s a -> s{_polParent = a})++-- | V1 error format.+polXgafv :: Lens' ProjectsOccurrencesList (Maybe Xgafv)+polXgafv = lens _polXgafv (\ s a -> s{_polXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+polUploadProtocol :: Lens' ProjectsOccurrencesList (Maybe Text)+polUploadProtocol+ = lens _polUploadProtocol+ (\ s a -> s{_polUploadProtocol = a})++-- | OAuth access token.+polAccessToken :: Lens' ProjectsOccurrencesList (Maybe Text)+polAccessToken+ = lens _polAccessToken+ (\ s a -> s{_polAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+polUploadType :: Lens' ProjectsOccurrencesList (Maybe Text)+polUploadType+ = lens _polUploadType+ (\ s a -> s{_polUploadType = a})++-- | The filter expression.+polFilter :: Lens' ProjectsOccurrencesList (Maybe Text)+polFilter+ = lens _polFilter (\ s a -> s{_polFilter = a})++-- | Token to provide to skip to a particular spot in the list.+polPageToken :: Lens' ProjectsOccurrencesList (Maybe Text)+polPageToken+ = lens _polPageToken (\ s a -> s{_polPageToken = a})++-- | Number of occurrences to return in the list. Must be positive. Max+-- allowed page size is 1000. If not specified, page size defaults to 20.+polPageSize :: Lens' ProjectsOccurrencesList (Maybe Int32)+polPageSize+ = lens _polPageSize (\ s a -> s{_polPageSize = a}) .+ mapping _Coerce++-- | JSONP+polCallback :: Lens' ProjectsOccurrencesList (Maybe Text)+polCallback+ = lens _polCallback (\ s a -> s{_polCallback = a})++instance GoogleRequest ProjectsOccurrencesList where+ type Rs ProjectsOccurrencesList =+ ListOccurrencesResponse+ type Scopes ProjectsOccurrencesList =+ '["https://www.googleapis.com/auth/cloud-platform"]+ requestClient ProjectsOccurrencesList'{..}+ = go _polParent _polXgafv _polUploadProtocol+ _polAccessToken+ _polUploadType+ _polFilter+ _polPageToken+ _polPageSize+ _polCallback+ (Just AltJSON)+ containerAnalysisService+ where go+ = buildClient+ (Proxy :: Proxy ProjectsOccurrencesListResource)+ mempty
+ gen/Network/Google/Resource/ContainerAnalysis/Projects/Occurrences/Patch.hs view
@@ -0,0 +1,172 @@+{-# 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.ContainerAnalysis.Projects.Occurrences.Patch+-- Copyright : (c) 2015-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates the specified occurrence.+--+-- /See:/ <https://cloud.google.com/container-analysis/api/reference/rest/ Container Analysis API Reference> for @containeranalysis.projects.occurrences.patch@.+module Network.Google.Resource.ContainerAnalysis.Projects.Occurrences.Patch+ (+ -- * REST Resource+ ProjectsOccurrencesPatchResource++ -- * Creating a Request+ , projectsOccurrencesPatch+ , ProjectsOccurrencesPatch++ -- * Request Lenses+ , popXgafv+ , popUploadProtocol+ , popUpdateMask+ , popAccessToken+ , popUploadType+ , popPayload+ , popName+ , popCallback+ ) where++import Network.Google.ContainerAnalysis.Types+import Network.Google.Prelude++-- | A resource alias for @containeranalysis.projects.occurrences.patch@ method which the+-- 'ProjectsOccurrencesPatch' request conforms to.+type ProjectsOccurrencesPatchResource =+ "v1beta1" :>+ Capture "name" Text :>+ QueryParam "$.xgafv" Xgafv :>+ QueryParam "upload_protocol" Text :>+ QueryParam "updateMask" GFieldMask :>+ QueryParam "access_token" Text :>+ QueryParam "uploadType" Text :>+ QueryParam "callback" Text :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] Occurrence :>+ Patch '[JSON] Occurrence++-- | Updates the specified occurrence.+--+-- /See:/ 'projectsOccurrencesPatch' smart constructor.+data ProjectsOccurrencesPatch = ProjectsOccurrencesPatch'+ { _popXgafv :: !(Maybe Xgafv)+ , _popUploadProtocol :: !(Maybe Text)+ , _popUpdateMask :: !(Maybe GFieldMask)+ , _popAccessToken :: !(Maybe Text)+ , _popUploadType :: !(Maybe Text)+ , _popPayload :: !Occurrence+ , _popName :: !Text+ , _popCallback :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsOccurrencesPatch' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'popXgafv'+--+-- * 'popUploadProtocol'+--+-- * 'popUpdateMask'+--+-- * 'popAccessToken'+--+-- * 'popUploadType'+--+-- * 'popPayload'+--+-- * 'popName'+--+-- * 'popCallback'+projectsOccurrencesPatch+ :: Occurrence -- ^ 'popPayload'+ -> Text -- ^ 'popName'+ -> ProjectsOccurrencesPatch+projectsOccurrencesPatch pPopPayload_ pPopName_ =+ ProjectsOccurrencesPatch'+ { _popXgafv = Nothing+ , _popUploadProtocol = Nothing+ , _popUpdateMask = Nothing+ , _popAccessToken = Nothing+ , _popUploadType = Nothing+ , _popPayload = pPopPayload_+ , _popName = pPopName_+ , _popCallback = Nothing+ }++-- | V1 error format.+popXgafv :: Lens' ProjectsOccurrencesPatch (Maybe Xgafv)+popXgafv = lens _popXgafv (\ s a -> s{_popXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+popUploadProtocol :: Lens' ProjectsOccurrencesPatch (Maybe Text)+popUploadProtocol+ = lens _popUploadProtocol+ (\ s a -> s{_popUploadProtocol = a})++-- | The fields to update.+popUpdateMask :: Lens' ProjectsOccurrencesPatch (Maybe GFieldMask)+popUpdateMask+ = lens _popUpdateMask+ (\ s a -> s{_popUpdateMask = a})++-- | OAuth access token.+popAccessToken :: Lens' ProjectsOccurrencesPatch (Maybe Text)+popAccessToken+ = lens _popAccessToken+ (\ s a -> s{_popAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+popUploadType :: Lens' ProjectsOccurrencesPatch (Maybe Text)+popUploadType+ = lens _popUploadType+ (\ s a -> s{_popUploadType = a})++-- | Multipart request metadata.+popPayload :: Lens' ProjectsOccurrencesPatch Occurrence+popPayload+ = lens _popPayload (\ s a -> s{_popPayload = a})++-- | The name of the occurrence in the form of+-- \`projects\/[PROJECT_ID]\/occurrences\/[OCCURRENCE_ID]\`.+popName :: Lens' ProjectsOccurrencesPatch Text+popName = lens _popName (\ s a -> s{_popName = a})++-- | JSONP+popCallback :: Lens' ProjectsOccurrencesPatch (Maybe Text)+popCallback+ = lens _popCallback (\ s a -> s{_popCallback = a})++instance GoogleRequest ProjectsOccurrencesPatch where+ type Rs ProjectsOccurrencesPatch = Occurrence+ type Scopes ProjectsOccurrencesPatch =+ '["https://www.googleapis.com/auth/cloud-platform"]+ requestClient ProjectsOccurrencesPatch'{..}+ = go _popName _popXgafv _popUploadProtocol+ _popUpdateMask+ _popAccessToken+ _popUploadType+ _popCallback+ (Just AltJSON)+ _popPayload+ containerAnalysisService+ where go+ = buildClient+ (Proxy :: Proxy ProjectsOccurrencesPatchResource)+ mempty
+ gen/Network/Google/Resource/ContainerAnalysis/Projects/Occurrences/SetIAMPolicy.hs view
@@ -0,0 +1,177 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.ContainerAnalysis.Projects.Occurrences.SetIAMPolicy+-- Copyright : (c) 2015-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Sets the access control policy on the specified note or occurrence.+-- Requires \`containeranalysis.notes.setIamPolicy\` or+-- \`containeranalysis.occurrences.setIamPolicy\` permission if the+-- resource is a note or an occurrence, respectively. The resource takes+-- the format \`projects\/[PROJECT_ID]\/notes\/[NOTE_ID]\` for notes and+-- \`projects\/[PROJECT_ID]\/occurrences\/[OCCURRENCE_ID]\` for+-- occurrences.+--+-- /See:/ <https://cloud.google.com/container-analysis/api/reference/rest/ Container Analysis API Reference> for @containeranalysis.projects.occurrences.setIamPolicy@.+module Network.Google.Resource.ContainerAnalysis.Projects.Occurrences.SetIAMPolicy+ (+ -- * REST Resource+ ProjectsOccurrencesSetIAMPolicyResource++ -- * Creating a Request+ , projectsOccurrencesSetIAMPolicy+ , ProjectsOccurrencesSetIAMPolicy++ -- * Request Lenses+ , posipXgafv+ , posipUploadProtocol+ , posipAccessToken+ , posipUploadType+ , posipPayload+ , posipResource+ , posipCallback+ ) where++import Network.Google.ContainerAnalysis.Types+import Network.Google.Prelude++-- | A resource alias for @containeranalysis.projects.occurrences.setIamPolicy@ method which the+-- 'ProjectsOccurrencesSetIAMPolicy' request conforms to.+type ProjectsOccurrencesSetIAMPolicyResource =+ "v1beta1" :>+ CaptureMode "resource" "setIamPolicy" Text :>+ QueryParam "$.xgafv" Xgafv :>+ QueryParam "upload_protocol" Text :>+ QueryParam "access_token" Text :>+ QueryParam "uploadType" Text :>+ QueryParam "callback" Text :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] SetIAMPolicyRequest :>+ Post '[JSON] Policy++-- | Sets the access control policy on the specified note or occurrence.+-- Requires \`containeranalysis.notes.setIamPolicy\` or+-- \`containeranalysis.occurrences.setIamPolicy\` permission if the+-- resource is a note or an occurrence, respectively. The resource takes+-- the format \`projects\/[PROJECT_ID]\/notes\/[NOTE_ID]\` for notes and+-- \`projects\/[PROJECT_ID]\/occurrences\/[OCCURRENCE_ID]\` for+-- occurrences.+--+-- /See:/ 'projectsOccurrencesSetIAMPolicy' smart constructor.+data ProjectsOccurrencesSetIAMPolicy = ProjectsOccurrencesSetIAMPolicy'+ { _posipXgafv :: !(Maybe Xgafv)+ , _posipUploadProtocol :: !(Maybe Text)+ , _posipAccessToken :: !(Maybe Text)+ , _posipUploadType :: !(Maybe Text)+ , _posipPayload :: !SetIAMPolicyRequest+ , _posipResource :: !Text+ , _posipCallback :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsOccurrencesSetIAMPolicy' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'posipXgafv'+--+-- * 'posipUploadProtocol'+--+-- * 'posipAccessToken'+--+-- * 'posipUploadType'+--+-- * 'posipPayload'+--+-- * 'posipResource'+--+-- * 'posipCallback'+projectsOccurrencesSetIAMPolicy+ :: SetIAMPolicyRequest -- ^ 'posipPayload'+ -> Text -- ^ 'posipResource'+ -> ProjectsOccurrencesSetIAMPolicy+projectsOccurrencesSetIAMPolicy pPosipPayload_ pPosipResource_ =+ ProjectsOccurrencesSetIAMPolicy'+ { _posipXgafv = Nothing+ , _posipUploadProtocol = Nothing+ , _posipAccessToken = Nothing+ , _posipUploadType = Nothing+ , _posipPayload = pPosipPayload_+ , _posipResource = pPosipResource_+ , _posipCallback = Nothing+ }++-- | V1 error format.+posipXgafv :: Lens' ProjectsOccurrencesSetIAMPolicy (Maybe Xgafv)+posipXgafv+ = lens _posipXgafv (\ s a -> s{_posipXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+posipUploadProtocol :: Lens' ProjectsOccurrencesSetIAMPolicy (Maybe Text)+posipUploadProtocol+ = lens _posipUploadProtocol+ (\ s a -> s{_posipUploadProtocol = a})++-- | OAuth access token.+posipAccessToken :: Lens' ProjectsOccurrencesSetIAMPolicy (Maybe Text)+posipAccessToken+ = lens _posipAccessToken+ (\ s a -> s{_posipAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+posipUploadType :: Lens' ProjectsOccurrencesSetIAMPolicy (Maybe Text)+posipUploadType+ = lens _posipUploadType+ (\ s a -> s{_posipUploadType = a})++-- | Multipart request metadata.+posipPayload :: Lens' ProjectsOccurrencesSetIAMPolicy SetIAMPolicyRequest+posipPayload+ = lens _posipPayload (\ s a -> s{_posipPayload = a})++-- | REQUIRED: The resource for which the policy is being specified. See the+-- operation documentation for the appropriate value for this field.+posipResource :: Lens' ProjectsOccurrencesSetIAMPolicy Text+posipResource+ = lens _posipResource+ (\ s a -> s{_posipResource = a})++-- | JSONP+posipCallback :: Lens' ProjectsOccurrencesSetIAMPolicy (Maybe Text)+posipCallback+ = lens _posipCallback+ (\ s a -> s{_posipCallback = a})++instance GoogleRequest+ ProjectsOccurrencesSetIAMPolicy where+ type Rs ProjectsOccurrencesSetIAMPolicy = Policy+ type Scopes ProjectsOccurrencesSetIAMPolicy =+ '["https://www.googleapis.com/auth/cloud-platform"]+ requestClient ProjectsOccurrencesSetIAMPolicy'{..}+ = go _posipResource _posipXgafv _posipUploadProtocol+ _posipAccessToken+ _posipUploadType+ _posipCallback+ (Just AltJSON)+ _posipPayload+ containerAnalysisService+ where go+ = buildClient+ (Proxy ::+ Proxy ProjectsOccurrencesSetIAMPolicyResource)+ mempty
+ gen/Network/Google/Resource/ContainerAnalysis/Projects/Occurrences/TestIAMPermissions.hs view
@@ -0,0 +1,178 @@+{-# 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.ContainerAnalysis.Projects.Occurrences.TestIAMPermissions+-- Copyright : (c) 2015-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns the permissions that a caller has on the specified note or+-- occurrence. Requires list permission on the project (for example,+-- \`containeranalysis.notes.list\`). The resource takes the format+-- \`projects\/[PROJECT_ID]\/notes\/[NOTE_ID]\` for notes and+-- \`projects\/[PROJECT_ID]\/occurrences\/[OCCURRENCE_ID]\` for+-- occurrences.+--+-- /See:/ <https://cloud.google.com/container-analysis/api/reference/rest/ Container Analysis API Reference> for @containeranalysis.projects.occurrences.testIamPermissions@.+module Network.Google.Resource.ContainerAnalysis.Projects.Occurrences.TestIAMPermissions+ (+ -- * REST Resource+ ProjectsOccurrencesTestIAMPermissionsResource++ -- * Creating a Request+ , projectsOccurrencesTestIAMPermissions+ , ProjectsOccurrencesTestIAMPermissions++ -- * Request Lenses+ , potipXgafv+ , potipUploadProtocol+ , potipAccessToken+ , potipUploadType+ , potipPayload+ , potipResource+ , potipCallback+ ) where++import Network.Google.ContainerAnalysis.Types+import Network.Google.Prelude++-- | A resource alias for @containeranalysis.projects.occurrences.testIamPermissions@ method which the+-- 'ProjectsOccurrencesTestIAMPermissions' request conforms to.+type ProjectsOccurrencesTestIAMPermissionsResource =+ "v1beta1" :>+ CaptureMode "resource" "testIamPermissions" Text :>+ QueryParam "$.xgafv" Xgafv :>+ QueryParam "upload_protocol" Text :>+ QueryParam "access_token" Text :>+ QueryParam "uploadType" Text :>+ QueryParam "callback" Text :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] TestIAMPermissionsRequest :>+ Post '[JSON] TestIAMPermissionsResponse++-- | Returns the permissions that a caller has on the specified note or+-- occurrence. Requires list permission on the project (for example,+-- \`containeranalysis.notes.list\`). The resource takes the format+-- \`projects\/[PROJECT_ID]\/notes\/[NOTE_ID]\` for notes and+-- \`projects\/[PROJECT_ID]\/occurrences\/[OCCURRENCE_ID]\` for+-- occurrences.+--+-- /See:/ 'projectsOccurrencesTestIAMPermissions' smart constructor.+data ProjectsOccurrencesTestIAMPermissions = ProjectsOccurrencesTestIAMPermissions'+ { _potipXgafv :: !(Maybe Xgafv)+ , _potipUploadProtocol :: !(Maybe Text)+ , _potipAccessToken :: !(Maybe Text)+ , _potipUploadType :: !(Maybe Text)+ , _potipPayload :: !TestIAMPermissionsRequest+ , _potipResource :: !Text+ , _potipCallback :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsOccurrencesTestIAMPermissions' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'potipXgafv'+--+-- * 'potipUploadProtocol'+--+-- * 'potipAccessToken'+--+-- * 'potipUploadType'+--+-- * 'potipPayload'+--+-- * 'potipResource'+--+-- * 'potipCallback'+projectsOccurrencesTestIAMPermissions+ :: TestIAMPermissionsRequest -- ^ 'potipPayload'+ -> Text -- ^ 'potipResource'+ -> ProjectsOccurrencesTestIAMPermissions+projectsOccurrencesTestIAMPermissions pPotipPayload_ pPotipResource_ =+ ProjectsOccurrencesTestIAMPermissions'+ { _potipXgafv = Nothing+ , _potipUploadProtocol = Nothing+ , _potipAccessToken = Nothing+ , _potipUploadType = Nothing+ , _potipPayload = pPotipPayload_+ , _potipResource = pPotipResource_+ , _potipCallback = Nothing+ }++-- | V1 error format.+potipXgafv :: Lens' ProjectsOccurrencesTestIAMPermissions (Maybe Xgafv)+potipXgafv+ = lens _potipXgafv (\ s a -> s{_potipXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+potipUploadProtocol :: Lens' ProjectsOccurrencesTestIAMPermissions (Maybe Text)+potipUploadProtocol+ = lens _potipUploadProtocol+ (\ s a -> s{_potipUploadProtocol = a})++-- | OAuth access token.+potipAccessToken :: Lens' ProjectsOccurrencesTestIAMPermissions (Maybe Text)+potipAccessToken+ = lens _potipAccessToken+ (\ s a -> s{_potipAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+potipUploadType :: Lens' ProjectsOccurrencesTestIAMPermissions (Maybe Text)+potipUploadType+ = lens _potipUploadType+ (\ s a -> s{_potipUploadType = a})++-- | Multipart request metadata.+potipPayload :: Lens' ProjectsOccurrencesTestIAMPermissions TestIAMPermissionsRequest+potipPayload+ = lens _potipPayload (\ s a -> s{_potipPayload = a})++-- | REQUIRED: The resource for which the policy detail is being requested.+-- See the operation documentation for the appropriate value for this+-- field.+potipResource :: Lens' ProjectsOccurrencesTestIAMPermissions Text+potipResource+ = lens _potipResource+ (\ s a -> s{_potipResource = a})++-- | JSONP+potipCallback :: Lens' ProjectsOccurrencesTestIAMPermissions (Maybe Text)+potipCallback+ = lens _potipCallback+ (\ s a -> s{_potipCallback = a})++instance GoogleRequest+ ProjectsOccurrencesTestIAMPermissions where+ type Rs ProjectsOccurrencesTestIAMPermissions =+ TestIAMPermissionsResponse+ type Scopes ProjectsOccurrencesTestIAMPermissions =+ '["https://www.googleapis.com/auth/cloud-platform"]+ requestClient+ ProjectsOccurrencesTestIAMPermissions'{..}+ = go _potipResource _potipXgafv _potipUploadProtocol+ _potipAccessToken+ _potipUploadType+ _potipCallback+ (Just AltJSON)+ _potipPayload+ containerAnalysisService+ where go+ = buildClient+ (Proxy ::+ Proxy ProjectsOccurrencesTestIAMPermissionsResource)+ mempty
+ gen/Network/Google/Resource/ContainerAnalysis/Projects/ScanConfigs/Get.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.ContainerAnalysis.Projects.ScanConfigs.Get+-- Copyright : (c) 2015-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets the specified scan configuration.+--+-- /See:/ <https://cloud.google.com/container-analysis/api/reference/rest/ Container Analysis API Reference> for @containeranalysis.projects.scanConfigs.get@.+module Network.Google.Resource.ContainerAnalysis.Projects.ScanConfigs.Get+ (+ -- * REST Resource+ ProjectsScanConfigsGetResource++ -- * Creating a Request+ , projectsScanConfigsGet+ , ProjectsScanConfigsGet++ -- * Request Lenses+ , pscgXgafv+ , pscgUploadProtocol+ , pscgAccessToken+ , pscgUploadType+ , pscgName+ , pscgCallback+ ) where++import Network.Google.ContainerAnalysis.Types+import Network.Google.Prelude++-- | A resource alias for @containeranalysis.projects.scanConfigs.get@ method which the+-- 'ProjectsScanConfigsGet' request conforms to.+type ProjectsScanConfigsGetResource =+ "v1beta1" :>+ Capture "name" Text :>+ QueryParam "$.xgafv" Xgafv :>+ QueryParam "upload_protocol" Text :>+ QueryParam "access_token" Text :>+ QueryParam "uploadType" Text :>+ QueryParam "callback" Text :>+ QueryParam "alt" AltJSON :> Get '[JSON] ScanConfig++-- | Gets the specified scan configuration.+--+-- /See:/ 'projectsScanConfigsGet' smart constructor.+data ProjectsScanConfigsGet = ProjectsScanConfigsGet'+ { _pscgXgafv :: !(Maybe Xgafv)+ , _pscgUploadProtocol :: !(Maybe Text)+ , _pscgAccessToken :: !(Maybe Text)+ , _pscgUploadType :: !(Maybe Text)+ , _pscgName :: !Text+ , _pscgCallback :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsScanConfigsGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pscgXgafv'+--+-- * 'pscgUploadProtocol'+--+-- * 'pscgAccessToken'+--+-- * 'pscgUploadType'+--+-- * 'pscgName'+--+-- * 'pscgCallback'+projectsScanConfigsGet+ :: Text -- ^ 'pscgName'+ -> ProjectsScanConfigsGet+projectsScanConfigsGet pPscgName_ =+ ProjectsScanConfigsGet'+ { _pscgXgafv = Nothing+ , _pscgUploadProtocol = Nothing+ , _pscgAccessToken = Nothing+ , _pscgUploadType = Nothing+ , _pscgName = pPscgName_+ , _pscgCallback = Nothing+ }++-- | V1 error format.+pscgXgafv :: Lens' ProjectsScanConfigsGet (Maybe Xgafv)+pscgXgafv+ = lens _pscgXgafv (\ s a -> s{_pscgXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+pscgUploadProtocol :: Lens' ProjectsScanConfigsGet (Maybe Text)+pscgUploadProtocol+ = lens _pscgUploadProtocol+ (\ s a -> s{_pscgUploadProtocol = a})++-- | OAuth access token.+pscgAccessToken :: Lens' ProjectsScanConfigsGet (Maybe Text)+pscgAccessToken+ = lens _pscgAccessToken+ (\ s a -> s{_pscgAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+pscgUploadType :: Lens' ProjectsScanConfigsGet (Maybe Text)+pscgUploadType+ = lens _pscgUploadType+ (\ s a -> s{_pscgUploadType = a})++-- | The name of the scan configuration in the form of+-- \`projects\/[PROJECT_ID]\/scanConfigs\/[SCAN_CONFIG_ID]\`.+pscgName :: Lens' ProjectsScanConfigsGet Text+pscgName = lens _pscgName (\ s a -> s{_pscgName = a})++-- | JSONP+pscgCallback :: Lens' ProjectsScanConfigsGet (Maybe Text)+pscgCallback+ = lens _pscgCallback (\ s a -> s{_pscgCallback = a})++instance GoogleRequest ProjectsScanConfigsGet where+ type Rs ProjectsScanConfigsGet = ScanConfig+ type Scopes ProjectsScanConfigsGet =+ '["https://www.googleapis.com/auth/cloud-platform"]+ requestClient ProjectsScanConfigsGet'{..}+ = go _pscgName _pscgXgafv _pscgUploadProtocol+ _pscgAccessToken+ _pscgUploadType+ _pscgCallback+ (Just AltJSON)+ containerAnalysisService+ where go+ = buildClient+ (Proxy :: Proxy ProjectsScanConfigsGetResource)+ mempty
+ gen/Network/Google/Resource/ContainerAnalysis/Projects/ScanConfigs/List.hs view
@@ -0,0 +1,188 @@+{-# 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.ContainerAnalysis.Projects.ScanConfigs.List+-- Copyright : (c) 2015-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists scan configurations for the specified project.+--+-- /See:/ <https://cloud.google.com/container-analysis/api/reference/rest/ Container Analysis API Reference> for @containeranalysis.projects.scanConfigs.list@.+module Network.Google.Resource.ContainerAnalysis.Projects.ScanConfigs.List+ (+ -- * REST Resource+ ProjectsScanConfigsListResource++ -- * Creating a Request+ , projectsScanConfigsList+ , ProjectsScanConfigsList++ -- * Request Lenses+ , psclParent+ , psclXgafv+ , psclUploadProtocol+ , psclAccessToken+ , psclUploadType+ , psclFilter+ , psclPageToken+ , psclPageSize+ , psclCallback+ ) where++import Network.Google.ContainerAnalysis.Types+import Network.Google.Prelude++-- | A resource alias for @containeranalysis.projects.scanConfigs.list@ method which the+-- 'ProjectsScanConfigsList' request conforms to.+type ProjectsScanConfigsListResource =+ "v1beta1" :>+ Capture "parent" Text :>+ "scanConfigs" :>+ QueryParam "$.xgafv" Xgafv :>+ QueryParam "upload_protocol" Text :>+ QueryParam "access_token" Text :>+ QueryParam "uploadType" Text :>+ QueryParam "filter" Text :>+ QueryParam "pageToken" Text :>+ QueryParam "pageSize" (Textual Int32) :>+ QueryParam "callback" Text :>+ QueryParam "alt" AltJSON :>+ Get '[JSON] ListScanConfigsResponse++-- | Lists scan configurations for the specified project.+--+-- /See:/ 'projectsScanConfigsList' smart constructor.+data ProjectsScanConfigsList = ProjectsScanConfigsList'+ { _psclParent :: !Text+ , _psclXgafv :: !(Maybe Xgafv)+ , _psclUploadProtocol :: !(Maybe Text)+ , _psclAccessToken :: !(Maybe Text)+ , _psclUploadType :: !(Maybe Text)+ , _psclFilter :: !(Maybe Text)+ , _psclPageToken :: !(Maybe Text)+ , _psclPageSize :: !(Maybe (Textual Int32))+ , _psclCallback :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsScanConfigsList' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'psclParent'+--+-- * 'psclXgafv'+--+-- * 'psclUploadProtocol'+--+-- * 'psclAccessToken'+--+-- * 'psclUploadType'+--+-- * 'psclFilter'+--+-- * 'psclPageToken'+--+-- * 'psclPageSize'+--+-- * 'psclCallback'+projectsScanConfigsList+ :: Text -- ^ 'psclParent'+ -> ProjectsScanConfigsList+projectsScanConfigsList pPsclParent_ =+ ProjectsScanConfigsList'+ { _psclParent = pPsclParent_+ , _psclXgafv = Nothing+ , _psclUploadProtocol = Nothing+ , _psclAccessToken = Nothing+ , _psclUploadType = Nothing+ , _psclFilter = Nothing+ , _psclPageToken = Nothing+ , _psclPageSize = Nothing+ , _psclCallback = Nothing+ }++-- | The name of the project to list scan configurations for in the form of+-- \`projects\/[PROJECT_ID]\`.+psclParent :: Lens' ProjectsScanConfigsList Text+psclParent+ = lens _psclParent (\ s a -> s{_psclParent = a})++-- | V1 error format.+psclXgafv :: Lens' ProjectsScanConfigsList (Maybe Xgafv)+psclXgafv+ = lens _psclXgafv (\ s a -> s{_psclXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+psclUploadProtocol :: Lens' ProjectsScanConfigsList (Maybe Text)+psclUploadProtocol+ = lens _psclUploadProtocol+ (\ s a -> s{_psclUploadProtocol = a})++-- | OAuth access token.+psclAccessToken :: Lens' ProjectsScanConfigsList (Maybe Text)+psclAccessToken+ = lens _psclAccessToken+ (\ s a -> s{_psclAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+psclUploadType :: Lens' ProjectsScanConfigsList (Maybe Text)+psclUploadType+ = lens _psclUploadType+ (\ s a -> s{_psclUploadType = a})++-- | The filter expression.+psclFilter :: Lens' ProjectsScanConfigsList (Maybe Text)+psclFilter+ = lens _psclFilter (\ s a -> s{_psclFilter = a})++-- | Token to provide to skip to a particular spot in the list.+psclPageToken :: Lens' ProjectsScanConfigsList (Maybe Text)+psclPageToken+ = lens _psclPageToken+ (\ s a -> s{_psclPageToken = a})++-- | The number of scan configs to return in the list.+psclPageSize :: Lens' ProjectsScanConfigsList (Maybe Int32)+psclPageSize+ = lens _psclPageSize (\ s a -> s{_psclPageSize = a})+ . mapping _Coerce++-- | JSONP+psclCallback :: Lens' ProjectsScanConfigsList (Maybe Text)+psclCallback+ = lens _psclCallback (\ s a -> s{_psclCallback = a})++instance GoogleRequest ProjectsScanConfigsList where+ type Rs ProjectsScanConfigsList =+ ListScanConfigsResponse+ type Scopes ProjectsScanConfigsList =+ '["https://www.googleapis.com/auth/cloud-platform"]+ requestClient ProjectsScanConfigsList'{..}+ = go _psclParent _psclXgafv _psclUploadProtocol+ _psclAccessToken+ _psclUploadType+ _psclFilter+ _psclPageToken+ _psclPageSize+ _psclCallback+ (Just AltJSON)+ containerAnalysisService+ where go+ = buildClient+ (Proxy :: Proxy ProjectsScanConfigsListResource)+ mempty
+ gen/Network/Google/Resource/ContainerAnalysis/Projects/ScanConfigs/Update.hs view
@@ -0,0 +1,160 @@+{-# 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.ContainerAnalysis.Projects.ScanConfigs.Update+-- Copyright : (c) 2015-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates the specified scan configuration.+--+-- /See:/ <https://cloud.google.com/container-analysis/api/reference/rest/ Container Analysis API Reference> for @containeranalysis.projects.scanConfigs.update@.+module Network.Google.Resource.ContainerAnalysis.Projects.ScanConfigs.Update+ (+ -- * REST Resource+ ProjectsScanConfigsUpdateResource++ -- * Creating a Request+ , projectsScanConfigsUpdate+ , ProjectsScanConfigsUpdate++ -- * Request Lenses+ , pscuXgafv+ , pscuUploadProtocol+ , pscuAccessToken+ , pscuUploadType+ , pscuPayload+ , pscuName+ , pscuCallback+ ) where++import Network.Google.ContainerAnalysis.Types+import Network.Google.Prelude++-- | A resource alias for @containeranalysis.projects.scanConfigs.update@ method which the+-- 'ProjectsScanConfigsUpdate' request conforms to.+type ProjectsScanConfigsUpdateResource =+ "v1beta1" :>+ Capture "name" Text :>+ QueryParam "$.xgafv" Xgafv :>+ QueryParam "upload_protocol" Text :>+ QueryParam "access_token" Text :>+ QueryParam "uploadType" Text :>+ QueryParam "callback" Text :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] ScanConfig :> Put '[JSON] ScanConfig++-- | Updates the specified scan configuration.+--+-- /See:/ 'projectsScanConfigsUpdate' smart constructor.+data ProjectsScanConfigsUpdate = ProjectsScanConfigsUpdate'+ { _pscuXgafv :: !(Maybe Xgafv)+ , _pscuUploadProtocol :: !(Maybe Text)+ , _pscuAccessToken :: !(Maybe Text)+ , _pscuUploadType :: !(Maybe Text)+ , _pscuPayload :: !ScanConfig+ , _pscuName :: !Text+ , _pscuCallback :: !(Maybe Text)+ } deriving (Eq,Show,Data,Typeable,Generic)++-- | Creates a value of 'ProjectsScanConfigsUpdate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pscuXgafv'+--+-- * 'pscuUploadProtocol'+--+-- * 'pscuAccessToken'+--+-- * 'pscuUploadType'+--+-- * 'pscuPayload'+--+-- * 'pscuName'+--+-- * 'pscuCallback'+projectsScanConfigsUpdate+ :: ScanConfig -- ^ 'pscuPayload'+ -> Text -- ^ 'pscuName'+ -> ProjectsScanConfigsUpdate+projectsScanConfigsUpdate pPscuPayload_ pPscuName_ =+ ProjectsScanConfigsUpdate'+ { _pscuXgafv = Nothing+ , _pscuUploadProtocol = Nothing+ , _pscuAccessToken = Nothing+ , _pscuUploadType = Nothing+ , _pscuPayload = pPscuPayload_+ , _pscuName = pPscuName_+ , _pscuCallback = Nothing+ }++-- | V1 error format.+pscuXgafv :: Lens' ProjectsScanConfigsUpdate (Maybe Xgafv)+pscuXgafv+ = lens _pscuXgafv (\ s a -> s{_pscuXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+pscuUploadProtocol :: Lens' ProjectsScanConfigsUpdate (Maybe Text)+pscuUploadProtocol+ = lens _pscuUploadProtocol+ (\ s a -> s{_pscuUploadProtocol = a})++-- | OAuth access token.+pscuAccessToken :: Lens' ProjectsScanConfigsUpdate (Maybe Text)+pscuAccessToken+ = lens _pscuAccessToken+ (\ s a -> s{_pscuAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+pscuUploadType :: Lens' ProjectsScanConfigsUpdate (Maybe Text)+pscuUploadType+ = lens _pscuUploadType+ (\ s a -> s{_pscuUploadType = a})++-- | Multipart request metadata.+pscuPayload :: Lens' ProjectsScanConfigsUpdate ScanConfig+pscuPayload+ = lens _pscuPayload (\ s a -> s{_pscuPayload = a})++-- | The name of the scan configuration in the form of+-- \`projects\/[PROJECT_ID]\/scanConfigs\/[SCAN_CONFIG_ID]\`.+pscuName :: Lens' ProjectsScanConfigsUpdate Text+pscuName = lens _pscuName (\ s a -> s{_pscuName = a})++-- | JSONP+pscuCallback :: Lens' ProjectsScanConfigsUpdate (Maybe Text)+pscuCallback+ = lens _pscuCallback (\ s a -> s{_pscuCallback = a})++instance GoogleRequest ProjectsScanConfigsUpdate+ where+ type Rs ProjectsScanConfigsUpdate = ScanConfig+ type Scopes ProjectsScanConfigsUpdate =+ '["https://www.googleapis.com/auth/cloud-platform"]+ requestClient ProjectsScanConfigsUpdate'{..}+ = go _pscuName _pscuXgafv _pscuUploadProtocol+ _pscuAccessToken+ _pscuUploadType+ _pscuCallback+ (Just AltJSON)+ _pscuPayload+ containerAnalysisService+ where go+ = buildClient+ (Proxy :: Proxy ProjectsScanConfigsUpdateResource)+ mempty
+ gogol-containeranalysis.cabal view
@@ -0,0 +1,70 @@+name: gogol-containeranalysis+version: 0.4.0+synopsis: Google Container Analysis 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-2016 Brendan Hay+category: Network, Google, Cloud+build-type: Simple+cabal-version: >= 1.10+extra-source-files: README.md src/.gitkeep++description:+ An implementation of the Grafeas API, which stores, and enables querying+ and retrieval of critical metadata about all of your software artifacts.+ .+ /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 @v1beta1@+ 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.ContainerAnalysis+ , Network.Google.ContainerAnalysis.Types+ , Network.Google.Resource.ContainerAnalysis.Projects.Notes.BatchCreate+ , Network.Google.Resource.ContainerAnalysis.Projects.Notes.Create+ , Network.Google.Resource.ContainerAnalysis.Projects.Notes.Delete+ , Network.Google.Resource.ContainerAnalysis.Projects.Notes.Get+ , Network.Google.Resource.ContainerAnalysis.Projects.Notes.GetIAMPolicy+ , Network.Google.Resource.ContainerAnalysis.Projects.Notes.List+ , Network.Google.Resource.ContainerAnalysis.Projects.Notes.Occurrences.List+ , Network.Google.Resource.ContainerAnalysis.Projects.Notes.Patch+ , Network.Google.Resource.ContainerAnalysis.Projects.Notes.SetIAMPolicy+ , Network.Google.Resource.ContainerAnalysis.Projects.Notes.TestIAMPermissions+ , Network.Google.Resource.ContainerAnalysis.Projects.Occurrences.BatchCreate+ , Network.Google.Resource.ContainerAnalysis.Projects.Occurrences.Create+ , Network.Google.Resource.ContainerAnalysis.Projects.Occurrences.Delete+ , Network.Google.Resource.ContainerAnalysis.Projects.Occurrences.Get+ , Network.Google.Resource.ContainerAnalysis.Projects.Occurrences.GetIAMPolicy+ , Network.Google.Resource.ContainerAnalysis.Projects.Occurrences.GetNotes+ , Network.Google.Resource.ContainerAnalysis.Projects.Occurrences.GetVulnerabilitySummary+ , Network.Google.Resource.ContainerAnalysis.Projects.Occurrences.List+ , Network.Google.Resource.ContainerAnalysis.Projects.Occurrences.Patch+ , Network.Google.Resource.ContainerAnalysis.Projects.Occurrences.SetIAMPolicy+ , Network.Google.Resource.ContainerAnalysis.Projects.Occurrences.TestIAMPermissions+ , Network.Google.Resource.ContainerAnalysis.Projects.ScanConfigs.Get+ , Network.Google.Resource.ContainerAnalysis.Projects.ScanConfigs.List+ , Network.Google.Resource.ContainerAnalysis.Projects.ScanConfigs.Update++ other-modules:+ Network.Google.ContainerAnalysis.Types.Product+ , Network.Google.ContainerAnalysis.Types.Sum++ build-depends:+ gogol-core == 0.4.0.*+ , base >= 4.7 && < 5
+ src/.gitkeep view