diff --git a/clients/apigee/README.md b/clients/apigee/README.md index 14b144b798..40dbc782c2 100644 --- a/clients/apigee/README.md +++ b/clients/apigee/README.md @@ -11,7 +11,7 @@ Install this package from [Hex](https://hex.pm) by adding ```elixir def deps do - [{:google_api_apigee, "~> 0.53"}] + [{:google_api_apigee, "~> 0.54"}] end ``` diff --git a/clients/apigee/lib/google_api/apigee/v1/metadata.ex b/clients/apigee/lib/google_api/apigee/v1/metadata.ex index 78aa75ac86..3e40b4ae90 100644 --- a/clients/apigee/lib/google_api/apigee/v1/metadata.ex +++ b/clients/apigee/lib/google_api/apigee/v1/metadata.ex @@ -20,7 +20,7 @@ defmodule GoogleApi.Apigee.V1 do API client metadata for GoogleApi.Apigee.V1. """ - @discovery_revision "20241210" + @discovery_revision "20241213" def discovery_revision(), do: @discovery_revision end diff --git a/clients/apigee/lib/google_api/apigee/v1/model/google_cloud_apigee_v1_environment.ex b/clients/apigee/lib/google_api/apigee/v1/model/google_cloud_apigee_v1_environment.ex index ff5479c4e6..cefc275b71 100644 --- a/clients/apigee/lib/google_api/apigee/v1/model/google_cloud_apigee_v1_environment.ex +++ b/clients/apigee/lib/google_api/apigee/v1/model/google_cloud_apigee_v1_environment.ex @@ -22,6 +22,7 @@ defmodule GoogleApi.Apigee.V1.Model.GoogleCloudApigeeV1Environment do ## Attributes * `apiProxyType` (*type:* `String.t`, *default:* `nil`) - Optional. API Proxy type supported by the environment. The type can be set when creating the Environment and cannot be changed. + * `clientIpResolutionConfig` (*type:* `GoogleApi.Apigee.V1.Model.GoogleCloudApigeeV1EnvironmentClientIPResolutionConfig.t`, *default:* `nil`) - Optional. The algorithm to resolve IP. This will affect Analytics, API Security, and other features that use the client ip. To remove a client ip resolution config, update the field to an empty value. Example: '{ "clientIpResolutionConfig" = {} }' For more information, see: https://cloud.google.com/apigee/docs/api-platform/system-administration/client-ip-resolution. * `createdAt` (*type:* `String.t`, *default:* `nil`) - Output only. Creation time of this environment as milliseconds since epoch. * `deploymentType` (*type:* `String.t`, *default:* `nil`) - Optional. Deployment type supported by the environment. The deployment type can be set when creating the environment and cannot be changed. When you enable archive deployment, you will be **prevented from performing** a [subset of actions](/apigee/docs/api-platform/local-development/overview#prevented-actions) within the environment, including: * Managing the deployment of API proxy or shared flow revisions * Creating, updating, or deleting resource files * Creating, updating, or deleting target servers * `description` (*type:* `String.t`, *default:* `nil`) - Optional. Description of the environment. @@ -40,6 +41,9 @@ defmodule GoogleApi.Apigee.V1.Model.GoogleCloudApigeeV1Environment do @type t :: %__MODULE__{ :apiProxyType => String.t() | nil, + :clientIpResolutionConfig => + GoogleApi.Apigee.V1.Model.GoogleCloudApigeeV1EnvironmentClientIPResolutionConfig.t() + | nil, :createdAt => String.t() | nil, :deploymentType => String.t() | nil, :description => String.t() | nil, @@ -55,6 +59,11 @@ defmodule GoogleApi.Apigee.V1.Model.GoogleCloudApigeeV1Environment do } field(:apiProxyType) + + field(:clientIpResolutionConfig, + as: GoogleApi.Apigee.V1.Model.GoogleCloudApigeeV1EnvironmentClientIPResolutionConfig + ) + field(:createdAt) field(:deploymentType) field(:description) diff --git a/clients/apigee/lib/google_api/apigee/v1/model/google_cloud_apigee_v1_environment_client_ip_resolution_config.ex b/clients/apigee/lib/google_api/apigee/v1/model/google_cloud_apigee_v1_environment_client_ip_resolution_config.ex new file mode 100644 index 0000000000..a96d8ec4b4 --- /dev/null +++ b/clients/apigee/lib/google_api/apigee/v1/model/google_cloud_apigee_v1_environment_client_ip_resolution_config.ex @@ -0,0 +1,56 @@ +# 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.Apigee.V1.Model.GoogleCloudApigeeV1EnvironmentClientIPResolutionConfig do + @moduledoc """ + Configuration for resolving the client ip. + + ## Attributes + + * `headerIndexAlgorithm` (*type:* `GoogleApi.Apigee.V1.Model.GoogleCloudApigeeV1EnvironmentClientIPResolutionConfigHeaderIndexAlgorithm.t`, *default:* `nil`) - Resolves the client ip based on a custom header. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :headerIndexAlgorithm => + GoogleApi.Apigee.V1.Model.GoogleCloudApigeeV1EnvironmentClientIPResolutionConfigHeaderIndexAlgorithm.t() + | nil + } + + field(:headerIndexAlgorithm, + as: + GoogleApi.Apigee.V1.Model.GoogleCloudApigeeV1EnvironmentClientIPResolutionConfigHeaderIndexAlgorithm + ) +end + +defimpl Poison.Decoder, + for: GoogleApi.Apigee.V1.Model.GoogleCloudApigeeV1EnvironmentClientIPResolutionConfig do + def decode(value, options) do + GoogleApi.Apigee.V1.Model.GoogleCloudApigeeV1EnvironmentClientIPResolutionConfig.decode( + value, + options + ) + end +end + +defimpl Poison.Encoder, + for: GoogleApi.Apigee.V1.Model.GoogleCloudApigeeV1EnvironmentClientIPResolutionConfig do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/apigee/lib/google_api/apigee/v1/model/google_cloud_apigee_v1_environment_client_ip_resolution_config_header_index_algorithm.ex b/clients/apigee/lib/google_api/apigee/v1/model/google_cloud_apigee_v1_environment_client_ip_resolution_config_header_index_algorithm.ex new file mode 100644 index 0000000000..0ebe8c0468 --- /dev/null +++ b/clients/apigee/lib/google_api/apigee/v1/model/google_cloud_apigee_v1_environment_client_ip_resolution_config_header_index_algorithm.ex @@ -0,0 +1,56 @@ +# 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.Apigee.V1.Model.GoogleCloudApigeeV1EnvironmentClientIPResolutionConfigHeaderIndexAlgorithm do + @moduledoc """ + Resolves the client ip based on a custom header. + + ## Attributes + + * `ipHeaderIndex` (*type:* `integer()`, *default:* `nil`) - Required. The index of the ip in the header. Positive indices 0, 1, 2, 3 chooses indices from the left (first ips) Negative indices -1, -2, -3 chooses indices from the right (last ips) + * `ipHeaderName` (*type:* `String.t`, *default:* `nil`) - Required. The name of the header to extract the client ip from. We are currently only supporting the X-Forwarded-For header. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :ipHeaderIndex => integer() | nil, + :ipHeaderName => String.t() | nil + } + + field(:ipHeaderIndex) + field(:ipHeaderName) +end + +defimpl Poison.Decoder, + for: + GoogleApi.Apigee.V1.Model.GoogleCloudApigeeV1EnvironmentClientIPResolutionConfigHeaderIndexAlgorithm do + def decode(value, options) do + GoogleApi.Apigee.V1.Model.GoogleCloudApigeeV1EnvironmentClientIPResolutionConfigHeaderIndexAlgorithm.decode( + value, + options + ) + end +end + +defimpl Poison.Encoder, + for: + GoogleApi.Apigee.V1.Model.GoogleCloudApigeeV1EnvironmentClientIPResolutionConfigHeaderIndexAlgorithm do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/apigee/mix.exs b/clients/apigee/mix.exs index b4cfe7e353..1b99acff6c 100644 --- a/clients/apigee/mix.exs +++ b/clients/apigee/mix.exs @@ -18,7 +18,7 @@ defmodule GoogleApi.Apigee.Mixfile do use Mix.Project - @version "0.53.1" + @version "0.54.0" def project() do [