diff --git a/clients/os_config/README.md b/clients/os_config/README.md index ab0547b271..6b7f0c1961 100644 --- a/clients/os_config/README.md +++ b/clients/os_config/README.md @@ -11,7 +11,7 @@ Install this package from [Hex](https://hex.pm) by adding ```elixir def deps do - [{:google_api_os_config, "~> 0.20"}] + [{:google_api_os_config, "~> 0.21"}] end ``` diff --git a/clients/os_config/lib/google_api/os_config/v1/api/projects.ex b/clients/os_config/lib/google_api/os_config/v1/api/projects.ex index 782dbfb66d..d96ce938a2 100644 --- a/clients/os_config/lib/google_api/os_config/v1/api/projects.ex +++ b/clients/os_config/lib/google_api/os_config/v1/api/projects.ex @@ -25,6 +25,150 @@ defmodule GoogleApi.OSConfig.V1.Api.Projects do @library_version Mix.Project.config() |> Keyword.get(:version, "") + @doc """ + GetProjectFeatureSettings returns the feature settings for a project + + ## Parameters + + * `connection` (*type:* `GoogleApi.OSConfig.V1.Connection.t`) - Connection to server + * `name` (*type:* `String.t`) - Required. Name of the billing config. "projects//locations/global/projectFeatureSettings" + * `optional_params` (*type:* `keyword()`) - Optional parameters + * `:"$.xgafv"` (*type:* `String.t`) - V1 error format. + * `:access_token` (*type:* `String.t`) - OAuth access token. + * `:alt` (*type:* `String.t`) - Data format for response. + * `:callback` (*type:* `String.t`) - JSONP + * `:fields` (*type:* `String.t`) - Selector specifying which fields to include in a partial response. + * `:key` (*type:* `String.t`) - API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. + * `:oauth_token` (*type:* `String.t`) - OAuth 2.0 token for the current user. + * `:prettyPrint` (*type:* `boolean()`) - Returns response with indentations and line breaks. + * `:quotaUser` (*type:* `String.t`) - Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. + * `:uploadType` (*type:* `String.t`) - Legacy upload protocol for media (e.g. "media", "multipart"). + * `:upload_protocol` (*type:* `String.t`) - Upload protocol for media (e.g. "raw", "multipart"). + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.OSConfig.V1.Model.ProjectFeatureSettings{}}` on success + * `{:error, info}` on failure + """ + @spec osconfig_projects_locations_global_get_project_feature_settings( + Tesla.Env.client(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.OSConfig.V1.Model.ProjectFeatureSettings.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def osconfig_projects_locations_global_get_project_feature_settings( + connection, + name, + optional_params \\ [], + opts \\ [] + ) do + optional_params_config = %{ + :"$.xgafv" => :query, + :access_token => :query, + :alt => :query, + :callback => :query, + :fields => :query, + :key => :query, + :oauth_token => :query, + :prettyPrint => :query, + :quotaUser => :query, + :uploadType => :query, + :upload_protocol => :query + } + + request = + Request.new() + |> Request.method(:get) + |> Request.url("/v1/{+name}", %{ + "name" => URI.encode(name, &URI.char_unreserved?/1) + }) + |> Request.add_optional_params(optional_params_config, optional_params) + |> Request.library_version(@library_version) + + connection + |> Connection.execute(request) + |> Response.decode(opts ++ [struct: %GoogleApi.OSConfig.V1.Model.ProjectFeatureSettings{}]) + end + + @doc """ + UpdateProjectFeatureSettings sets the feature settings for a project. + + ## Parameters + + * `connection` (*type:* `GoogleApi.OSConfig.V1.Connection.t`) - Connection to server + * `name` (*type:* `String.t`) - Required. Immutable. Name of the config, e.g. projects/12345/locations/global/projectFeatureSettings + * `optional_params` (*type:* `keyword()`) - Optional parameters + * `:"$.xgafv"` (*type:* `String.t`) - V1 error format. + * `:access_token` (*type:* `String.t`) - OAuth access token. + * `:alt` (*type:* `String.t`) - Data format for response. + * `:callback` (*type:* `String.t`) - JSONP + * `:fields` (*type:* `String.t`) - Selector specifying which fields to include in a partial response. + * `:key` (*type:* `String.t`) - API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. + * `:oauth_token` (*type:* `String.t`) - OAuth 2.0 token for the current user. + * `:prettyPrint` (*type:* `boolean()`) - Returns response with indentations and line breaks. + * `:quotaUser` (*type:* `String.t`) - Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. + * `:uploadType` (*type:* `String.t`) - Legacy upload protocol for media (e.g. "media", "multipart"). + * `:upload_protocol` (*type:* `String.t`) - Upload protocol for media (e.g. "raw", "multipart"). + * `:updateMask` (*type:* `String.t`) - Optional. Field mask that controls which fields of the ProjectFeatureSettings should be updated. + * `:body` (*type:* `GoogleApi.OSConfig.V1.Model.ProjectFeatureSettings.t`) - + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.OSConfig.V1.Model.ProjectFeatureSettings{}}` on success + * `{:error, info}` on failure + """ + @spec osconfig_projects_locations_global_update_project_feature_settings( + Tesla.Env.client(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.OSConfig.V1.Model.ProjectFeatureSettings.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def osconfig_projects_locations_global_update_project_feature_settings( + connection, + name, + optional_params \\ [], + opts \\ [] + ) do + optional_params_config = %{ + :"$.xgafv" => :query, + :access_token => :query, + :alt => :query, + :callback => :query, + :fields => :query, + :key => :query, + :oauth_token => :query, + :prettyPrint => :query, + :quotaUser => :query, + :uploadType => :query, + :upload_protocol => :query, + :updateMask => :query, + :body => :body + } + + request = + Request.new() + |> Request.method(:patch) + |> Request.url("/v1/{+name}", %{ + "name" => URI.encode(name, &URI.char_unreserved?/1) + }) + |> Request.add_optional_params(optional_params_config, optional_params) + |> Request.library_version(@library_version) + + connection + |> Connection.execute(request) + |> Response.decode(opts ++ [struct: %GoogleApi.OSConfig.V1.Model.ProjectFeatureSettings{}]) + end + @doc """ Get inventory data for the specified VM instance. If the VM has no associated inventory, the message `NOT_FOUND` is returned. diff --git a/clients/os_config/lib/google_api/os_config/v1/metadata.ex b/clients/os_config/lib/google_api/os_config/v1/metadata.ex index 326c510d37..29e8629c00 100644 --- a/clients/os_config/lib/google_api/os_config/v1/metadata.ex +++ b/clients/os_config/lib/google_api/os_config/v1/metadata.ex @@ -20,7 +20,7 @@ defmodule GoogleApi.OSConfig.V1 do API client metadata for GoogleApi.OSConfig.V1. """ - @discovery_revision "20240304" + @discovery_revision "20240314" def discovery_revision(), do: @discovery_revision end diff --git a/clients/os_config/lib/google_api/os_config/v1/model/project_feature_settings.ex b/clients/os_config/lib/google_api/os_config/v1/model/project_feature_settings.ex new file mode 100644 index 0000000000..7b02e0ca68 --- /dev/null +++ b/clients/os_config/lib/google_api/os_config/v1/model/project_feature_settings.ex @@ -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.OSConfig.V1.Model.ProjectFeatureSettings do + @moduledoc """ + ProjectFeatureSettings represents the features settings for the VM Manager. The project features settings can be set for a project. + + ## Attributes + + * `name` (*type:* `String.t`, *default:* `nil`) - Required. Immutable. Name of the config, e.g. projects/12345/locations/global/projectFeatureSettings + * `patchAndConfigFeatureSet` (*type:* `String.t`, *default:* `nil`) - Currently set PatchAndConfigFeatureSet for name. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :name => String.t() | nil, + :patchAndConfigFeatureSet => String.t() | nil + } + + field(:name) + field(:patchAndConfigFeatureSet) +end + +defimpl Poison.Decoder, for: GoogleApi.OSConfig.V1.Model.ProjectFeatureSettings do + def decode(value, options) do + GoogleApi.OSConfig.V1.Model.ProjectFeatureSettings.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.OSConfig.V1.Model.ProjectFeatureSettings do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/os_config/mix.exs b/clients/os_config/mix.exs index 31a1249c81..33bc0572ec 100644 --- a/clients/os_config/mix.exs +++ b/clients/os_config/mix.exs @@ -18,7 +18,7 @@ defmodule GoogleApi.OSConfig.Mixfile do use Mix.Project - @version "0.20.4" + @version "0.21.0" def project() do [