diff --git a/discovery/containeranalysis-v1alpha1.json b/discovery/containeranalysis-v1alpha1.json index 914bfe0c17..75fa44160f 100644 --- a/discovery/containeranalysis-v1alpha1.json +++ b/discovery/containeranalysis-v1alpha1.json @@ -1233,7 +1233,7 @@ } } }, - "revision": "20230612", + "revision": "20230707", "rootUrl": "https://containeranalysis.googleapis.com/", "schemas": { "AnalysisCompleted": { @@ -1263,6 +1263,7 @@ "type": "string" }, "name": { + "deprecated": true, "description": "Name of the artifact. 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`. This field is deprecated in favor of the plural `names` field; it continues to exist here to allow existing BuildProvenance serialized to json in google.devtools.containeranalysis.v1alpha1.BuildDetails.provenance_bytes to deserialize back into proto.", "type": "string" }, @@ -2507,6 +2508,14 @@ "CLOUD_LOGGING_ONLY", "NONE" ], + "enumDeprecated": [ + false, + false, + false, + true, + false, + false + ], "enumDescriptions": [ "The service determines the logging mode. The default is `LEGACY`. Do not rely on the default logging behavior as it may change in the future.", "Build logs are stored in Cloud Logging and Cloud Storage.", @@ -2524,14 +2533,16 @@ "N1_HIGHCPU_8", "N1_HIGHCPU_32", "E2_HIGHCPU_8", - "E2_HIGHCPU_32" + "E2_HIGHCPU_32", + "E2_MEDIUM" ], "enumDescriptions": [ "Standard machine type.", "Highcpu machine with 8 CPUs.", "Highcpu machine with 32 CPUs.", "Highcpu e2 machine with 8 CPUs.", - "Highcpu e2 machine with 32 CPUs." + "Highcpu e2 machine with 32 CPUs.", + "E2 machine with 1 CPU." ], "type": "string" }, @@ -2597,6 +2608,7 @@ "type": "array" }, "workerPool": { + "deprecated": true, "description": "This field deprecated; please use `pool.name` instead.", "type": "string" } @@ -3490,6 +3502,11 @@ "operation": { "$ref": "Operation", "description": "Output only. An operation that indicates the status of the current scan. This field is deprecated, do not use." + }, + "sbomStatus": { + "$ref": "SBOMStatus", + "description": "Output only. The status of an SBOM generation.", + "readOnly": true } }, "type": "object" @@ -5604,6 +5621,7 @@ "type": "object" }, "RepoSource": { + "deprecated": true, "description": "RepoSource describes the location of the source in a Google Cloud Source Repository.", "id": "RepoSource", "properties": { @@ -5686,6 +5704,33 @@ }, "type": "object" }, + "SBOMStatus": { + "description": "The status of an SBOM generation.", + "id": "SBOMStatus", + "properties": { + "error": { + "description": "Output only. If there was an error generating an SBOM, this will indicate what that error was.", + "readOnly": true, + "type": "string" + }, + "sbomState": { + "description": "Output only. The progress of the SBOM generation.", + "enum": [ + "SBOM_STATE_UNSPECIFIED", + "PENDING", + "COMPLETE" + ], + "enumDescriptions": [ + "Default unknown state.", + "SBOM scanning is pending.", + "SBOM scanning has completed." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "SbomReferenceIntotoPayload": { "description": "The actual payload that contains the SBOM Reference data. The payload follows the intoto statement specification. See https://github.com/in-toto/attestation/blob/main/spec/v1.0/statement.md for more details.", "id": "SbomReferenceIntotoPayload", @@ -5997,10 +6042,12 @@ }, "repoSource": { "$ref": "RepoSource", + "deprecated": true, "description": "If provided, get source from this location in a Cloud Repo." }, "storageSource": { "$ref": "StorageSource", + "deprecated": true, "description": "If provided, get the source from this location in Google Cloud Storage." } }, diff --git a/discovery/containeranalysis-v1beta1.json b/discovery/containeranalysis-v1beta1.json index 4861f2d801..56892ba2cd 100644 --- a/discovery/containeranalysis-v1beta1.json +++ b/discovery/containeranalysis-v1beta1.json @@ -754,6 +754,34 @@ }, "resources": { "methods": { + "exportSBOM": { + "description": "Generates an SBOM and other dependency information for the given resource.", + "flatPath": "v1beta1/projects/{projectsId}/resources/{resourcesId}:exportSBOM", + "httpMethod": "POST", + "id": "containeranalysis.projects.resources.exportSBOM", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the resource in the form of `projects/[PROJECT_ID]/resources/[RESOURCE_URL]`.", + "location": "path", + "pattern": "^projects/[^/]+/resources/.*$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}:exportSBOM", + "request": { + "$ref": "ExportSBOMRequest" + }, + "response": { + "$ref": "ExportSBOMResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "generatePackagesSummary": { "description": "Gets a summary of the packages within a given resource.", "flatPath": "v1beta1/projects/{projectsId}/resources/{resourcesId}:generatePackagesSummary", @@ -787,7 +815,7 @@ } } }, - "revision": "20230612", + "revision": "20230707", "rootUrl": "https://containeranalysis.googleapis.com/", "schemas": { "AliasContext": { @@ -1070,6 +1098,52 @@ }, "type": "object" }, + "BuildDefinition": { + "id": "BuildDefinition", + "properties": { + "buildType": { + "type": "string" + }, + "externalParameters": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "type": "object" + }, + "internalParameters": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "type": "object" + }, + "resolvedDependencies": { + "items": { + "$ref": "ResourceDescriptor" + }, + "type": "array" + } + }, + "type": "object" + }, + "BuildMetadata": { + "id": "BuildMetadata", + "properties": { + "finishedOn": { + "format": "google-datetime", + "type": "string" + }, + "invocationId": { + "type": "string" + }, + "startedOn": { + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, "BuildProvenance": { "description": "Provenance of a build. Contains all information needed to verify the full details about the build from source to completion.", "id": "BuildProvenance", @@ -2167,6 +2241,14 @@ "CLOUD_LOGGING_ONLY", "NONE" ], + "enumDeprecated": [ + false, + false, + false, + true, + false, + false + ], "enumDescriptions": [ "The service determines the logging mode. The default is `LEGACY`. Do not rely on the default logging behavior as it may change in the future.", "Build logs are stored in Cloud Logging and Cloud Storage.", @@ -2184,14 +2266,16 @@ "N1_HIGHCPU_8", "N1_HIGHCPU_32", "E2_HIGHCPU_8", - "E2_HIGHCPU_32" + "E2_HIGHCPU_32", + "E2_MEDIUM" ], "enumDescriptions": [ "Standard machine type.", "Highcpu machine with 8 CPUs.", "Highcpu machine with 32 CPUs.", "Highcpu e2 machine with 8 CPUs.", - "Highcpu e2 machine with 32 CPUs." + "Highcpu e2 machine with 32 CPUs.", + "E2 machine with 1 CPU." ], "type": "string" }, @@ -2257,6 +2341,7 @@ "type": "array" }, "workerPool": { + "deprecated": true, "description": "This field deprecated; please use `pool.name` instead.", "type": "string" } @@ -3101,6 +3186,10 @@ "description": "The last time continuous analysis was done for this resource. Deprecated, do not use.", "format": "google-datetime", "type": "string" + }, + "sbomStatus": { + "$ref": "SBOMStatus", + "description": "The status of an SBOM generation." } }, "type": "object" @@ -3308,6 +3397,23 @@ }, "type": "object" }, + "ExportSBOMRequest": { + "description": "The request to a call of ExportSBOM", + "id": "ExportSBOMRequest", + "properties": {}, + "type": "object" + }, + "ExportSBOMResponse": { + "description": "The response from a call to ExportSBOM", + "id": "ExportSBOMResponse", + "properties": { + "discoveryOccurrenceId": { + "description": "The name of the discovery occurrence in the form \"projects/{project_id}/occurrences/{OCCURRENCE_ID} It can be used to track the progression of the SBOM export.", + "type": "string" + } + }, + "type": "object" + }, "Expr": { "description": "Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: \"Summary size limit\" description: \"Determines if a summary is less than 100 chars\" expression: \"document.summary.size() < 100\" Example (Equality): title: \"Requestor is owner\" description: \"Determines if requestor is the document owner\" expression: \"document.owner == request.auth.claims.email\" Example (Logic): title: \"Public documents\" description: \"Determine whether the document should be publicly visible\" expression: \"document.type != 'private' && document.type != 'internal'\" Example (Data Manipulation): title: \"Notification string\" description: \"Create a notification string with a timestamp.\" expression: \"'New message received at ' + string(document.create_time)\" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.", "id": "Expr", @@ -3662,6 +3768,9 @@ "description": "Details of a build occurrence.", "id": "GrafeasV1beta1BuildDetails", "properties": { + "inTotoSlsaProvenanceV1": { + "$ref": "InTotoSlsaProvenanceV1" + }, "provenance": { "$ref": "BuildProvenance", "description": "Required. The actual provenance for the build." @@ -3943,6 +4052,28 @@ }, "type": "object" }, + "InTotoSlsaProvenanceV1": { + "id": "InTotoSlsaProvenanceV1", + "properties": { + "_type": { + "description": "InToto spec defined at https://github.com/in-toto/attestation/tree/main/spec#statement", + "type": "string" + }, + "predicate": { + "$ref": "SlsaProvenanceV1" + }, + "predicateType": { + "type": "string" + }, + "subject": { + "items": { + "$ref": "Subject" + }, + "type": "array" + } + }, + "type": "object" + }, "Installation": { "description": "This represents how a particular software package may be installed on a system.", "id": "Installation", @@ -4852,6 +4983,27 @@ }, "type": "object" }, + "ProvenanceBuilder": { + "id": "ProvenanceBuilder", + "properties": { + "builderDependencies": { + "items": { + "$ref": "ResourceDescriptor" + }, + "type": "array" + }, + "id": { + "type": "string" + }, + "version": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + } + }, + "type": "object" + }, "Publisher": { "description": "Publisher contains information about the publisher of this Note.", "id": "Publisher", @@ -5161,9 +5313,11 @@ "properties": { "contentHash": { "$ref": "Hash", + "deprecated": true, "description": "Deprecated, do not use. Use uri instead. The hash of the resource content. For example, the Docker digest." }, "name": { + "deprecated": true, "description": "Deprecated, do not use. Use uri instead. The name of the resource. For example, the name of a Docker image - \"Debian\".", "type": "string" }, @@ -5174,6 +5328,58 @@ }, "type": "object" }, + "ResourceDescriptor": { + "id": "ResourceDescriptor", + "properties": { + "annotations": { + "additionalProperties": { + "type": "any" + }, + "type": "object" + }, + "content": { + "format": "byte", + "type": "string" + }, + "digest": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + "downloadLocation": { + "type": "string" + }, + "mediaType": { + "type": "string" + }, + "name": { + "type": "string" + }, + "uri": { + "type": "string" + } + }, + "type": "object" + }, + "RunDetails": { + "id": "RunDetails", + "properties": { + "builder": { + "$ref": "ProvenanceBuilder" + }, + "byproducts": { + "items": { + "$ref": "ResourceDescriptor" + }, + "type": "array" + }, + "metadata": { + "$ref": "BuildMetadata" + } + }, + "type": "object" + }, "SBOMReferenceNote": { "description": "The note representing an SBOM reference.", "id": "SBOMReferenceNote", @@ -5211,6 +5417,31 @@ }, "type": "object" }, + "SBOMStatus": { + "description": "The status of an SBOM generation.", + "id": "SBOMStatus", + "properties": { + "error": { + "description": "If there was an error generating an SBOM, this will indicate what that error was.", + "type": "string" + }, + "sbomState": { + "description": "The progress of the SBOM generation.", + "enum": [ + "SBOM_STATE_UNSPECIFIED", + "PENDING", + "COMPLETE" + ], + "enumDescriptions": [ + "Default unknown state.", + "SBOM scanning is pending.", + "SBOM scanning has completed." + ], + "type": "string" + } + }, + "type": "object" + }, "SbomReferenceIntotoPayload": { "description": "The actual payload that contains the SBOM Reference data. The payload follows the intoto statement specification. See https://github.com/in-toto/attestation/blob/main/spec/v1.0/statement.md for more details.", "id": "SbomReferenceIntotoPayload", @@ -5313,6 +5544,19 @@ }, "type": "object" }, + "SlsaProvenanceV1": { + "description": "Keep in sync with schema at https://github.com/slsa-framework/slsa/blob/main/docs/provenance/schema/v1/provenance.proto Builder renamed to ProvenanceBuilder because of Java conflicts.", + "id": "SlsaProvenanceV1", + "properties": { + "buildDefinition": { + "$ref": "BuildDefinition" + }, + "runDetails": { + "$ref": "RunDetails" + } + }, + "type": "object" + }, "Source": { "description": "Source describes the location of the source used for the build.", "id": "Source", diff --git a/src/apis/containeranalysis/v1alpha1.ts b/src/apis/containeranalysis/v1alpha1.ts index f95dca780d..7d4933f623 100644 --- a/src/apis/containeranalysis/v1alpha1.ts +++ b/src/apis/containeranalysis/v1alpha1.ts @@ -1558,6 +1558,10 @@ export namespace containeranalysis_v1alpha1 { * Output only. An operation that indicates the status of the current scan. This field is deprecated, do not use. */ operation?: Schema$Operation; + /** + * Output only. The status of an SBOM generation. + */ + sbomStatus?: Schema$SBOMStatus; } /** * 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. The occurrence's operation will indicate the status of the analysis. Absence of an occurrence linked to this note for a resource indicates that analysis hasn't started. @@ -3042,6 +3046,19 @@ export namespace containeranalysis_v1alpha1 { */ signatures?: Schema$EnvelopeSignature[]; } + /** + * The status of an SBOM generation. + */ + export interface Schema$SBOMStatus { + /** + * Output only. If there was an error generating an SBOM, this will indicate what that error was. + */ + error?: string | null; + /** + * Output only. The progress of the SBOM generation. + */ + sbomState?: string | null; + } /** * Indicates various scans and whether they are turned on or off. */ diff --git a/src/apis/containeranalysis/v1beta1.ts b/src/apis/containeranalysis/v1beta1.ts index 0cc4d6e949..c7c9ddd9f8 100644 --- a/src/apis/containeranalysis/v1beta1.ts +++ b/src/apis/containeranalysis/v1beta1.ts @@ -307,6 +307,17 @@ export namespace containeranalysis_v1beta1 { */ signature?: Schema$BuildSignature; } + export interface Schema$BuildDefinition { + buildType?: string | null; + externalParameters?: {[key: string]: any} | null; + internalParameters?: {[key: string]: any} | null; + resolvedDependencies?: Schema$ResourceDescriptor[]; + } + export interface Schema$BuildMetadata { + finishedOn?: string | null; + invocationId?: string | null; + startedOn?: string | null; + } /** * Provenance of a build. Contains all information needed to verify the full details about the build from source to completion. */ @@ -1521,6 +1532,10 @@ export namespace containeranalysis_v1beta1 { * The last time continuous analysis was done for this resource. Deprecated, do not use. */ lastAnalysisTime?: string | null; + /** + * The status of an SBOM generation. + */ + sbomStatus?: Schema$SBOMStatus; } /** * 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. @@ -1636,6 +1651,19 @@ export namespace containeranalysis_v1beta1 { export interface Schema$Environment { customValues?: {[key: string]: string} | null; } + /** + * The request to a call of ExportSBOM + */ + export interface Schema$ExportSBOMRequest {} + /** + * The response from a call to ExportSBOM + */ + export interface Schema$ExportSBOMResponse { + /** + * The name of the discovery occurrence in the form "projects/{project_id\}/occurrences/{OCCURRENCE_ID\} It can be used to track the progression of the SBOM export. + */ + discoveryOccurrenceId?: string | null; + } /** * Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. */ @@ -1869,6 +1897,7 @@ export namespace containeranalysis_v1beta1 { * Details of a build occurrence. */ export interface Schema$GrafeasV1beta1BuildDetails { + inTotoSlsaProvenanceV1?: Schema$InTotoSlsaProvenanceV1; /** * Required. The actual provenance for the build. */ @@ -2063,6 +2092,15 @@ export namespace containeranalysis_v1beta1 { */ threshold?: string | null; } + export interface Schema$InTotoSlsaProvenanceV1 { + predicate?: Schema$SlsaProvenanceV1; + predicateType?: string | null; + subject?: Schema$Subject[]; + /** + * InToto spec defined at https://github.com/in-toto/attestation/tree/main/spec#statement + */ + _type?: string | null; + } /** * Justification provides the justification when the state of the assessment if NOT_AFFECTED. */ @@ -2661,6 +2699,11 @@ export namespace containeranalysis_v1beta1 { */ repoName?: string | null; } + export interface Schema$ProvenanceBuilder { + builderDependencies?: Schema$ResourceDescriptor[]; + id?: string | null; + version?: {[key: string]: string} | null; + } /** * Publisher contains information about the publisher of this Note. */ @@ -2768,6 +2811,20 @@ export namespace containeranalysis_v1beta1 { */ uri?: string | null; } + export interface Schema$ResourceDescriptor { + annotations?: {[key: string]: any} | null; + content?: string | null; + digest?: {[key: string]: string} | null; + downloadLocation?: string | null; + mediaType?: string | null; + name?: string | null; + uri?: string | null; + } + export interface Schema$RunDetails { + builder?: Schema$ProvenanceBuilder; + byproducts?: Schema$ResourceDescriptor[]; + metadata?: Schema$BuildMetadata; + } /** * The actual payload that contains the SBOM Reference data. The payload follows the intoto statement specification. See https://github.com/in-toto/attestation/blob/main/spec/v1.0/statement.md for more details. */ @@ -2840,6 +2897,19 @@ export namespace containeranalysis_v1beta1 { */ signatures?: Schema$EnvelopeSignature[]; } + /** + * The status of an SBOM generation. + */ + export interface Schema$SBOMStatus { + /** + * If there was an error generating an SBOM, this will indicate what that error was. + */ + error?: string | null; + /** + * The progress of the SBOM generation. + */ + sbomState?: string | null; + } /** * Request message for `SetIamPolicy` method. */ @@ -2883,6 +2953,13 @@ export namespace containeranalysis_v1beta1 { */ publicKeyValue?: string | null; } + /** + * Keep in sync with schema at https://github.com/slsa-framework/slsa/blob/main/docs/provenance/schema/v1/provenance.proto Builder renamed to ProvenanceBuilder because of Java conflicts. + */ + export interface Schema$SlsaProvenanceV1 { + buildDefinition?: Schema$BuildDefinition; + runDetails?: Schema$RunDetails; + } /** * Source describes the location of the source used for the build. */ @@ -6607,6 +6684,145 @@ export namespace containeranalysis_v1beta1 { this.context = context; } + /** + * Generates an SBOM and other dependency information for the given resource. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/containeranalysis.googleapis.com + * // - Login into gcloud by running: + * // `$ gcloud auth application-default login` + * // - Install the npm module by running: + * // `$ npm install googleapis` + * + * const {google} = require('googleapis'); + * const containeranalysis = google.containeranalysis('v1beta1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await containeranalysis.projects.resources.exportSBOM({ + * // Required. The name of the resource in the form of `projects/[PROJECT_ID]/resources/[RESOURCE_URL]`. + * name: 'projects/my-project/resources/.*', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // {} + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "discoveryOccurrenceId": "my_discoveryOccurrenceId" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + exportSBOM( + params: Params$Resource$Projects$Resources$Exportsbom, + options: StreamMethodOptions + ): GaxiosPromise; + exportSBOM( + params?: Params$Resource$Projects$Resources$Exportsbom, + options?: MethodOptions + ): GaxiosPromise; + exportSBOM( + params: Params$Resource$Projects$Resources$Exportsbom, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + exportSBOM( + params: Params$Resource$Projects$Resources$Exportsbom, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + exportSBOM( + params: Params$Resource$Projects$Resources$Exportsbom, + callback: BodyResponseCallback + ): void; + exportSBOM(callback: BodyResponseCallback): void; + exportSBOM( + paramsOrCallback?: + | Params$Resource$Projects$Resources$Exportsbom + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Resources$Exportsbom; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Resources$Exportsbom; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://containeranalysis.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+name}:exportSBOM').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + /** * Gets a summary of the packages within a given resource. * @example @@ -6754,6 +6970,18 @@ export namespace containeranalysis_v1beta1 { } } + export interface Params$Resource$Projects$Resources$Exportsbom + extends StandardParameters { + /** + * Required. The name of the resource in the form of `projects/[PROJECT_ID]/resources/[RESOURCE_URL]`. + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$ExportSBOMRequest; + } export interface Params$Resource$Projects$Resources$Generatepackagessummary extends StandardParameters { /**