Skip to content

Commit

Permalink
feat: Automated regeneration of ContainerAnalysis client (#10992)
Browse files Browse the repository at this point in the history
Auto-created at 2024-03-12 02:51:51 +0000 using the toys pull request generator.
  • Loading branch information
yoshi-code-bot authored Mar 12, 2024
1 parent ef20484 commit 7be8dcc
Show file tree
Hide file tree
Showing 145 changed files with 6,494 additions and 73 deletions.
2 changes: 1 addition & 1 deletion clients/container_analysis/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

Container Analysis API client library.

An implementation of the Grafeas API, which stores, and enables querying and retrieval of critical metadata about all of your software artifacts.
This API is a prerequisite for leveraging Artifact Analysis scanning capabilities in both Artifact Registry and with Advanced Vulnerability Insights (runtime scanning) in GKE. In addition, the Container Analysis API is an implementation of the Grafeas API, which enables storing, querying, and retrieval of critical metadata about all of your software artifacts.

## Installation

Expand Down

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ defmodule GoogleApi.ContainerAnalysis.V1 do
API client metadata for GoogleApi.ContainerAnalysis.V1.
"""

@discovery_revision "20221112"
@discovery_revision "20240301"

def discovery_revision(), do: @discovery_revision
end
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
# Copyright 2019 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# NOTE: This file is auto generated by the elixir code generator program.
# Do not edit this file manually.

defmodule GoogleApi.ContainerAnalysis.V1.Model.Assessment do
@moduledoc """
Assessment provides all information that is related to a single vulnerability for this product.
## Attributes
* `cve` (*type:* `String.t`, *default:* `nil`) - Holds the MITRE standard Common Vulnerabilities and Exposures (CVE) tracking number for the vulnerability. Deprecated: Use vulnerability_id instead to denote CVEs.
* `impacts` (*type:* `list(String.t)`, *default:* `nil`) - Contains information about the impact of this vulnerability, this will change with time.
* `justification` (*type:* `GoogleApi.ContainerAnalysis.V1.Model.Justification.t`, *default:* `nil`) - Justification provides the justification when the state of the assessment if NOT_AFFECTED.
* `longDescription` (*type:* `String.t`, *default:* `nil`) - A detailed description of this Vex.
* `relatedUris` (*type:* `list(GoogleApi.ContainerAnalysis.V1.Model.RelatedUrl.t)`, *default:* `nil`) - Holds a list of references associated with this vulnerability item and assessment. These uris have additional information about the vulnerability and the assessment itself. E.g. Link to a document which details how this assessment concluded the state of this vulnerability.
* `remediations` (*type:* `list(GoogleApi.ContainerAnalysis.V1.Model.Remediation.t)`, *default:* `nil`) - Specifies details on how to handle (and presumably, fix) a vulnerability.
* `shortDescription` (*type:* `String.t`, *default:* `nil`) - A one sentence description of this Vex.
* `state` (*type:* `String.t`, *default:* `nil`) - Provides the state of this Vulnerability assessment.
* `vulnerabilityId` (*type:* `String.t`, *default:* `nil`) - The vulnerability identifier for this Assessment. Will hold one of common identifiers e.g. CVE, GHSA etc.
"""

use GoogleApi.Gax.ModelBase

@type t :: %__MODULE__{
:cve => String.t() | nil,
:impacts => list(String.t()) | nil,
:justification => GoogleApi.ContainerAnalysis.V1.Model.Justification.t() | nil,
:longDescription => String.t() | nil,
:relatedUris => list(GoogleApi.ContainerAnalysis.V1.Model.RelatedUrl.t()) | nil,
:remediations => list(GoogleApi.ContainerAnalysis.V1.Model.Remediation.t()) | nil,
:shortDescription => String.t() | nil,
:state => String.t() | nil,
:vulnerabilityId => String.t() | nil
}

field(:cve)
field(:impacts, type: :list)
field(:justification, as: GoogleApi.ContainerAnalysis.V1.Model.Justification)
field(:longDescription)
field(:relatedUris, as: GoogleApi.ContainerAnalysis.V1.Model.RelatedUrl, type: :list)
field(:remediations, as: GoogleApi.ContainerAnalysis.V1.Model.Remediation, type: :list)
field(:shortDescription)
field(:state)
field(:vulnerabilityId)
end

defimpl Poison.Decoder, for: GoogleApi.ContainerAnalysis.V1.Model.Assessment do
def decode(value, options) do
GoogleApi.ContainerAnalysis.V1.Model.Assessment.decode(value, options)
end
end

defimpl Poison.Encoder, for: GoogleApi.ContainerAnalysis.V1.Model.Assessment do
def encode(value, options) do
GoogleApi.Gax.ModelBase.encode(value, options)
end
end
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,8 @@ defmodule GoogleApi.ContainerAnalysis.V1.Model.Binding do
## Attributes
* `condition` (*type:* `GoogleApi.ContainerAnalysis.V1.Model.Expr.t`, *default:* `nil`) - The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
* `members` (*type:* `list(String.t)`, *default:* `nil`) - Specifies the principals requesting access for a Google Cloud 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. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `[email protected]` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `[email protected]`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `[email protected]`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `[email protected]?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `[email protected]?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `[email protected]?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`.
* `role` (*type:* `String.t`, *default:* `nil`) - Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
* `members` (*type:* `list(String.t)`, *default:* `nil`) - Specifies the principals requesting access for a Google Cloud 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. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `[email protected]` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `[email protected]`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `[email protected]`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `[email protected]?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `[email protected]?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `[email protected]?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`.
* `role` (*type:* `String.t`, *default:* `nil`) - Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles).
"""

use GoogleApi.Gax.ModelBase
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
# Copyright 2019 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# NOTE: This file is auto generated by the elixir code generator program.
# Do not edit this file manually.

defmodule GoogleApi.ContainerAnalysis.V1.Model.BuildDefinition do
@moduledoc """
## Attributes
* `buildType` (*type:* `String.t`, *default:* `nil`) -
* `externalParameters` (*type:* `map()`, *default:* `nil`) -
* `internalParameters` (*type:* `map()`, *default:* `nil`) -
* `resolvedDependencies` (*type:* `list(GoogleApi.ContainerAnalysis.V1.Model.ResourceDescriptor.t)`, *default:* `nil`) -
"""

use GoogleApi.Gax.ModelBase

@type t :: %__MODULE__{
:buildType => String.t() | nil,
:externalParameters => map() | nil,
:internalParameters => map() | nil,
:resolvedDependencies =>
list(GoogleApi.ContainerAnalysis.V1.Model.ResourceDescriptor.t()) | nil
}

field(:buildType)
field(:externalParameters, type: :map)
field(:internalParameters, type: :map)

field(:resolvedDependencies,
as: GoogleApi.ContainerAnalysis.V1.Model.ResourceDescriptor,
type: :list
)
end

defimpl Poison.Decoder, for: GoogleApi.ContainerAnalysis.V1.Model.BuildDefinition do
def decode(value, options) do
GoogleApi.ContainerAnalysis.V1.Model.BuildDefinition.decode(value, options)
end
end

defimpl Poison.Encoder, for: GoogleApi.ContainerAnalysis.V1.Model.BuildDefinition do
def encode(value, options) do
GoogleApi.Gax.ModelBase.encode(value, options)
end
end
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
# Copyright 2019 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# NOTE: This file is auto generated by the elixir code generator program.
# Do not edit this file manually.

defmodule GoogleApi.ContainerAnalysis.V1.Model.BuildMetadata do
@moduledoc """
## Attributes
* `finishedOn` (*type:* `DateTime.t`, *default:* `nil`) -
* `invocationId` (*type:* `String.t`, *default:* `nil`) -
* `startedOn` (*type:* `DateTime.t`, *default:* `nil`) -
"""

use GoogleApi.Gax.ModelBase

@type t :: %__MODULE__{
:finishedOn => DateTime.t() | nil,
:invocationId => String.t() | nil,
:startedOn => DateTime.t() | nil
}

field(:finishedOn, as: DateTime)
field(:invocationId)
field(:startedOn, as: DateTime)
end

defimpl Poison.Decoder, for: GoogleApi.ContainerAnalysis.V1.Model.BuildMetadata do
def decode(value, options) do
GoogleApi.ContainerAnalysis.V1.Model.BuildMetadata.decode(value, options)
end
end

defimpl Poison.Encoder, for: GoogleApi.ContainerAnalysis.V1.Model.BuildMetadata do
def encode(value, options) do
GoogleApi.Gax.ModelBase.encode(value, options)
end
end
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ defmodule GoogleApi.ContainerAnalysis.V1.Model.BuildOccurrence do
## Attributes
* `inTotoSlsaProvenanceV1` (*type:* `GoogleApi.ContainerAnalysis.V1.Model.InTotoSlsaProvenanceV1.t`, *default:* `nil`) - In-Toto Slsa Provenance V1 represents a slsa provenance meeting the slsa spec, wrapped in an in-toto statement. This allows for direct jsonification of a to-spec in-toto slsa statement with a to-spec slsa provenance.
* `intotoProvenance` (*type:* `GoogleApi.ContainerAnalysis.V1.Model.InTotoProvenance.t`, *default:* `nil`) - Deprecated. See InTotoStatement for the replacement. In-toto Provenance representation as defined in spec.
* `intotoStatement` (*type:* `GoogleApi.ContainerAnalysis.V1.Model.InTotoStatement.t`, *default:* `nil`) - In-toto Statement representation as defined in spec. The intoto_statement can contain any type of provenance. The serialized payload of the statement can be stored and signed in the Occurrence's envelope.
* `provenance` (*type:* `GoogleApi.ContainerAnalysis.V1.Model.BuildProvenance.t`, *default:* `nil`) - The actual provenance for the build.
Expand All @@ -30,12 +31,15 @@ defmodule GoogleApi.ContainerAnalysis.V1.Model.BuildOccurrence do
use GoogleApi.Gax.ModelBase

@type t :: %__MODULE__{
:inTotoSlsaProvenanceV1 =>
GoogleApi.ContainerAnalysis.V1.Model.InTotoSlsaProvenanceV1.t() | nil,
:intotoProvenance => GoogleApi.ContainerAnalysis.V1.Model.InTotoProvenance.t() | nil,
:intotoStatement => GoogleApi.ContainerAnalysis.V1.Model.InTotoStatement.t() | nil,
:provenance => GoogleApi.ContainerAnalysis.V1.Model.BuildProvenance.t() | nil,
:provenanceBytes => String.t() | nil
}

field(:inTotoSlsaProvenanceV1, as: GoogleApi.ContainerAnalysis.V1.Model.InTotoSlsaProvenanceV1)
field(:intotoProvenance, as: GoogleApi.ContainerAnalysis.V1.Model.InTotoProvenance)
field(:intotoStatement, as: GoogleApi.ContainerAnalysis.V1.Model.InTotoStatement)
field(:provenance, as: GoogleApi.ContainerAnalysis.V1.Model.BuildProvenance)
Expand Down
Loading

0 comments on commit 7be8dcc

Please sign in to comment.