Skip to content

Commit

Permalink
feat: Automated regeneration of Container client
Browse files Browse the repository at this point in the history
  • Loading branch information
yoshi-automation committed Apr 12, 2024
1 parent e6a95f9 commit 48f22b8
Show file tree
Hide file tree
Showing 14 changed files with 274 additions and 4 deletions.
2 changes: 1 addition & 1 deletion clients/container/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ Install this package from [Hex](https://hex.pm) by adding

```elixir
def deps do
[{:google_api_container, "~> 0.45"}]
[{:google_api_container, "~> 0.46"}]
end
```

Expand Down
2 changes: 1 addition & 1 deletion clients/container/lib/google_api/container/v1/metadata.ex
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ defmodule GoogleApi.Container.V1 do
API client metadata for GoogleApi.Container.V1.
"""

@discovery_revision "20240313"
@discovery_revision "20240327"

def discovery_revision(), do: @discovery_revision
end
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
# 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.Container.V1.Model.CertificateAuthorityDomainConfig do
@moduledoc """
CertificateAuthorityDomainConfig configures one or more fully qualified domain names (FQDN) to a specific certificate.
## Attributes
* `fqdns` (*type:* `list(String.t)`, *default:* `nil`) - List of fully qualified domain names (FQDN). Specifying port is supported. Wilcards are NOT supported. Examples: - my.customdomain.com - 10.0.1.2:5000
* `gcpSecretManagerCertificateConfig` (*type:* `GoogleApi.Container.V1.Model.GCPSecretManagerCertificateConfig.t`, *default:* `nil`) - Google Secret Manager (GCP) certificate configuration.
"""

use GoogleApi.Gax.ModelBase

@type t :: %__MODULE__{
:fqdns => list(String.t()) | nil,
:gcpSecretManagerCertificateConfig =>
GoogleApi.Container.V1.Model.GCPSecretManagerCertificateConfig.t() | nil
}

field(:fqdns, type: :list)

field(:gcpSecretManagerCertificateConfig,
as: GoogleApi.Container.V1.Model.GCPSecretManagerCertificateConfig
)
end

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

defimpl Poison.Encoder, for: GoogleApi.Container.V1.Model.CertificateAuthorityDomainConfig 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 @@ -34,6 +34,7 @@ defmodule GoogleApi.Container.V1.Model.ClusterUpdate do
* `desiredLoggingService` (*type:* `String.t`, *default:* `nil`) - The logging service the cluster should use to write logs. Currently available options: * `logging.googleapis.com/kubernetes` - The Cloud Logging service with a Kubernetes-native resource model * `logging.googleapis.com` - The legacy Cloud Logging service (no longer available as of GKE 1.15). * `none` - no logs will be exported from the cluster. If left as an empty string,`logging.googleapis.com/kubernetes` will be used for GKE 1.14+ or `logging.googleapis.com` for earlier versions.
* `desiredSecurityPostureConfig` (*type:* `GoogleApi.Container.V1.Model.SecurityPostureConfig.t`, *default:* `nil`) - Enable/Disable Security Posture API features for the cluster.
* `desiredMonitoringService` (*type:* `String.t`, *default:* `nil`) - The monitoring service the cluster should use to write metrics. Currently available options: * "monitoring.googleapis.com/kubernetes" - The Cloud Monitoring service with a Kubernetes-native resource model * `monitoring.googleapis.com` - The legacy Cloud Monitoring service (no longer available as of GKE 1.15). * `none` - No metrics will be exported from the cluster. If left as an empty string,`monitoring.googleapis.com/kubernetes` will be used for GKE 1.14+ or `monitoring.googleapis.com` for earlier versions.
* `desiredContainerdConfig` (*type:* `GoogleApi.Container.V1.Model.ContainerdConfig.t`, *default:* `nil`) - The desired containerd config for the cluster.
* `desiredNotificationConfig` (*type:* `GoogleApi.Container.V1.Model.NotificationConfig.t`, *default:* `nil`) - The desired notification configuration.
* `desiredL4ilbSubsettingConfig` (*type:* `GoogleApi.Container.V1.Model.ILBSubsettingConfig.t`, *default:* `nil`) - The desired L4 Internal Load Balancer Subsetting configuration.
* `desiredIntraNodeVisibilityConfig` (*type:* `GoogleApi.Container.V1.Model.IntraNodeVisibilityConfig.t`, *default:* `nil`) - The desired config of Intra-node visibility.
Expand Down Expand Up @@ -65,7 +66,7 @@ defmodule GoogleApi.Container.V1.Model.ClusterUpdate do
* `removedAdditionalPodRangesConfig` (*type:* `GoogleApi.Container.V1.Model.AdditionalPodRangesConfig.t`, *default:* `nil`) - The additional pod ranges that are to be removed from the cluster. The pod ranges specified here must have been specified earlier in the 'additional_pod_ranges_config' argument.
* `desiredNodeVersion` (*type:* `String.t`, *default:* `nil`) - The Kubernetes version to change the nodes to (typically an upgrade). Users may specify either explicit versions offered by Kubernetes Engine or version aliases, which have the following behavior: - "latest": picks the highest valid Kubernetes version - "1.X": picks the highest valid patch+gke.N patch in the 1.X version - "1.X.Y": picks the highest valid gke.N patch in the 1.X.Y version - "1.X.Y-gke.N": picks an explicit Kubernetes version - "-": picks the Kubernetes master version
* `desiredMeshCertificates` (*type:* `GoogleApi.Container.V1.Model.MeshCertificates.t`, *default:* `nil`) - Configuration for issuance of mTLS keys and certificates to Kubernetes pods.
* `desiredPrivateClusterConfig` (*type:* `GoogleApi.Container.V1.Model.PrivateClusterConfig.t`, *default:* `nil`) - The desired private cluster configuration.
* `desiredPrivateClusterConfig` (*type:* `GoogleApi.Container.V1.Model.PrivateClusterConfig.t`, *default:* `nil`) - The desired private cluster configuration. master_global_access_config is the only field that can be changed via this field. See also ClusterUpdate.desired_enable_private_endpoint for modifying other fields within PrivateClusterConfig.
* `desiredEnableFqdnNetworkPolicy` (*type:* `boolean()`, *default:* `nil`) - Enable/Disable FQDN Network Policy for the cluster.
* `desiredLocations` (*type:* `list(String.t)`, *default:* `nil`) - The desired list of Google Compute Engine [zones](https://cloud.google.com/compute/docs/zones#available) in which the cluster's nodes should be located. This list must always include the cluster's primary zone. Warning: changing cluster locations will update the locations of all node pools and will result in nodes being added and/or removed.
* `desiredDefaultSnatStatus` (*type:* `GoogleApi.Container.V1.Model.DefaultSnatStatus.t`, *default:* `nil`) - The desired status of whether to disable default sNAT for this cluster.
Expand Down Expand Up @@ -96,6 +97,7 @@ defmodule GoogleApi.Container.V1.Model.ClusterUpdate do
:desiredSecurityPostureConfig =>
GoogleApi.Container.V1.Model.SecurityPostureConfig.t() | nil,
:desiredMonitoringService => String.t() | nil,
:desiredContainerdConfig => GoogleApi.Container.V1.Model.ContainerdConfig.t() | nil,
:desiredNotificationConfig => GoogleApi.Container.V1.Model.NotificationConfig.t() | nil,
:desiredL4ilbSubsettingConfig =>
GoogleApi.Container.V1.Model.ILBSubsettingConfig.t() | nil,
Expand Down Expand Up @@ -171,6 +173,7 @@ defmodule GoogleApi.Container.V1.Model.ClusterUpdate do
field(:desiredLoggingService)
field(:desiredSecurityPostureConfig, as: GoogleApi.Container.V1.Model.SecurityPostureConfig)
field(:desiredMonitoringService)
field(:desiredContainerdConfig, as: GoogleApi.Container.V1.Model.ContainerdConfig)
field(:desiredNotificationConfig, as: GoogleApi.Container.V1.Model.NotificationConfig)
field(:desiredL4ilbSubsettingConfig, as: GoogleApi.Container.V1.Model.ILBSubsettingConfig)

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
# 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.Container.V1.Model.ContainerdConfig do
@moduledoc """
ContainerdConfig contains configuration to customize containerd.
## Attributes
* `privateRegistryAccessConfig` (*type:* `GoogleApi.Container.V1.Model.PrivateRegistryAccessConfig.t`, *default:* `nil`) - PrivateRegistryAccessConfig is used to configure access configuration for private container registries.
"""

use GoogleApi.Gax.ModelBase

@type t :: %__MODULE__{
:privateRegistryAccessConfig =>
GoogleApi.Container.V1.Model.PrivateRegistryAccessConfig.t() | nil
}

field(:privateRegistryAccessConfig, as: GoogleApi.Container.V1.Model.PrivateRegistryAccessConfig)
end

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

defimpl Poison.Encoder, for: GoogleApi.Container.V1.Model.ContainerdConfig 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.Container.V1.Model.DNSConfig do
## Attributes
* `additiveVpcScopeDnsDomain` (*type:* `String.t`, *default:* `nil`) - Optional. The domain used in Additive VPC scope.
* `clusterDns` (*type:* `String.t`, *default:* `nil`) - cluster_dns indicates which in-cluster DNS provider should be used.
* `clusterDnsDomain` (*type:* `String.t`, *default:* `nil`) - cluster_dns_domain is the suffix used for all cluster service records.
* `clusterDnsScope` (*type:* `String.t`, *default:* `nil`) - cluster_dns_scope indicates the scope of access to cluster DNS records.
Expand All @@ -29,11 +30,13 @@ defmodule GoogleApi.Container.V1.Model.DNSConfig do
use GoogleApi.Gax.ModelBase

@type t :: %__MODULE__{
:additiveVpcScopeDnsDomain => String.t() | nil,
:clusterDns => String.t() | nil,
:clusterDnsDomain => String.t() | nil,
:clusterDnsScope => String.t() | nil
}

field(:additiveVpcScopeDnsDomain)
field(:clusterDns)
field(:clusterDnsDomain)
field(:clusterDnsScope)
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# 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.Container.V1.Model.GCPSecretManagerCertificateConfig do
@moduledoc """
GCPSecretManagerCertificateConfig configures a secret from [Google Secret Manager](https://cloud.google.com/secret-manager).
## Attributes
* `secretUri` (*type:* `String.t`, *default:* `nil`) - Secret URI, in the form "projects/$PROJECT_ID/secrets/$SECRET_NAME/versions/$VERSION". Version can be fixed (e.g. "2") or "latest"
"""

use GoogleApi.Gax.ModelBase

@type t :: %__MODULE__{
:secretUri => String.t() | nil
}

field(:secretUri)
end

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

defimpl Poison.Encoder, for: GoogleApi.Container.V1.Model.GCPSecretManagerCertificateConfig 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,49 @@
# 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.Container.V1.Model.HugepagesConfig do
@moduledoc """
Hugepages amount in both 2m and 1g size
## Attributes
* `hugepageSize1g` (*type:* `integer()`, *default:* `nil`) - Optional. Amount of 1G hugepages
* `hugepageSize2m` (*type:* `integer()`, *default:* `nil`) - Optional. Amount of 2M hugepages
"""

use GoogleApi.Gax.ModelBase

@type t :: %__MODULE__{
:hugepageSize1g => integer() | nil,
:hugepageSize2m => integer() | nil
}

field(:hugepageSize1g)
field(:hugepageSize2m)
end

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

defimpl Poison.Encoder, for: GoogleApi.Container.V1.Model.HugepagesConfig 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,17 +22,20 @@ defmodule GoogleApi.Container.V1.Model.LinuxNodeConfig do
## Attributes
* `cgroupMode` (*type:* `String.t`, *default:* `nil`) - cgroup_mode specifies the cgroup mode to be used on the node.
* `hugepages` (*type:* `GoogleApi.Container.V1.Model.HugepagesConfig.t`, *default:* `nil`) - Optional. Amounts for 2M and 1G hugepages
* `sysctls` (*type:* `map()`, *default:* `nil`) - The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse
"""

use GoogleApi.Gax.ModelBase

@type t :: %__MODULE__{
:cgroupMode => String.t() | nil,
:hugepages => GoogleApi.Container.V1.Model.HugepagesConfig.t() | nil,
:sysctls => map() | nil
}

field(:cgroupMode)
field(:hugepages, as: GoogleApi.Container.V1.Model.HugepagesConfig)
field(:sysctls, type: :map)
end

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ defmodule GoogleApi.Container.V1.Model.NodeConfig do
* `labels` (*type:* `map()`, *default:* `nil`) - The map of Kubernetes labels (key/value pairs) to be applied to each node. These will added in addition to any default label(s) that Kubernetes may apply to the node. In case of conflict in label keys, the applied set may differ depending on the Kubernetes version -- it's best to assume the behavior is undefined and conflicts should be avoided. For more information, including usage and the valid values, see: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
* `resourceManagerTags` (*type:* `GoogleApi.Container.V1.Model.ResourceManagerTags.t`, *default:* `nil`) - A map of resource manager tag keys and values to be attached to the nodes.
* `taints` (*type:* `list(GoogleApi.Container.V1.Model.NodeTaint.t)`, *default:* `nil`) - List of kubernetes taints to be applied to each node. For more information, including usage and the valid values, see: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
* `containerdConfig` (*type:* `GoogleApi.Container.V1.Model.ContainerdConfig.t`, *default:* `nil`) - Parameters for containerd customization.
* `kubeletConfig` (*type:* `GoogleApi.Container.V1.Model.NodeKubeletConfig.t`, *default:* `nil`) - Node kubelet configs.
* `bootDiskKmsKey` (*type:* `String.t`, *default:* `nil`) - The Customer Managed Encryption Key used to encrypt the boot disk attached to each node in the node pool. This should be of the form projects/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]/cryptoKeys/[KEY_NAME]. For more information about protecting resources with Cloud KMS Keys please see: https://cloud.google.com/compute/docs/disks/customer-managed-encryption
* `advancedMachineFeatures` (*type:* `GoogleApi.Container.V1.Model.AdvancedMachineFeatures.t`, *default:* `nil`) - Advanced features for the Compute Engine VM.
Expand Down Expand Up @@ -70,6 +71,7 @@ defmodule GoogleApi.Container.V1.Model.NodeConfig do
:labels => map() | nil,
:resourceManagerTags => GoogleApi.Container.V1.Model.ResourceManagerTags.t() | nil,
:taints => list(GoogleApi.Container.V1.Model.NodeTaint.t()) | nil,
:containerdConfig => GoogleApi.Container.V1.Model.ContainerdConfig.t() | nil,
:kubeletConfig => GoogleApi.Container.V1.Model.NodeKubeletConfig.t() | nil,
:bootDiskKmsKey => String.t() | nil,
:advancedMachineFeatures =>
Expand Down Expand Up @@ -116,6 +118,7 @@ defmodule GoogleApi.Container.V1.Model.NodeConfig do
field(:labels, type: :map)
field(:resourceManagerTags, as: GoogleApi.Container.V1.Model.ResourceManagerTags)
field(:taints, as: GoogleApi.Container.V1.Model.NodeTaint, type: :list)
field(:containerdConfig, as: GoogleApi.Container.V1.Model.ContainerdConfig)
field(:kubeletConfig, as: GoogleApi.Container.V1.Model.NodeKubeletConfig)
field(:bootDiskKmsKey)
field(:advancedMachineFeatures, as: GoogleApi.Container.V1.Model.AdvancedMachineFeatures)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,17 +21,20 @@ defmodule GoogleApi.Container.V1.Model.NodeConfigDefaults do
## Attributes
* `containerdConfig` (*type:* `GoogleApi.Container.V1.Model.ContainerdConfig.t`, *default:* `nil`) - Parameters for containerd customization.
* `gcfsConfig` (*type:* `GoogleApi.Container.V1.Model.GcfsConfig.t`, *default:* `nil`) - GCFS (Google Container File System, also known as Riptide) options.
* `loggingConfig` (*type:* `GoogleApi.Container.V1.Model.NodePoolLoggingConfig.t`, *default:* `nil`) - Logging configuration for node pools.
"""

use GoogleApi.Gax.ModelBase

@type t :: %__MODULE__{
:containerdConfig => GoogleApi.Container.V1.Model.ContainerdConfig.t() | nil,
:gcfsConfig => GoogleApi.Container.V1.Model.GcfsConfig.t() | nil,
:loggingConfig => GoogleApi.Container.V1.Model.NodePoolLoggingConfig.t() | nil
}

field(:containerdConfig, as: GoogleApi.Container.V1.Model.ContainerdConfig)
field(:gcfsConfig, as: GoogleApi.Container.V1.Model.GcfsConfig)
field(:loggingConfig, as: GoogleApi.Container.V1.Model.NodePoolLoggingConfig)
end
Expand Down
Loading

0 comments on commit 48f22b8

Please sign in to comment.