in services/google/containeranalysis/beta/note_schema.go [20:956]
func DCLNoteSchema() *dcl.Schema {
return &dcl.Schema{
Info: &dcl.Info{
Title: "ContainerAnalysis/Note",
Description: "The ContainerAnalysis Note resource",
StructName: "Note",
},
Paths: &dcl.Paths{
Get: &dcl.Path{
Description: "The function used to get information about a Note",
Parameters: []dcl.PathParameters{
dcl.PathParameters{
Name: "note",
Required: true,
Description: "A full instance of a Note",
},
},
},
Apply: &dcl.Path{
Description: "The function used to apply information about a Note",
Parameters: []dcl.PathParameters{
dcl.PathParameters{
Name: "note",
Required: true,
Description: "A full instance of a Note",
},
},
},
Delete: &dcl.Path{
Description: "The function used to delete a Note",
Parameters: []dcl.PathParameters{
dcl.PathParameters{
Name: "note",
Required: true,
Description: "A full instance of a Note",
},
},
},
DeleteAll: &dcl.Path{
Description: "The function used to delete all Note",
Parameters: []dcl.PathParameters{
dcl.PathParameters{
Name: "project",
Required: true,
Schema: &dcl.PathParametersSchema{
Type: "string",
},
},
},
},
List: &dcl.Path{
Description: "The function used to list information about many Note",
Parameters: []dcl.PathParameters{
dcl.PathParameters{
Name: "project",
Required: true,
Schema: &dcl.PathParametersSchema{
Type: "string",
},
},
},
},
},
Components: &dcl.Components{
Schemas: map[string]*dcl.Component{
"Note": &dcl.Component{
Title: "Note",
ID: "projects/{{project}}/notes/{{name}}",
ParentContainer: "project",
HasCreate: true,
SchemaProperty: dcl.Property{
Type: "object",
Required: []string{
"name",
"project",
},
Properties: map[string]*dcl.Property{
"attestation": &dcl.Property{
Type: "object",
GoName: "Attestation",
GoType: "NoteAttestation",
Description: "A note describing an attestation role.",
Conflicts: []string{
"vulnerability",
"build",
"image",
"package",
"deployment",
"discovery",
},
Properties: map[string]*dcl.Property{
"hint": &dcl.Property{
Type: "object",
GoName: "Hint",
GoType: "NoteAttestationHint",
Description: "Hint hints at the purpose of the attestation authority.",
Required: []string{
"humanReadableName",
},
Properties: map[string]*dcl.Property{
"humanReadableName": &dcl.Property{
Type: "string",
GoName: "HumanReadableName",
Description: "Required. The human readable name of this attestation authority, for example \"qa\".",
},
},
},
},
},
"build": &dcl.Property{
Type: "object",
GoName: "Build",
GoType: "NoteBuild",
Description: "A note describing build provenance for a verifiable build.",
Conflicts: []string{
"vulnerability",
"image",
"package",
"deployment",
"discovery",
"attestation",
},
Required: []string{
"builderVersion",
},
Properties: map[string]*dcl.Property{
"builderVersion": &dcl.Property{
Type: "string",
GoName: "BuilderVersion",
Description: "Required. Immutable. Version of the builder which produced this build.",
},
"signature": &dcl.Property{
Type: "object",
GoName: "Signature",
GoType: "NoteBuildSignature",
Description: "Signature of the build in occurrences pointing to this build note containing build details.",
Required: []string{
"signature",
},
Properties: map[string]*dcl.Property{
"keyId": &dcl.Property{
Type: "string",
GoName: "KeyId",
Description: "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).",
},
"keyType": &dcl.Property{
Type: "string",
GoName: "KeyType",
GoType: "NoteBuildSignatureKeyTypeEnum",
Description: "The type of the key, either stored in `public_key` or referenced in `key_id`. Possible values: KEY_TYPE_UNSPECIFIED, PGP_ASCII_ARMORED, PKIX_PEM",
Enum: []string{
"KEY_TYPE_UNSPECIFIED",
"PGP_ASCII_ARMORED",
"PKIX_PEM",
},
},
"publicKey": &dcl.Property{
Type: "string",
GoName: "PublicKey",
Description: "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`",
},
"signature": &dcl.Property{
Type: "string",
GoName: "Signature",
Description: "Required. Signature of the related `BuildProvenance`. In JSON, this is base-64 encoded.",
},
},
},
},
},
"createTime": &dcl.Property{
Type: "string",
Format: "date-time",
GoName: "CreateTime",
ReadOnly: true,
Description: "Output only. The time this note was created. This field can be used as a filter in list requests.",
Immutable: true,
},
"deployment": &dcl.Property{
Type: "object",
GoName: "Deployment",
GoType: "NoteDeployment",
Description: "A note describing something that can be deployed.",
Conflicts: []string{
"vulnerability",
"build",
"image",
"package",
"discovery",
"attestation",
},
Required: []string{
"resourceUri",
},
Properties: map[string]*dcl.Property{
"resourceUri": &dcl.Property{
Type: "array",
GoName: "ResourceUri",
Description: "Required. Resource URI for the artifact being deployed.",
SendEmpty: true,
ListType: "list",
Items: &dcl.Property{
Type: "string",
GoType: "string",
},
},
},
},
"discovery": &dcl.Property{
Type: "object",
GoName: "Discovery",
GoType: "NoteDiscovery",
Description: "A note describing the initial analysis of a resource.",
Conflicts: []string{
"vulnerability",
"build",
"image",
"package",
"deployment",
"attestation",
},
Required: []string{
"analysisKind",
},
Properties: map[string]*dcl.Property{
"analysisKind": &dcl.Property{
Type: "string",
GoName: "AnalysisKind",
GoType: "NoteDiscoveryAnalysisKindEnum",
Description: "The kind of analysis that is handled by this discovery. Possible values: NOTE_KIND_UNSPECIFIED, VULNERABILITY, BUILD, IMAGE, PACKAGE, DEPLOYMENT, DISCOVERY, ATTESTATION, UPGRADE",
Enum: []string{
"NOTE_KIND_UNSPECIFIED",
"VULNERABILITY",
"BUILD",
"IMAGE",
"PACKAGE",
"DEPLOYMENT",
"DISCOVERY",
"ATTESTATION",
"UPGRADE",
},
},
},
},
"expirationTime": &dcl.Property{
Type: "string",
Format: "date-time",
GoName: "ExpirationTime",
Description: "Time of expiration for this note. Empty if note does not expire.",
},
"image": &dcl.Property{
Type: "object",
GoName: "Image",
GoType: "NoteImage",
Description: "A note describing a base image.",
Conflicts: []string{
"vulnerability",
"build",
"package",
"deployment",
"discovery",
"attestation",
},
Required: []string{
"resourceUrl",
"fingerprint",
},
Properties: map[string]*dcl.Property{
"fingerprint": &dcl.Property{
Type: "object",
GoName: "Fingerprint",
GoType: "NoteImageFingerprint",
Description: "Required. Immutable. The fingerprint of the base image.",
Required: []string{
"v1Name",
"v2Blob",
},
Properties: map[string]*dcl.Property{
"v1Name": &dcl.Property{
Type: "string",
GoName: "V1Name",
Description: "Required. The layer ID of the final layer in the Docker image's v1 representation.",
},
"v2Blob": &dcl.Property{
Type: "array",
GoName: "V2Blob",
Description: "Required. The ordered list of v2 blobs that represent a given image.",
SendEmpty: true,
ListType: "list",
Items: &dcl.Property{
Type: "string",
GoType: "string",
},
},
"v2Name": &dcl.Property{
Type: "string",
GoName: "V2Name",
ReadOnly: true,
Description: "Output only. The name of the image's v2 blobs computed via: ) Only the name of the final blob is kept.",
},
},
},
"resourceUrl": &dcl.Property{
Type: "string",
GoName: "ResourceUrl",
Description: "Required. Immutable. The resource_url for the resource representing the basis of associated occurrence images.",
},
},
},
"longDescription": &dcl.Property{
Type: "string",
GoName: "LongDescription",
Description: "A detailed description of this note.",
},
"name": &dcl.Property{
Type: "string",
GoName: "Name",
Description: "Required. Immutable. The name of the package.",
Immutable: true,
HasLongForm: true,
},
"package": &dcl.Property{
Type: "object",
GoName: "Package",
GoType: "NotePackage",
Description: "Required for non-Windows OS. The package this Upgrade is for.",
Conflicts: []string{
"vulnerability",
"build",
"image",
"deployment",
"discovery",
"attestation",
},
Required: []string{
"name",
},
Properties: map[string]*dcl.Property{
"distribution": &dcl.Property{
Type: "array",
GoName: "Distribution",
Description: "The various channels by which a package is distributed.",
SendEmpty: true,
ListType: "list",
Items: &dcl.Property{
Type: "object",
GoType: "NotePackageDistribution",
Required: []string{
"cpeUri",
},
Properties: map[string]*dcl.Property{
"architecture": &dcl.Property{
Type: "string",
GoName: "Architecture",
GoType: "NotePackageDistributionArchitectureEnum",
Description: "The CPU architecture for which packages in this distribution channel were built Possible values: ARCHITECTURE_UNSPECIFIED, X86, X64",
Enum: []string{
"ARCHITECTURE_UNSPECIFIED",
"X86",
"X64",
},
},
"cpeUri": &dcl.Property{
Type: "string",
GoName: "CpeUri",
Description: "The cpe_uri in [cpe format](https://cpe.mitre.org/specification/) denoting the package manager version distributing a package.",
},
"description": &dcl.Property{
Type: "string",
GoName: "Description",
Description: "The distribution channel-specific description of this package.",
},
"latestVersion": &dcl.Property{
Type: "object",
GoName: "LatestVersion",
GoType: "NotePackageDistributionLatestVersion",
Description: "The latest available version of this package in this distribution channel.",
Required: []string{
"kind",
},
Properties: map[string]*dcl.Property{
"epoch": &dcl.Property{
Type: "integer",
Format: "int64",
GoName: "Epoch",
Description: "Used to correct mistakes in the version numbering scheme.",
},
"fullName": &dcl.Property{
Type: "string",
GoName: "FullName",
Description: "Human readable version string. This string is of the form :- and is only set when kind is NORMAL.",
},
"kind": &dcl.Property{
Type: "string",
GoName: "Kind",
GoType: "NotePackageDistributionLatestVersionKindEnum",
Description: "Distinguish between sentinel MIN/MAX versions and normal versions. If kind is not NORMAL, then the other fields are ignored. Possible values: VERSION_KIND_UNSPECIFIED, NORMAL, MINIMUM, MAXIMUM",
Enum: []string{
"VERSION_KIND_UNSPECIFIED",
"NORMAL",
"MINIMUM",
"MAXIMUM",
},
},
"name": &dcl.Property{
Type: "string",
GoName: "Name",
Description: "The main part of the version name.",
},
"revision": &dcl.Property{
Type: "string",
GoName: "Revision",
Description: "The iteration of the package build from the above version.",
},
},
},
"maintainer": &dcl.Property{
Type: "string",
GoName: "Maintainer",
Description: "A freeform string denoting the maintainer of this package.",
},
"url": &dcl.Property{
Type: "string",
GoName: "Url",
Description: "The distribution channel-specific homepage for this package.",
},
},
},
},
"name": &dcl.Property{
Type: "string",
GoName: "Name",
Description: "The name of the package.",
},
},
},
"project": &dcl.Property{
Type: "string",
GoName: "Project",
Description: "The project for the resource",
Immutable: true,
ResourceReferences: []*dcl.PropertyResourceReference{
&dcl.PropertyResourceReference{
Resource: "Cloudresourcemanager/Project",
Field: "name",
Parent: true,
},
},
Parameter: true,
},
"relatedNoteNames": &dcl.Property{
Type: "array",
GoName: "RelatedNoteNames",
Description: "Other notes related to this note.",
SendEmpty: true,
ListType: "list",
Items: &dcl.Property{
Type: "string",
GoType: "string",
ResourceReferences: []*dcl.PropertyResourceReference{
&dcl.PropertyResourceReference{
Resource: "Containeranalysis/Note",
Field: "name",
},
},
},
},
"relatedUrl": &dcl.Property{
Type: "array",
GoName: "RelatedUrl",
Description: "URLs associated with this note.",
SendEmpty: true,
ListType: "list",
Items: &dcl.Property{
Type: "object",
GoType: "NoteRelatedUrl",
Properties: map[string]*dcl.Property{
"label": &dcl.Property{
Type: "string",
GoName: "Label",
Description: "Label to describe usage of the URL",
},
"url": &dcl.Property{
Type: "string",
GoName: "Url",
Description: "Specific URL to associate with the note",
},
},
},
},
"shortDescription": &dcl.Property{
Type: "string",
GoName: "ShortDescription",
Description: "A one sentence description of this note.",
},
"updateTime": &dcl.Property{
Type: "string",
Format: "date-time",
GoName: "UpdateTime",
ReadOnly: true,
Description: "Output only. The time this note was last updated. This field can be used as a filter in list requests.",
Immutable: true,
},
"vulnerability": &dcl.Property{
Type: "object",
GoName: "Vulnerability",
GoType: "NoteVulnerability",
Description: "A note describing a package vulnerability.",
Conflicts: []string{
"build",
"image",
"package",
"deployment",
"discovery",
"attestation",
},
Properties: map[string]*dcl.Property{
"cvssScore": &dcl.Property{
Type: "number",
Format: "double",
GoName: "CvssScore",
Description: "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.",
},
"cvssV3": &dcl.Property{
Type: "object",
GoName: "CvssV3",
GoType: "NoteVulnerabilityCvssV3",
Description: "The full description of the CVSSv3 for this vulnerability.",
Properties: map[string]*dcl.Property{
"attackComplexity": &dcl.Property{
Type: "string",
GoName: "AttackComplexity",
GoType: "NoteVulnerabilityCvssV3AttackComplexityEnum",
Description: " Possible values: ATTACK_COMPLEXITY_UNSPECIFIED, ATTACK_COMPLEXITY_LOW, ATTACK_COMPLEXITY_HIGH",
Enum: []string{
"ATTACK_COMPLEXITY_UNSPECIFIED",
"ATTACK_COMPLEXITY_LOW",
"ATTACK_COMPLEXITY_HIGH",
},
},
"attackVector": &dcl.Property{
Type: "string",
GoName: "AttackVector",
GoType: "NoteVulnerabilityCvssV3AttackVectorEnum",
Description: "Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. Possible values: ATTACK_VECTOR_UNSPECIFIED, ATTACK_VECTOR_NETWORK, ATTACK_VECTOR_ADJACENT, ATTACK_VECTOR_LOCAL, ATTACK_VECTOR_PHYSICAL",
Enum: []string{
"ATTACK_VECTOR_UNSPECIFIED",
"ATTACK_VECTOR_NETWORK",
"ATTACK_VECTOR_ADJACENT",
"ATTACK_VECTOR_LOCAL",
"ATTACK_VECTOR_PHYSICAL",
},
},
"availabilityImpact": &dcl.Property{
Type: "string",
GoName: "AvailabilityImpact",
GoType: "NoteVulnerabilityCvssV3AvailabilityImpactEnum",
Description: " Possible values: IMPACT_UNSPECIFIED, IMPACT_HIGH, IMPACT_LOW, IMPACT_NONE",
Enum: []string{
"IMPACT_UNSPECIFIED",
"IMPACT_HIGH",
"IMPACT_LOW",
"IMPACT_NONE",
},
},
"baseScore": &dcl.Property{
Type: "number",
Format: "double",
GoName: "BaseScore",
Description: "The base score is a function of the base metric scores.",
},
"confidentialityImpact": &dcl.Property{
Type: "string",
GoName: "ConfidentialityImpact",
GoType: "NoteVulnerabilityCvssV3ConfidentialityImpactEnum",
Description: " Possible values: IMPACT_UNSPECIFIED, IMPACT_HIGH, IMPACT_LOW, IMPACT_NONE",
Enum: []string{
"IMPACT_UNSPECIFIED",
"IMPACT_HIGH",
"IMPACT_LOW",
"IMPACT_NONE",
},
},
"exploitabilityScore": &dcl.Property{
Type: "number",
Format: "double",
GoName: "ExploitabilityScore",
},
"impactScore": &dcl.Property{
Type: "number",
Format: "double",
GoName: "ImpactScore",
},
"integrityImpact": &dcl.Property{
Type: "string",
GoName: "IntegrityImpact",
GoType: "NoteVulnerabilityCvssV3IntegrityImpactEnum",
Description: " Possible values: IMPACT_UNSPECIFIED, IMPACT_HIGH, IMPACT_LOW, IMPACT_NONE",
Enum: []string{
"IMPACT_UNSPECIFIED",
"IMPACT_HIGH",
"IMPACT_LOW",
"IMPACT_NONE",
},
},
"privilegesRequired": &dcl.Property{
Type: "string",
GoName: "PrivilegesRequired",
GoType: "NoteVulnerabilityCvssV3PrivilegesRequiredEnum",
Description: " Possible values: PRIVILEGES_REQUIRED_UNSPECIFIED, PRIVILEGES_REQUIRED_NONE, PRIVILEGES_REQUIRED_LOW, PRIVILEGES_REQUIRED_HIGH",
Enum: []string{
"PRIVILEGES_REQUIRED_UNSPECIFIED",
"PRIVILEGES_REQUIRED_NONE",
"PRIVILEGES_REQUIRED_LOW",
"PRIVILEGES_REQUIRED_HIGH",
},
},
"scope": &dcl.Property{
Type: "string",
GoName: "Scope",
GoType: "NoteVulnerabilityCvssV3ScopeEnum",
Description: " Possible values: SCOPE_UNSPECIFIED, SCOPE_UNCHANGED, SCOPE_CHANGED",
Enum: []string{
"SCOPE_UNSPECIFIED",
"SCOPE_UNCHANGED",
"SCOPE_CHANGED",
},
},
"userInteraction": &dcl.Property{
Type: "string",
GoName: "UserInteraction",
GoType: "NoteVulnerabilityCvssV3UserInteractionEnum",
Description: " Possible values: USER_INTERACTION_UNSPECIFIED, USER_INTERACTION_NONE, USER_INTERACTION_REQUIRED",
Enum: []string{
"USER_INTERACTION_UNSPECIFIED",
"USER_INTERACTION_NONE",
"USER_INTERACTION_REQUIRED",
},
},
},
},
"details": &dcl.Property{
Type: "array",
GoName: "Details",
Description: "Details of all known distros and packages affected by this vulnerability.",
SendEmpty: true,
ListType: "list",
Items: &dcl.Property{
Type: "object",
GoType: "NoteVulnerabilityDetails",
Required: []string{
"affectedCpeUri",
"affectedPackage",
},
Properties: map[string]*dcl.Property{
"affectedCpeUri": &dcl.Property{
Type: "string",
GoName: "AffectedCpeUri",
Description: "Required. The (https://cpe.mitre.org/specification/) this vulnerability affects.",
},
"affectedPackage": &dcl.Property{
Type: "string",
GoName: "AffectedPackage",
Description: "Required. The package this vulnerability affects.",
},
"affectedVersionEnd": &dcl.Property{
Type: "object",
GoName: "AffectedVersionEnd",
GoType: "NoteVulnerabilityDetailsAffectedVersionEnd",
Description: "The version number at the end of an interval in which this vulnerability exists. A vulnerability can affect a package between version numbers that are disjoint sets of intervals (example: ) each of which will be represented in its own Detail. If a specific affected version is provided by a vulnerability database, affected_version_start and affected_version_end will be the same in that Detail.",
Required: []string{
"kind",
},
Properties: map[string]*dcl.Property{
"epoch": &dcl.Property{
Type: "integer",
Format: "int64",
GoName: "Epoch",
Description: "Used to correct mistakes in the version numbering scheme.",
},
"fullName": &dcl.Property{
Type: "string",
GoName: "FullName",
Description: "Human readable version string. This string is of the form :- and is only set when kind is NORMAL.",
},
"kind": &dcl.Property{
Type: "string",
GoName: "Kind",
GoType: "NoteVulnerabilityDetailsAffectedVersionEndKindEnum",
Description: "Required. Distinguishes between sentinel MIN/MAX versions and normal versions. Possible values: NOTE_KIND_UNSPECIFIED, VULNERABILITY, BUILD, IMAGE, PACKAGE, DEPLOYMENT, DISCOVERY, ATTESTATION, UPGRADE",
Enum: []string{
"NOTE_KIND_UNSPECIFIED",
"VULNERABILITY",
"BUILD",
"IMAGE",
"PACKAGE",
"DEPLOYMENT",
"DISCOVERY",
"ATTESTATION",
"UPGRADE",
},
},
"name": &dcl.Property{
Type: "string",
GoName: "Name",
Description: "Required only when version kind is NORMAL. The main part of the version name.",
},
"revision": &dcl.Property{
Type: "string",
GoName: "Revision",
Description: "The iteration of the package build from the above version.",
},
},
},
"affectedVersionStart": &dcl.Property{
Type: "object",
GoName: "AffectedVersionStart",
GoType: "NoteVulnerabilityDetailsAffectedVersionStart",
Description: "The version number at the start of an interval in which this vulnerability exists. A vulnerability can affect a package between version numbers that are disjoint sets of intervals (example: ) each of which will be represented in its own Detail. If a specific affected version is provided by a vulnerability database, affected_version_start and affected_version_end will be the same in that Detail.",
Required: []string{
"kind",
},
Properties: map[string]*dcl.Property{
"epoch": &dcl.Property{
Type: "integer",
Format: "int64",
GoName: "Epoch",
Description: "Used to correct mistakes in the version numbering scheme.",
},
"fullName": &dcl.Property{
Type: "string",
GoName: "FullName",
Description: "Human readable version string. This string is of the form :- and is only set when kind is NORMAL.",
ServerDefault: true,
},
"kind": &dcl.Property{
Type: "string",
GoName: "Kind",
GoType: "NoteVulnerabilityDetailsAffectedVersionStartKindEnum",
Description: "Required. Distinguishes between sentinel MIN/MAX versions and normal versions. Possible values: NOTE_KIND_UNSPECIFIED, VULNERABILITY, BUILD, IMAGE, PACKAGE, DEPLOYMENT, DISCOVERY, ATTESTATION, UPGRADE",
Enum: []string{
"NOTE_KIND_UNSPECIFIED",
"VULNERABILITY",
"BUILD",
"IMAGE",
"PACKAGE",
"DEPLOYMENT",
"DISCOVERY",
"ATTESTATION",
"UPGRADE",
},
},
"name": &dcl.Property{
Type: "string",
GoName: "Name",
Description: "Required only when version kind is NORMAL. The main part of the version name.",
},
"revision": &dcl.Property{
Type: "string",
GoName: "Revision",
Description: "The iteration of the package build from the above version.",
},
},
},
"description": &dcl.Property{
Type: "string",
GoName: "Description",
Description: "A vendor-specific description of this vulnerability.",
},
"fixedCpeUri": &dcl.Property{
Type: "string",
GoName: "FixedCpeUri",
Description: "The distro recommended (https://cpe.mitre.org/specification/) to update to that contains a fix for this vulnerability. It is possible for this to be different from the affected_cpe_uri.",
},
"fixedPackage": &dcl.Property{
Type: "string",
GoName: "FixedPackage",
Description: "The distro recommended package to update to that contains a fix for this vulnerability. It is possible for this to be different from the affected_package.",
},
"fixedVersion": &dcl.Property{
Type: "object",
GoName: "FixedVersion",
GoType: "NoteVulnerabilityDetailsFixedVersion",
Description: "The distro recommended version to update to that contains a fix for this vulnerability. Setting this to VersionKind.MAXIMUM means no such version is yet available.",
Required: []string{
"kind",
},
Properties: map[string]*dcl.Property{
"epoch": &dcl.Property{
Type: "integer",
Format: "int64",
GoName: "Epoch",
Description: "Used to correct mistakes in the version numbering scheme.",
},
"fullName": &dcl.Property{
Type: "string",
GoName: "FullName",
Description: "Human readable version string. This string is of the form :- and is only set when kind is NORMAL.",
},
"kind": &dcl.Property{
Type: "string",
GoName: "Kind",
GoType: "NoteVulnerabilityDetailsFixedVersionKindEnum",
Description: "Required. Distinguishes between sentinel MIN/MAX versions and normal versions. Possible values: NOTE_KIND_UNSPECIFIED, VULNERABILITY, BUILD, IMAGE, PACKAGE, DEPLOYMENT, DISCOVERY, ATTESTATION, UPGRADE",
Enum: []string{
"NOTE_KIND_UNSPECIFIED",
"VULNERABILITY",
"BUILD",
"IMAGE",
"PACKAGE",
"DEPLOYMENT",
"DISCOVERY",
"ATTESTATION",
"UPGRADE",
},
},
"name": &dcl.Property{
Type: "string",
GoName: "Name",
Description: "Required only when version kind is NORMAL. The main part of the version name.",
},
"revision": &dcl.Property{
Type: "string",
GoName: "Revision",
Description: "The iteration of the package build from the above version.",
},
},
},
"isObsolete": &dcl.Property{
Type: "boolean",
GoName: "IsObsolete",
Description: "Whether this detail is obsolete. Occurrences are expected not to point to obsolete details.",
},
"packageType": &dcl.Property{
Type: "string",
GoName: "PackageType",
Description: "The type of package; whether native or non native (e.g., ruby gems, node.js packages, etc.).",
},
"severityName": &dcl.Property{
Type: "string",
GoName: "SeverityName",
Description: "The distro assigned severity of this vulnerability.",
},
"sourceUpdateTime": &dcl.Property{
Type: "string",
Format: "date-time",
GoName: "SourceUpdateTime",
Description: "The time this information was last changed at the source. This is an upstream timestamp from the underlying information source - e.g. Ubuntu security tracker.",
},
},
},
},
"severity": &dcl.Property{
Type: "string",
GoName: "Severity",
GoType: "NoteVulnerabilitySeverityEnum",
Description: "The note provider assigned severity of this vulnerability. Possible values: SEVERITY_UNSPECIFIED, MINIMAL, LOW, MEDIUM, HIGH, CRITICAL",
Enum: []string{
"SEVERITY_UNSPECIFIED",
"MINIMAL",
"LOW",
"MEDIUM",
"HIGH",
"CRITICAL",
},
},
"sourceUpdateTime": &dcl.Property{
Type: "string",
Format: "date-time",
GoName: "SourceUpdateTime",
Description: "The time this information was last changed at the source. This is an upstream timestamp from the underlying information source - e.g. Ubuntu security tracker.",
},
"windowsDetails": &dcl.Property{
Type: "array",
GoName: "WindowsDetails",
Description: "Windows details get their own format because the information format and model don't match a normal detail. Specifically Windows updates are done as patches, thus Windows vulnerabilities really are a missing package, rather than a package being at an incorrect version.",
SendEmpty: true,
ListType: "list",
Items: &dcl.Property{
Type: "object",
GoType: "NoteVulnerabilityWindowsDetails",
Required: []string{
"cpeUri",
"name",
"fixingKbs",
},
Properties: map[string]*dcl.Property{
"cpeUri": &dcl.Property{
Type: "string",
GoName: "CpeUri",
Description: "Required. The (https://cpe.mitre.org/specification/) this vulnerability affects.",
},
"description": &dcl.Property{
Type: "string",
GoName: "Description",
Description: "The description of this vulnerability.",
},
"fixingKbs": &dcl.Property{
Type: "array",
GoName: "FixingKbs",
Description: "Required. The names of the KBs which have hotfixes to mitigate this vulnerability. Note that there may be multiple hotfixes (and thus multiple KBs) that mitigate a given vulnerability. Currently any listed KBs presence is considered a fix.",
SendEmpty: true,
ListType: "list",
Items: &dcl.Property{
Type: "object",
GoType: "NoteVulnerabilityWindowsDetailsFixingKbs",
Properties: map[string]*dcl.Property{
"name": &dcl.Property{
Type: "string",
GoName: "Name",
Description: "The KB name (generally of the form KB+ (e.g., KB123456)).",
},
"url": &dcl.Property{
Type: "string",
GoName: "Url",
Description: "A link to the KB in the (https://www.catalog.update.microsoft.com/).",
},
},
},
},
"name": &dcl.Property{
Type: "string",
GoName: "Name",
Description: "Required. The name of this vulnerability.",
},
},
},
},
},
},
},
},
},
},
},
}
}