From fac72d179e132321f68923d39fb47b159d22c3c2 Mon Sep 17 00:00:00 2001 From: yoshi-code-bot <70984784+yoshi-code-bot@users.noreply.github.com> Date: Fri, 15 Jul 2022 14:18:24 -0700 Subject: [PATCH] feat: Automated regeneration of BareMetalSolution client (#10055) Auto-created at 2022-07-15 21:16:05 +0000 using the toys pull request generator. --- clients/bare_metal_solution/README.md | 2 +- .../bare_metal_solution/v1/metadata.ex | 2 +- .../bare_metal_solution/v2/api/projects.ex | 2162 +++++++++++++++++ .../bare_metal_solution/v2/connection.ex | 32 + .../bare_metal_solution/v2/metadata.ex | 26 + .../v2/model/allowed_client.ex | 64 + .../v2/model/detach_lun_request.ex | 49 + ...instance_provisioning_settings_response.ex | 51 + ..._baremetalsolution_v2_logical_interface.ex | 63 + ...rver_network_template_logical_interface.ex | 59 + .../bare_metal_solution/v2/model/instance.ex | 97 + .../v2/model/instance_config.ex | 88 + .../v2/model/instance_quota.ex | 55 + .../v2/model/intake_vlan_attachment.ex | 49 + .../v2/model/list_instances_response.ex | 52 + .../v2/model/list_locations_response.ex | 49 + .../v2/model/list_luns_response.ex | 52 + .../v2/model/list_network_usage_response.ex | 46 + .../v2/model/list_networks_response.ex | 52 + .../v2/model/list_nfs_shares_response.ex | 52 + .../list_provisioning_quotas_response.ex | 54 + .../v2/model/list_volumes_response.ex | 52 + .../bare_metal_solution/v2/model/location.ex | 58 + .../v2/model/logical_network_interface.ex | 58 + .../bare_metal_solution/v2/model/lun.ex | 73 + .../bare_metal_solution/v2/model/lun_range.ex | 49 + .../bare_metal_solution/v2/model/network.ex | 85 + .../v2/model/network_address.ex | 52 + .../v2/model/network_address_reservation.ex | 52 + .../v2/model/network_config.ex | 82 + .../v2/model/network_usage.ex | 49 + .../v2/model/nfs_export.ex | 64 + .../bare_metal_solution/v2/model/nfs_share.ex | 67 + .../bare_metal_solution/v2/model/operation.ex | 58 + .../v2/model/operation_metadata.ex | 64 + .../bare_metal_solution/v2/model/os_image.ex | 63 + .../v2/model/provisioning_config.ex | 82 + .../v2/model/provisioning_quota.ex | 70 + .../v2/model/qos_policy.ex | 46 + .../v2/model/reset_instance_request.ex | 41 + .../v2/model/resize_volume_request.ex | 46 + .../v2/model/server_network_template.ex | 62 + .../v2/model/snapshot_reservation_detail.ex | 55 + .../v2/model/start_instance_request.ex | 41 + .../bare_metal_solution/v2/model/status.ex | 52 + .../v2/model/stop_instance_request.ex | 41 + .../submit_provisioning_config_request.ex | 49 + .../submit_provisioning_config_response.ex | 46 + .../v2/model/vlan_attachment.ex | 52 + .../bare_metal_solution/v2/model/volume.ex | 99 + .../v2/model/volume_config.ex | 76 + .../bare_metal_solution/v2/model/vrf.ex | 55 + clients/bare_metal_solution/mix.exs | 2 +- 53 files changed, 4994 insertions(+), 3 deletions(-) create mode 100644 clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/api/projects.ex create mode 100644 clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/connection.ex create mode 100644 clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/metadata.ex create mode 100644 clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/allowed_client.ex create mode 100644 clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/detach_lun_request.ex create mode 100644 clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/fetch_instance_provisioning_settings_response.ex create mode 100644 clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/google_cloud_baremetalsolution_v2_logical_interface.ex create mode 100644 clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/google_cloud_baremetalsolution_v2_server_network_template_logical_interface.ex create mode 100644 clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/instance.ex create mode 100644 clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/instance_config.ex create mode 100644 clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/instance_quota.ex create mode 100644 clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/intake_vlan_attachment.ex create mode 100644 clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/list_instances_response.ex create mode 100644 clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/list_locations_response.ex create mode 100644 clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/list_luns_response.ex create mode 100644 clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/list_network_usage_response.ex create mode 100644 clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/list_networks_response.ex create mode 100644 clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/list_nfs_shares_response.ex create mode 100644 clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/list_provisioning_quotas_response.ex create mode 100644 clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/list_volumes_response.ex create mode 100644 clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/location.ex create mode 100644 clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/logical_network_interface.ex create mode 100644 clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/lun.ex create mode 100644 clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/lun_range.ex create mode 100644 clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/network.ex create mode 100644 clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/network_address.ex create mode 100644 clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/network_address_reservation.ex create mode 100644 clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/network_config.ex create mode 100644 clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/network_usage.ex create mode 100644 clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/nfs_export.ex create mode 100644 clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/nfs_share.ex create mode 100644 clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/operation.ex create mode 100644 clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/operation_metadata.ex create mode 100644 clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/os_image.ex create mode 100644 clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/provisioning_config.ex create mode 100644 clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/provisioning_quota.ex create mode 100644 clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/qos_policy.ex create mode 100644 clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/reset_instance_request.ex create mode 100644 clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/resize_volume_request.ex create mode 100644 clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/server_network_template.ex create mode 100644 clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/snapshot_reservation_detail.ex create mode 100644 clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/start_instance_request.ex create mode 100644 clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/status.ex create mode 100644 clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/stop_instance_request.ex create mode 100644 clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/submit_provisioning_config_request.ex create mode 100644 clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/submit_provisioning_config_response.ex create mode 100644 clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/vlan_attachment.ex create mode 100644 clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/volume.ex create mode 100644 clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/volume_config.ex create mode 100644 clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/vrf.ex diff --git a/clients/bare_metal_solution/README.md b/clients/bare_metal_solution/README.md index 395e69a2a0..0a72c0baa1 100644 --- a/clients/bare_metal_solution/README.md +++ b/clients/bare_metal_solution/README.md @@ -11,7 +11,7 @@ Install this package from [Hex](https://hex.pm) by adding ```elixir def deps do - [{:google_api_bare_metal_solution, "~> 0.3"}] + [{:google_api_bare_metal_solution, "~> 0.4"}] end ``` diff --git a/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v1/metadata.ex b/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v1/metadata.ex index cef8c889f2..c25226f5aa 100644 --- a/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v1/metadata.ex +++ b/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v1/metadata.ex @@ -20,7 +20,7 @@ defmodule GoogleApi.BareMetalSolution.V1 do API client metadata for GoogleApi.BareMetalSolution.V1. """ - @discovery_revision "20220322" + @discovery_revision "20220706" def discovery_revision(), do: @discovery_revision end diff --git a/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/api/projects.ex b/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/api/projects.ex new file mode 100644 index 0000000000..fb6b8ec04c --- /dev/null +++ b/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/api/projects.ex @@ -0,0 +1,2162 @@ +# 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.BareMetalSolution.V2.Api.Projects do + @moduledoc """ + API calls for all endpoints tagged `Projects`. + """ + + alias GoogleApi.BareMetalSolution.V2.Connection + alias GoogleApi.Gax.{Request, Response} + + @library_version Mix.Project.config() |> Keyword.get(:version, "") + + @doc """ + Gets information about a location. + + ## Parameters + + * `connection` (*type:* `GoogleApi.BareMetalSolution.V2.Connection.t`) - Connection to server + * `name` (*type:* `String.t`) - Resource name for the location. + * `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.BareMetalSolution.V2.Model.Location{}}` on success + * `{:error, info}` on failure + """ + @spec baremetalsolution_projects_locations_get( + Tesla.Env.client(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.BareMetalSolution.V2.Model.Location.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def baremetalsolution_projects_locations_get( + 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("/v2/{+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.BareMetalSolution.V2.Model.Location{}]) + end + + @doc """ + Lists information about the supported locations for this service. + + ## Parameters + + * `connection` (*type:* `GoogleApi.BareMetalSolution.V2.Connection.t`) - Connection to server + * `name` (*type:* `String.t`) - The resource that owns the locations collection, if applicable. + * `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"). + * `:filter` (*type:* `String.t`) - A filter to narrow down results to a preferred subset. The filtering language accepts strings like `"displayName=tokyo"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160). + * `:pageSize` (*type:* `integer()`) - The maximum number of results to return. If not set, the service selects a default. + * `:pageToken` (*type:* `String.t`) - A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page. + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.BareMetalSolution.V2.Model.ListLocationsResponse{}}` on success + * `{:error, info}` on failure + """ + @spec baremetalsolution_projects_locations_list( + Tesla.Env.client(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.BareMetalSolution.V2.Model.ListLocationsResponse.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def baremetalsolution_projects_locations_list( + 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, + :filter => :query, + :pageSize => :query, + :pageToken => :query + } + + request = + Request.new() + |> Request.method(:get) + |> Request.url("/v2/{+name}/locations", %{ + "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.BareMetalSolution.V2.Model.ListLocationsResponse{}] + ) + end + + @doc """ + Get instance provisioning settings for a given project. This is hidden method used by UI only. + + ## Parameters + + * `connection` (*type:* `GoogleApi.BareMetalSolution.V2.Connection.t`) - Connection to server + * `location` (*type:* `String.t`) - Required. The parent project and location containing the ProvisioningSettings. + * `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.BareMetalSolution.V2.Model.FetchInstanceProvisioningSettingsResponse{}}` on success + * `{:error, info}` on failure + """ + @spec baremetalsolution_projects_locations_instance_provisioning_settings_fetch( + Tesla.Env.client(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, + GoogleApi.BareMetalSolution.V2.Model.FetchInstanceProvisioningSettingsResponse.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def baremetalsolution_projects_locations_instance_provisioning_settings_fetch( + connection, + location, + 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("/v2/{+location}/instanceProvisioningSettings:fetch", %{ + "location" => URI.encode(location, &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.BareMetalSolution.V2.Model.FetchInstanceProvisioningSettingsResponse{} + ] + ) + end + + @doc """ + Detach LUN from Instance. + + ## Parameters + + * `connection` (*type:* `GoogleApi.BareMetalSolution.V2.Connection.t`) - Connection to server + * `instance` (*type:* `String.t`) - Required. Name of the instance. + * `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"). + * `:body` (*type:* `GoogleApi.BareMetalSolution.V2.Model.DetachLunRequest.t`) - + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.BareMetalSolution.V2.Model.Operation{}}` on success + * `{:error, info}` on failure + """ + @spec baremetalsolution_projects_locations_instances_detach_lun( + Tesla.Env.client(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.BareMetalSolution.V2.Model.Operation.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def baremetalsolution_projects_locations_instances_detach_lun( + connection, + instance, + 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, + :body => :body + } + + request = + Request.new() + |> Request.method(:post) + |> Request.url("/v2/{+instance}:detachLun", %{ + "instance" => URI.encode(instance, &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.BareMetalSolution.V2.Model.Operation{}]) + end + + @doc """ + Get details about a single server. + + ## Parameters + + * `connection` (*type:* `GoogleApi.BareMetalSolution.V2.Connection.t`) - Connection to server + * `name` (*type:* `String.t`) - Required. Name of the resource. + * `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.BareMetalSolution.V2.Model.Instance{}}` on success + * `{:error, info}` on failure + """ + @spec baremetalsolution_projects_locations_instances_get( + Tesla.Env.client(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.BareMetalSolution.V2.Model.Instance.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def baremetalsolution_projects_locations_instances_get( + 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("/v2/{+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.BareMetalSolution.V2.Model.Instance{}]) + end + + @doc """ + List servers in a given project and location. + + ## Parameters + + * `connection` (*type:* `GoogleApi.BareMetalSolution.V2.Connection.t`) - Connection to server + * `parent` (*type:* `String.t`) - Required. Parent value for ListInstancesRequest. + * `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"). + * `:filter` (*type:* `String.t`) - List filter. + * `:pageSize` (*type:* `integer()`) - Requested page size. Server may return fewer items than requested. If unspecified, the server will pick an appropriate default. + * `:pageToken` (*type:* `String.t`) - A token identifying a page of results from the server. + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.BareMetalSolution.V2.Model.ListInstancesResponse{}}` on success + * `{:error, info}` on failure + """ + @spec baremetalsolution_projects_locations_instances_list( + Tesla.Env.client(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.BareMetalSolution.V2.Model.ListInstancesResponse.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def baremetalsolution_projects_locations_instances_list( + connection, + parent, + 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, + :filter => :query, + :pageSize => :query, + :pageToken => :query + } + + request = + Request.new() + |> Request.method(:get) + |> Request.url("/v2/{+parent}/instances", %{ + "parent" => URI.encode(parent, &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.BareMetalSolution.V2.Model.ListInstancesResponse{}] + ) + end + + @doc """ + Update details of a single server. + + ## Parameters + + * `connection` (*type:* `GoogleApi.BareMetalSolution.V2.Connection.t`) - Connection to server + * `name` (*type:* `String.t`) - Output only. The resource name of this `Instance`. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. Format: `projects/{project}/locations/{location}/instances/{instance}` + * `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`) - The list of fields to update. The currently supported fields are: `labels` `hyperthreading_enabled` `os_image` + * `:body` (*type:* `GoogleApi.BareMetalSolution.V2.Model.Instance.t`) - + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.BareMetalSolution.V2.Model.Operation{}}` on success + * `{:error, info}` on failure + """ + @spec baremetalsolution_projects_locations_instances_patch( + Tesla.Env.client(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.BareMetalSolution.V2.Model.Operation.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def baremetalsolution_projects_locations_instances_patch( + 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("/v2/{+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.BareMetalSolution.V2.Model.Operation{}]) + end + + @doc """ + Perform an ungraceful, hard reset on a server. Equivalent to shutting the power off and then turning it back on. + + ## Parameters + + * `connection` (*type:* `GoogleApi.BareMetalSolution.V2.Connection.t`) - Connection to server + * `name` (*type:* `String.t`) - Required. Name of the resource. + * `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"). + * `:body` (*type:* `GoogleApi.BareMetalSolution.V2.Model.ResetInstanceRequest.t`) - + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.BareMetalSolution.V2.Model.Operation{}}` on success + * `{:error, info}` on failure + """ + @spec baremetalsolution_projects_locations_instances_reset( + Tesla.Env.client(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.BareMetalSolution.V2.Model.Operation.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def baremetalsolution_projects_locations_instances_reset( + 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, + :body => :body + } + + request = + Request.new() + |> Request.method(:post) + |> Request.url("/v2/{+name}:reset", %{ + "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.BareMetalSolution.V2.Model.Operation{}]) + end + + @doc """ + Starts a server that was shutdown. + + ## Parameters + + * `connection` (*type:* `GoogleApi.BareMetalSolution.V2.Connection.t`) - Connection to server + * `name` (*type:* `String.t`) - Required. Name of the resource. + * `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"). + * `:body` (*type:* `GoogleApi.BareMetalSolution.V2.Model.StartInstanceRequest.t`) - + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.BareMetalSolution.V2.Model.Operation{}}` on success + * `{:error, info}` on failure + """ + @spec baremetalsolution_projects_locations_instances_start( + Tesla.Env.client(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.BareMetalSolution.V2.Model.Operation.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def baremetalsolution_projects_locations_instances_start( + 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, + :body => :body + } + + request = + Request.new() + |> Request.method(:post) + |> Request.url("/v2/{+name}:start", %{ + "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.BareMetalSolution.V2.Model.Operation{}]) + end + + @doc """ + Stop a running server. + + ## Parameters + + * `connection` (*type:* `GoogleApi.BareMetalSolution.V2.Connection.t`) - Connection to server + * `name` (*type:* `String.t`) - Required. Name of the resource. + * `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"). + * `:body` (*type:* `GoogleApi.BareMetalSolution.V2.Model.StopInstanceRequest.t`) - + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.BareMetalSolution.V2.Model.Operation{}}` on success + * `{:error, info}` on failure + """ + @spec baremetalsolution_projects_locations_instances_stop( + Tesla.Env.client(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.BareMetalSolution.V2.Model.Operation.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def baremetalsolution_projects_locations_instances_stop( + 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, + :body => :body + } + + request = + Request.new() + |> Request.method(:post) + |> Request.url("/v2/{+name}:stop", %{ + "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.BareMetalSolution.V2.Model.Operation{}]) + end + + @doc """ + Get details of a single network. + + ## Parameters + + * `connection` (*type:* `GoogleApi.BareMetalSolution.V2.Connection.t`) - Connection to server + * `name` (*type:* `String.t`) - Required. Name of the resource. + * `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.BareMetalSolution.V2.Model.Network{}}` on success + * `{:error, info}` on failure + """ + @spec baremetalsolution_projects_locations_networks_get( + Tesla.Env.client(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.BareMetalSolution.V2.Model.Network.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def baremetalsolution_projects_locations_networks_get( + 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("/v2/{+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.BareMetalSolution.V2.Model.Network{}]) + end + + @doc """ + List network in a given project and location. + + ## Parameters + + * `connection` (*type:* `GoogleApi.BareMetalSolution.V2.Connection.t`) - Connection to server + * `parent` (*type:* `String.t`) - Required. Parent value for ListNetworksRequest. + * `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"). + * `:filter` (*type:* `String.t`) - List filter. + * `:pageSize` (*type:* `integer()`) - Requested page size. The server might return fewer items than requested. If unspecified, server will pick an appropriate default. + * `:pageToken` (*type:* `String.t`) - A token identifying a page of results from the server. + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.BareMetalSolution.V2.Model.ListNetworksResponse{}}` on success + * `{:error, info}` on failure + """ + @spec baremetalsolution_projects_locations_networks_list( + Tesla.Env.client(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.BareMetalSolution.V2.Model.ListNetworksResponse.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def baremetalsolution_projects_locations_networks_list( + connection, + parent, + 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, + :filter => :query, + :pageSize => :query, + :pageToken => :query + } + + request = + Request.new() + |> Request.method(:get) + |> Request.url("/v2/{+parent}/networks", %{ + "parent" => URI.encode(parent, &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.BareMetalSolution.V2.Model.ListNetworksResponse{}] + ) + end + + @doc """ + List all Networks (and used IPs for each Network) in the vendor account associated with the specified project. + + ## Parameters + + * `connection` (*type:* `GoogleApi.BareMetalSolution.V2.Connection.t`) - Connection to server + * `location` (*type:* `String.t`) - Required. Parent value (project and location). + * `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.BareMetalSolution.V2.Model.ListNetworkUsageResponse{}}` on success + * `{:error, info}` on failure + """ + @spec baremetalsolution_projects_locations_networks_list_network_usage( + Tesla.Env.client(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.BareMetalSolution.V2.Model.ListNetworkUsageResponse.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def baremetalsolution_projects_locations_networks_list_network_usage( + connection, + location, + 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("/v2/{+location}/networks:listNetworkUsage", %{ + "location" => URI.encode(location, &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.BareMetalSolution.V2.Model.ListNetworkUsageResponse{}] + ) + end + + @doc """ + Update details of a single network. + + ## Parameters + + * `connection` (*type:* `GoogleApi.BareMetalSolution.V2.Connection.t`) - Connection to server + * `name` (*type:* `String.t`) - Output only. The resource name of this `Network`. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. Format: `projects/{project}/locations/{location}/networks/{network}` + * `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`) - The list of fields to update. The only currently supported fields are: `labels`, `reservations` + * `:body` (*type:* `GoogleApi.BareMetalSolution.V2.Model.Network.t`) - + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.BareMetalSolution.V2.Model.Operation{}}` on success + * `{:error, info}` on failure + """ + @spec baremetalsolution_projects_locations_networks_patch( + Tesla.Env.client(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.BareMetalSolution.V2.Model.Operation.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def baremetalsolution_projects_locations_networks_patch( + 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("/v2/{+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.BareMetalSolution.V2.Model.Operation{}]) + end + + @doc """ + Get details of a single NFS share. + + ## Parameters + + * `connection` (*type:* `GoogleApi.BareMetalSolution.V2.Connection.t`) - Connection to server + * `name` (*type:* `String.t`) - Required. Name of the resource. + * `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.BareMetalSolution.V2.Model.NfsShare{}}` on success + * `{:error, info}` on failure + """ + @spec baremetalsolution_projects_locations_nfs_shares_get( + Tesla.Env.client(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.BareMetalSolution.V2.Model.NfsShare.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def baremetalsolution_projects_locations_nfs_shares_get( + 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("/v2/{+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.BareMetalSolution.V2.Model.NfsShare{}]) + end + + @doc """ + List NFS shares. + + ## Parameters + + * `connection` (*type:* `GoogleApi.BareMetalSolution.V2.Connection.t`) - Connection to server + * `parent` (*type:* `String.t`) - Required. Parent value for ListNfsSharesRequest. + * `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"). + * `:filter` (*type:* `String.t`) - List filter. + * `:pageSize` (*type:* `integer()`) - Requested page size. The server might return fewer items than requested. If unspecified, server will pick an appropriate default. + * `:pageToken` (*type:* `String.t`) - A token identifying a page of results from the server. + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.BareMetalSolution.V2.Model.ListNfsSharesResponse{}}` on success + * `{:error, info}` on failure + """ + @spec baremetalsolution_projects_locations_nfs_shares_list( + Tesla.Env.client(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.BareMetalSolution.V2.Model.ListNfsSharesResponse.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def baremetalsolution_projects_locations_nfs_shares_list( + connection, + parent, + 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, + :filter => :query, + :pageSize => :query, + :pageToken => :query + } + + request = + Request.new() + |> Request.method(:get) + |> Request.url("/v2/{+parent}/nfsShares", %{ + "parent" => URI.encode(parent, &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.BareMetalSolution.V2.Model.ListNfsSharesResponse{}] + ) + end + + @doc """ + Update details of a single NFS share. + + ## Parameters + + * `connection` (*type:* `GoogleApi.BareMetalSolution.V2.Connection.t`) - Connection to server + * `name` (*type:* `String.t`) - Output only. The name of the NFS share. + * `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`) - The list of fields to update. The only currently supported fields are: `labels` + * `:body` (*type:* `GoogleApi.BareMetalSolution.V2.Model.NfsShare.t`) - + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.BareMetalSolution.V2.Model.Operation{}}` on success + * `{:error, info}` on failure + """ + @spec baremetalsolution_projects_locations_nfs_shares_patch( + Tesla.Env.client(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.BareMetalSolution.V2.Model.Operation.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def baremetalsolution_projects_locations_nfs_shares_patch( + 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("/v2/{+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.BareMetalSolution.V2.Model.Operation{}]) + end + + @doc """ + Get details about an operation. This method used only to work around CCFE lack of passthrough LRO support (b/221498758). + + ## Parameters + + * `connection` (*type:* `GoogleApi.BareMetalSolution.V2.Connection.t`) - Connection to server + * `name` (*type:* `String.t`) - The name of the operation resource. + * `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.BareMetalSolution.V2.Model.Operation{}}` on success + * `{:error, info}` on failure + """ + @spec baremetalsolution_projects_locations_operations_get( + Tesla.Env.client(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.BareMetalSolution.V2.Model.Operation.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def baremetalsolution_projects_locations_operations_get( + 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("/v2/{+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.BareMetalSolution.V2.Model.Operation{}]) + end + + @doc """ + Create new ProvisioningConfig. + + ## Parameters + + * `connection` (*type:* `GoogleApi.BareMetalSolution.V2.Connection.t`) - Connection to server + * `parent` (*type:* `String.t`) - Required. The parent project and location containing the ProvisioningConfig. + * `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"). + * `:email` (*type:* `String.t`) - Optional. Email provided to send a confirmation with provisioning config to. + * `:body` (*type:* `GoogleApi.BareMetalSolution.V2.Model.ProvisioningConfig.t`) - + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.BareMetalSolution.V2.Model.ProvisioningConfig{}}` on success + * `{:error, info}` on failure + """ + @spec baremetalsolution_projects_locations_provisioning_configs_create( + Tesla.Env.client(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.BareMetalSolution.V2.Model.ProvisioningConfig.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def baremetalsolution_projects_locations_provisioning_configs_create( + connection, + parent, + 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, + :email => :query, + :body => :body + } + + request = + Request.new() + |> Request.method(:post) + |> Request.url("/v2/{+parent}/provisioningConfigs", %{ + "parent" => URI.encode(parent, &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.BareMetalSolution.V2.Model.ProvisioningConfig{}] + ) + end + + @doc """ + Get ProvisioningConfig by name. + + ## Parameters + + * `connection` (*type:* `GoogleApi.BareMetalSolution.V2.Connection.t`) - Connection to server + * `name` (*type:* `String.t`) - Required. Name of the ProvisioningConfig. + * `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.BareMetalSolution.V2.Model.ProvisioningConfig{}}` on success + * `{:error, info}` on failure + """ + @spec baremetalsolution_projects_locations_provisioning_configs_get( + Tesla.Env.client(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.BareMetalSolution.V2.Model.ProvisioningConfig.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def baremetalsolution_projects_locations_provisioning_configs_get( + 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("/v2/{+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.BareMetalSolution.V2.Model.ProvisioningConfig{}] + ) + end + + @doc """ + Update existing ProvisioningConfig. + + ## Parameters + + * `connection` (*type:* `GoogleApi.BareMetalSolution.V2.Connection.t`) - Connection to server + * `name` (*type:* `String.t`) - Output only. The name of the provisioning config. + * `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"). + * `:email` (*type:* `String.t`) - Optional. Email provided to send a confirmation with provisioning config to. + * `:updateMask` (*type:* `String.t`) - Required. The list of fields to update. + * `:body` (*type:* `GoogleApi.BareMetalSolution.V2.Model.ProvisioningConfig.t`) - + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.BareMetalSolution.V2.Model.ProvisioningConfig{}}` on success + * `{:error, info}` on failure + """ + @spec baremetalsolution_projects_locations_provisioning_configs_patch( + Tesla.Env.client(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.BareMetalSolution.V2.Model.ProvisioningConfig.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def baremetalsolution_projects_locations_provisioning_configs_patch( + 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, + :email => :query, + :updateMask => :query, + :body => :body + } + + request = + Request.new() + |> Request.method(:patch) + |> Request.url("/v2/{+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.BareMetalSolution.V2.Model.ProvisioningConfig{}] + ) + end + + @doc """ + Submit a provisiong configuration for a given project. + + ## Parameters + + * `connection` (*type:* `GoogleApi.BareMetalSolution.V2.Connection.t`) - Connection to server + * `parent` (*type:* `String.t`) - Required. The parent project and location containing the ProvisioningConfig. + * `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"). + * `:body` (*type:* `GoogleApi.BareMetalSolution.V2.Model.SubmitProvisioningConfigRequest.t`) - + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.BareMetalSolution.V2.Model.SubmitProvisioningConfigResponse{}}` on success + * `{:error, info}` on failure + """ + @spec baremetalsolution_projects_locations_provisioning_configs_submit( + Tesla.Env.client(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.BareMetalSolution.V2.Model.SubmitProvisioningConfigResponse.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def baremetalsolution_projects_locations_provisioning_configs_submit( + connection, + parent, + 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, + :body => :body + } + + request = + Request.new() + |> Request.method(:post) + |> Request.url("/v2/{+parent}/provisioningConfigs:submit", %{ + "parent" => URI.encode(parent, &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.BareMetalSolution.V2.Model.SubmitProvisioningConfigResponse{}] + ) + end + + @doc """ + List the budget details to provision resources on a given project. + + ## Parameters + + * `connection` (*type:* `GoogleApi.BareMetalSolution.V2.Connection.t`) - Connection to server + * `parent` (*type:* `String.t`) - Required. Parent value for ListProvisioningQuotasRequest. + * `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"). + * `:pageSize` (*type:* `integer()`) - Requested page size. The server might return fewer items than requested. If unspecified, server will pick an appropriate default. Notice that page_size field is not supported and won't be respected in the API request for now, will be updated when pagination is supported. + * `:pageToken` (*type:* `String.t`) - A token identifying a page of results from the server. + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.BareMetalSolution.V2.Model.ListProvisioningQuotasResponse{}}` on success + * `{:error, info}` on failure + """ + @spec baremetalsolution_projects_locations_provisioning_quotas_list( + Tesla.Env.client(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.BareMetalSolution.V2.Model.ListProvisioningQuotasResponse.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def baremetalsolution_projects_locations_provisioning_quotas_list( + connection, + parent, + 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, + :pageSize => :query, + :pageToken => :query + } + + request = + Request.new() + |> Request.method(:get) + |> Request.url("/v2/{+parent}/provisioningQuotas", %{ + "parent" => URI.encode(parent, &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.BareMetalSolution.V2.Model.ListProvisioningQuotasResponse{}] + ) + end + + @doc """ + Get details of a single storage volume. + + ## Parameters + + * `connection` (*type:* `GoogleApi.BareMetalSolution.V2.Connection.t`) - Connection to server + * `name` (*type:* `String.t`) - Required. Name of the resource. + * `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.BareMetalSolution.V2.Model.Volume{}}` on success + * `{:error, info}` on failure + """ + @spec baremetalsolution_projects_locations_volumes_get( + Tesla.Env.client(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.BareMetalSolution.V2.Model.Volume.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def baremetalsolution_projects_locations_volumes_get( + 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("/v2/{+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.BareMetalSolution.V2.Model.Volume{}]) + end + + @doc """ + List storage volumes in a given project and location. + + ## Parameters + + * `connection` (*type:* `GoogleApi.BareMetalSolution.V2.Connection.t`) - Connection to server + * `parent` (*type:* `String.t`) - Required. Parent value for ListVolumesRequest. + * `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"). + * `:filter` (*type:* `String.t`) - List filter. + * `:pageSize` (*type:* `integer()`) - Requested page size. The server might return fewer items than requested. If unspecified, server will pick an appropriate default. + * `:pageToken` (*type:* `String.t`) - A token identifying a page of results from the server. + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.BareMetalSolution.V2.Model.ListVolumesResponse{}}` on success + * `{:error, info}` on failure + """ + @spec baremetalsolution_projects_locations_volumes_list( + Tesla.Env.client(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.BareMetalSolution.V2.Model.ListVolumesResponse.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def baremetalsolution_projects_locations_volumes_list( + connection, + parent, + 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, + :filter => :query, + :pageSize => :query, + :pageToken => :query + } + + request = + Request.new() + |> Request.method(:get) + |> Request.url("/v2/{+parent}/volumes", %{ + "parent" => URI.encode(parent, &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.BareMetalSolution.V2.Model.ListVolumesResponse{}] + ) + end + + @doc """ + Update details of a single storage volume. + + ## Parameters + + * `connection` (*type:* `GoogleApi.BareMetalSolution.V2.Connection.t`) - Connection to server + * `name` (*type:* `String.t`) - Output only. The resource name of this `Volume`. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. Format: `projects/{project}/locations/{location}/volumes/{volume}` + * `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`) - The list of fields to update. The only currently supported fields are: `snapshot_auto_delete_behavior` `snapshot_schedule_policy_name` 'labels' 'snapshot_enabled' 'snapshot_reservation_detail.reserved_space_percent' + * `:body` (*type:* `GoogleApi.BareMetalSolution.V2.Model.Volume.t`) - + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.BareMetalSolution.V2.Model.Operation{}}` on success + * `{:error, info}` on failure + """ + @spec baremetalsolution_projects_locations_volumes_patch( + Tesla.Env.client(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.BareMetalSolution.V2.Model.Operation.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def baremetalsolution_projects_locations_volumes_patch( + 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("/v2/{+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.BareMetalSolution.V2.Model.Operation{}]) + end + + @doc """ + Emergency Volume resize. + + ## Parameters + + * `connection` (*type:* `GoogleApi.BareMetalSolution.V2.Connection.t`) - Connection to server + * `volume` (*type:* `String.t`) - Required. Volume to resize. + * `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"). + * `:body` (*type:* `GoogleApi.BareMetalSolution.V2.Model.ResizeVolumeRequest.t`) - + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.BareMetalSolution.V2.Model.Operation{}}` on success + * `{:error, info}` on failure + """ + @spec baremetalsolution_projects_locations_volumes_resize( + Tesla.Env.client(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.BareMetalSolution.V2.Model.Operation.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def baremetalsolution_projects_locations_volumes_resize( + connection, + volume, + 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, + :body => :body + } + + request = + Request.new() + |> Request.method(:post) + |> Request.url("/v2/{+volume}:resize", %{ + "volume" => URI.encode(volume, &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.BareMetalSolution.V2.Model.Operation{}]) + end + + @doc """ + Get details of a single storage logical unit number(LUN). + + ## Parameters + + * `connection` (*type:* `GoogleApi.BareMetalSolution.V2.Connection.t`) - Connection to server + * `name` (*type:* `String.t`) - Required. Name of the resource. + * `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.BareMetalSolution.V2.Model.Lun{}}` on success + * `{:error, info}` on failure + """ + @spec baremetalsolution_projects_locations_volumes_luns_get( + Tesla.Env.client(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.BareMetalSolution.V2.Model.Lun.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def baremetalsolution_projects_locations_volumes_luns_get( + 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("/v2/{+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.BareMetalSolution.V2.Model.Lun{}]) + end + + @doc """ + List storage volume luns for given storage volume. + + ## Parameters + + * `connection` (*type:* `GoogleApi.BareMetalSolution.V2.Connection.t`) - Connection to server + * `parent` (*type:* `String.t`) - Required. Parent value for ListLunsRequest. + * `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"). + * `:pageSize` (*type:* `integer()`) - Requested page size. The server might return fewer items than requested. If unspecified, server will pick an appropriate default. + * `:pageToken` (*type:* `String.t`) - A token identifying a page of results from the server. + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.BareMetalSolution.V2.Model.ListLunsResponse{}}` on success + * `{:error, info}` on failure + """ + @spec baremetalsolution_projects_locations_volumes_luns_list( + Tesla.Env.client(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.BareMetalSolution.V2.Model.ListLunsResponse.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def baremetalsolution_projects_locations_volumes_luns_list( + connection, + parent, + 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, + :pageSize => :query, + :pageToken => :query + } + + request = + Request.new() + |> Request.method(:get) + |> Request.url("/v2/{+parent}/luns", %{ + "parent" => URI.encode(parent, &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.BareMetalSolution.V2.Model.ListLunsResponse{}]) + end +end diff --git a/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/connection.ex b/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/connection.ex new file mode 100644 index 0000000000..7e14ec617d --- /dev/null +++ b/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/connection.ex @@ -0,0 +1,32 @@ +# 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.BareMetalSolution.V2.Connection do + @moduledoc """ + Handle Tesla connections for GoogleApi.BareMetalSolution.V2. + """ + + @type t :: Tesla.Env.client() + + use GoogleApi.Gax.Connection, + scopes: [ + # See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account. + "https://www.googleapis.com/auth/cloud-platform" + ], + otp_app: :google_api_bare_metal_solution, + base_url: "https://baremetalsolution.googleapis.com/" +end diff --git a/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/metadata.ex b/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/metadata.ex new file mode 100644 index 0000000000..5ebe6af129 --- /dev/null +++ b/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/metadata.ex @@ -0,0 +1,26 @@ +# Copyright 2020 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.BareMetalSolution.V2 do + @moduledoc """ + API client metadata for GoogleApi.BareMetalSolution.V2. + """ + + @discovery_revision "20220706" + + def discovery_revision(), do: @discovery_revision +end diff --git a/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/allowed_client.ex b/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/allowed_client.ex new file mode 100644 index 0000000000..52fe75a97b --- /dev/null +++ b/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/allowed_client.ex @@ -0,0 +1,64 @@ +# 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.BareMetalSolution.V2.Model.AllowedClient do + @moduledoc """ + Represents an 'access point' for the share. + + ## Attributes + + * `allowDev` (*type:* `boolean()`, *default:* `nil`) - Allow dev flag. Which controls whether to allow creation of devices. + * `allowSuid` (*type:* `boolean()`, *default:* `nil`) - Allow the setuid flag. + * `allowedClientsCidr` (*type:* `String.t`, *default:* `nil`) - The subnet of IP addresses permitted to access the share. + * `mountPermissions` (*type:* `String.t`, *default:* `nil`) - Mount permissions. + * `network` (*type:* `String.t`, *default:* `nil`) - The network the access point sits on. + * `noRootSquash` (*type:* `boolean()`, *default:* `nil`) - Disable root squashing, which is a feature of NFS. Root squash is a special mapping of the remote superuser (root) identity when using identity authentication. + * `shareIp` (*type:* `String.t`, *default:* `nil`) - The IP address of the share on this network. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :allowDev => boolean() | nil, + :allowSuid => boolean() | nil, + :allowedClientsCidr => String.t() | nil, + :mountPermissions => String.t() | nil, + :network => String.t() | nil, + :noRootSquash => boolean() | nil, + :shareIp => String.t() | nil + } + + field(:allowDev) + field(:allowSuid) + field(:allowedClientsCidr) + field(:mountPermissions) + field(:network) + field(:noRootSquash) + field(:shareIp) +end + +defimpl Poison.Decoder, for: GoogleApi.BareMetalSolution.V2.Model.AllowedClient do + def decode(value, options) do + GoogleApi.BareMetalSolution.V2.Model.AllowedClient.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.BareMetalSolution.V2.Model.AllowedClient do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/detach_lun_request.ex b/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/detach_lun_request.ex new file mode 100644 index 0000000000..2084655ef1 --- /dev/null +++ b/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/detach_lun_request.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.BareMetalSolution.V2.Model.DetachLunRequest do + @moduledoc """ + Message for detach specific LUN from an Instance. + + ## Attributes + + * `lun` (*type:* `String.t`, *default:* `nil`) - Required. Name of the Lun to detach. + * `skipReboot` (*type:* `boolean()`, *default:* `nil`) - If true, performs lun unmapping without instance reboot. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :lun => String.t() | nil, + :skipReboot => boolean() | nil + } + + field(:lun) + field(:skipReboot) +end + +defimpl Poison.Decoder, for: GoogleApi.BareMetalSolution.V2.Model.DetachLunRequest do + def decode(value, options) do + GoogleApi.BareMetalSolution.V2.Model.DetachLunRequest.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.BareMetalSolution.V2.Model.DetachLunRequest do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/fetch_instance_provisioning_settings_response.ex b/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/fetch_instance_provisioning_settings_response.ex new file mode 100644 index 0000000000..76fbab3e8b --- /dev/null +++ b/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/fetch_instance_provisioning_settings_response.ex @@ -0,0 +1,51 @@ +# 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.BareMetalSolution.V2.Model.FetchInstanceProvisioningSettingsResponse do + @moduledoc """ + Response with all provisioning settings. + + ## Attributes + + * `images` (*type:* `list(GoogleApi.BareMetalSolution.V2.Model.OSImage.t)`, *default:* `nil`) - The OS images available. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :images => list(GoogleApi.BareMetalSolution.V2.Model.OSImage.t()) | nil + } + + field(:images, as: GoogleApi.BareMetalSolution.V2.Model.OSImage, type: :list) +end + +defimpl Poison.Decoder, + for: GoogleApi.BareMetalSolution.V2.Model.FetchInstanceProvisioningSettingsResponse do + def decode(value, options) do + GoogleApi.BareMetalSolution.V2.Model.FetchInstanceProvisioningSettingsResponse.decode( + value, + options + ) + end +end + +defimpl Poison.Encoder, + for: GoogleApi.BareMetalSolution.V2.Model.FetchInstanceProvisioningSettingsResponse do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/google_cloud_baremetalsolution_v2_logical_interface.ex b/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/google_cloud_baremetalsolution_v2_logical_interface.ex new file mode 100644 index 0000000000..d8c1046a78 --- /dev/null +++ b/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/google_cloud_baremetalsolution_v2_logical_interface.ex @@ -0,0 +1,63 @@ +# 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.BareMetalSolution.V2.Model.GoogleCloudBaremetalsolutionV2LogicalInterface do + @moduledoc """ + Each logical interface represents a logical abstraction of the underlying physical interface (for eg. bond, nic) of the instance. Each logical interface can effectively map to multiple network-IP pairs and still be mapped to one underlying physical interface. + + ## Attributes + + * `interfaceIndex` (*type:* `integer()`, *default:* `nil`) - The index of the logical interface mapping to the index of the hardware bond or nic on the chosen network template. This field is deprecated. + * `logicalNetworkInterfaces` (*type:* `list(GoogleApi.BareMetalSolution.V2.Model.LogicalNetworkInterface.t)`, *default:* `nil`) - List of logical network interfaces within a logical interface. + * `name` (*type:* `String.t`, *default:* `nil`) - Interface name. This is of syntax or and forms part of the network template name. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :interfaceIndex => integer() | nil, + :logicalNetworkInterfaces => + list(GoogleApi.BareMetalSolution.V2.Model.LogicalNetworkInterface.t()) | nil, + :name => String.t() | nil + } + + field(:interfaceIndex) + + field(:logicalNetworkInterfaces, + as: GoogleApi.BareMetalSolution.V2.Model.LogicalNetworkInterface, + type: :list + ) + + field(:name) +end + +defimpl Poison.Decoder, + for: GoogleApi.BareMetalSolution.V2.Model.GoogleCloudBaremetalsolutionV2LogicalInterface do + def decode(value, options) do + GoogleApi.BareMetalSolution.V2.Model.GoogleCloudBaremetalsolutionV2LogicalInterface.decode( + value, + options + ) + end +end + +defimpl Poison.Encoder, + for: GoogleApi.BareMetalSolution.V2.Model.GoogleCloudBaremetalsolutionV2LogicalInterface do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/google_cloud_baremetalsolution_v2_server_network_template_logical_interface.ex b/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/google_cloud_baremetalsolution_v2_server_network_template_logical_interface.ex new file mode 100644 index 0000000000..d02cca6585 --- /dev/null +++ b/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/google_cloud_baremetalsolution_v2_server_network_template_logical_interface.ex @@ -0,0 +1,59 @@ +# 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.BareMetalSolution.V2.Model.GoogleCloudBaremetalsolutionV2ServerNetworkTemplateLogicalInterface do + @moduledoc """ + Logical interface. + + ## Attributes + + * `name` (*type:* `String.t`, *default:* `nil`) - Interface name. This is not a globally unique identifier. Name is unique only inside the ServerNetworkTemplate. This is of syntax or and forms part of the network template name. + * `required` (*type:* `boolean()`, *default:* `nil`) - If true, interface must have network connected. + * `type` (*type:* `String.t`, *default:* `nil`) - Interface type. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :name => String.t() | nil, + :required => boolean() | nil, + :type => String.t() | nil + } + + field(:name) + field(:required) + field(:type) +end + +defimpl Poison.Decoder, + for: + GoogleApi.BareMetalSolution.V2.Model.GoogleCloudBaremetalsolutionV2ServerNetworkTemplateLogicalInterface do + def decode(value, options) do + GoogleApi.BareMetalSolution.V2.Model.GoogleCloudBaremetalsolutionV2ServerNetworkTemplateLogicalInterface.decode( + value, + options + ) + end +end + +defimpl Poison.Encoder, + for: + GoogleApi.BareMetalSolution.V2.Model.GoogleCloudBaremetalsolutionV2ServerNetworkTemplateLogicalInterface do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/instance.ex b/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/instance.ex new file mode 100644 index 0000000000..cf7dbf30f8 --- /dev/null +++ b/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/instance.ex @@ -0,0 +1,97 @@ +# 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.BareMetalSolution.V2.Model.Instance do + @moduledoc """ + A server. + + ## Attributes + + * `createTime` (*type:* `DateTime.t`, *default:* `nil`) - Output only. Create a time stamp. + * `hyperthreadingEnabled` (*type:* `boolean()`, *default:* `nil`) - True if you enable hyperthreading for the server, otherwise false. The default value is false. + * `id` (*type:* `String.t`, *default:* `nil`) - An identifier for the `Instance`, generated by the backend. + * `interactiveSerialConsoleEnabled` (*type:* `boolean()`, *default:* `nil`) - True if the interactive serial console feature is enabled for the instance, false otherwise. The default value is false. + * `labels` (*type:* `map()`, *default:* `nil`) - Labels as key value pairs. + * `logicalInterfaces` (*type:* `list(GoogleApi.BareMetalSolution.V2.Model.GoogleCloudBaremetalsolutionV2LogicalInterface.t)`, *default:* `nil`) - List of logical interfaces for the instance. The number of logical interfaces will be the same as number of hardware bond/nic on the chosen network template. For the non-multivlan configurations (for eg, existing servers) that use existing default network template (bondaa-bondaa), both the Instance.networks field and the Instance.logical_interfaces fields will be filled to ensure backward compatibility. For the others, only Instance.logical_interfaces will be filled. + * `luns` (*type:* `list(GoogleApi.BareMetalSolution.V2.Model.Lun.t)`, *default:* `nil`) - List of LUNs associated with this server. + * `machineType` (*type:* `String.t`, *default:* `nil`) - The server type. [Available server types](https://cloud.google.com/bare-metal/docs/bms-planning#server_configurations) + * `name` (*type:* `String.t`, *default:* `nil`) - Output only. The resource name of this `Instance`. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. Format: `projects/{project}/locations/{location}/instances/{instance}` + * `networkTemplate` (*type:* `String.t`, *default:* `nil`) - Instance network template name. For eg, bondaa-bondaa, bondab-nic, etc. Generally, the template name follows the syntax of "bond" or "nic". + * `networks` (*type:* `list(GoogleApi.BareMetalSolution.V2.Model.Network.t)`, *default:* `nil`) - List of networks associated with this server. + * `osImage` (*type:* `String.t`, *default:* `nil`) - The OS image currently installed on the server. + * `pod` (*type:* `String.t`, *default:* `nil`) - Immutable. Pod name. Pod is an independent part of infrastructure. Instance can be connected to the assets (networks, volumes) allocated in the same pod only. + * `state` (*type:* `String.t`, *default:* `nil`) - The state of the server. + * `updateTime` (*type:* `DateTime.t`, *default:* `nil`) - Output only. Update a time stamp. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :createTime => DateTime.t() | nil, + :hyperthreadingEnabled => boolean() | nil, + :id => String.t() | nil, + :interactiveSerialConsoleEnabled => boolean() | nil, + :labels => map() | nil, + :logicalInterfaces => + list( + GoogleApi.BareMetalSolution.V2.Model.GoogleCloudBaremetalsolutionV2LogicalInterface.t() + ) + | nil, + :luns => list(GoogleApi.BareMetalSolution.V2.Model.Lun.t()) | nil, + :machineType => String.t() | nil, + :name => String.t() | nil, + :networkTemplate => String.t() | nil, + :networks => list(GoogleApi.BareMetalSolution.V2.Model.Network.t()) | nil, + :osImage => String.t() | nil, + :pod => String.t() | nil, + :state => String.t() | nil, + :updateTime => DateTime.t() | nil + } + + field(:createTime, as: DateTime) + field(:hyperthreadingEnabled) + field(:id) + field(:interactiveSerialConsoleEnabled) + field(:labels, type: :map) + + field(:logicalInterfaces, + as: GoogleApi.BareMetalSolution.V2.Model.GoogleCloudBaremetalsolutionV2LogicalInterface, + type: :list + ) + + field(:luns, as: GoogleApi.BareMetalSolution.V2.Model.Lun, type: :list) + field(:machineType) + field(:name) + field(:networkTemplate) + field(:networks, as: GoogleApi.BareMetalSolution.V2.Model.Network, type: :list) + field(:osImage) + field(:pod) + field(:state) + field(:updateTime, as: DateTime) +end + +defimpl Poison.Decoder, for: GoogleApi.BareMetalSolution.V2.Model.Instance do + def decode(value, options) do + GoogleApi.BareMetalSolution.V2.Model.Instance.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.BareMetalSolution.V2.Model.Instance do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/instance_config.ex b/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/instance_config.ex new file mode 100644 index 0000000000..891ebd75da --- /dev/null +++ b/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/instance_config.ex @@ -0,0 +1,88 @@ +# 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.BareMetalSolution.V2.Model.InstanceConfig do + @moduledoc """ + Configuration parameters for a new instance. + + ## Attributes + + * `accountNetworksEnabled` (*type:* `boolean()`, *default:* `nil`) - If true networks can be from different projects of the same vendor account. + * `clientNetwork` (*type:* `GoogleApi.BareMetalSolution.V2.Model.NetworkAddress.t`, *default:* `nil`) - Client network address. Filled if InstanceConfig.multivlan_config is false. + * `hyperthreading` (*type:* `boolean()`, *default:* `nil`) - Whether the instance should be provisioned with Hyperthreading enabled. + * `id` (*type:* `String.t`, *default:* `nil`) - A transient unique identifier to idenfity an instance within an ProvisioningConfig request. + * `instanceType` (*type:* `String.t`, *default:* `nil`) - Instance type. [Available types](https://cloud.google.com/bare-metal/docs/bms-planning#server_configurations) + * `logicalInterfaces` (*type:* `list(GoogleApi.BareMetalSolution.V2.Model.GoogleCloudBaremetalsolutionV2LogicalInterface.t)`, *default:* `nil`) - List of logical interfaces for the instance. The number of logical interfaces will be the same as number of hardware bond/nic on the chosen network template. Filled if InstanceConfig.multivlan_config is true. + * `name` (*type:* `String.t`, *default:* `nil`) - Output only. The name of the instance config. + * `networkConfig` (*type:* `String.t`, *default:* `nil`) - The type of network configuration on the instance. + * `networkTemplate` (*type:* `String.t`, *default:* `nil`) - Server network template name. Filled if InstanceConfig.multivlan_config is true. + * `osImage` (*type:* `String.t`, *default:* `nil`) - OS image to initialize the instance. [Available images](https://cloud.google.com/bare-metal/docs/bms-planning#server_configurations) + * `privateNetwork` (*type:* `GoogleApi.BareMetalSolution.V2.Model.NetworkAddress.t`, *default:* `nil`) - Private network address, if any. Filled if InstanceConfig.multivlan_config is false. + * `userNote` (*type:* `String.t`, *default:* `nil`) - User note field, it can be used by customers to add additional information for the BMS Ops team . + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :accountNetworksEnabled => boolean() | nil, + :clientNetwork => GoogleApi.BareMetalSolution.V2.Model.NetworkAddress.t() | nil, + :hyperthreading => boolean() | nil, + :id => String.t() | nil, + :instanceType => String.t() | nil, + :logicalInterfaces => + list( + GoogleApi.BareMetalSolution.V2.Model.GoogleCloudBaremetalsolutionV2LogicalInterface.t() + ) + | nil, + :name => String.t() | nil, + :networkConfig => String.t() | nil, + :networkTemplate => String.t() | nil, + :osImage => String.t() | nil, + :privateNetwork => GoogleApi.BareMetalSolution.V2.Model.NetworkAddress.t() | nil, + :userNote => String.t() | nil + } + + field(:accountNetworksEnabled) + field(:clientNetwork, as: GoogleApi.BareMetalSolution.V2.Model.NetworkAddress) + field(:hyperthreading) + field(:id) + field(:instanceType) + + field(:logicalInterfaces, + as: GoogleApi.BareMetalSolution.V2.Model.GoogleCloudBaremetalsolutionV2LogicalInterface, + type: :list + ) + + field(:name) + field(:networkConfig) + field(:networkTemplate) + field(:osImage) + field(:privateNetwork, as: GoogleApi.BareMetalSolution.V2.Model.NetworkAddress) + field(:userNote) +end + +defimpl Poison.Decoder, for: GoogleApi.BareMetalSolution.V2.Model.InstanceConfig do + def decode(value, options) do + GoogleApi.BareMetalSolution.V2.Model.InstanceConfig.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.BareMetalSolution.V2.Model.InstanceConfig do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/instance_quota.ex b/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/instance_quota.ex new file mode 100644 index 0000000000..fd407d35ca --- /dev/null +++ b/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/instance_quota.ex @@ -0,0 +1,55 @@ +# 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.BareMetalSolution.V2.Model.InstanceQuota do + @moduledoc """ + A resource budget. + + ## Attributes + + * `availableMachineCount` (*type:* `integer()`, *default:* `nil`) - Number of machines than can be created for the given location and instance_type. + * `instanceType` (*type:* `String.t`, *default:* `nil`) - Instance type. + * `location` (*type:* `String.t`, *default:* `nil`) - Location where the quota applies. + * `name` (*type:* `String.t`, *default:* `nil`) - Output only. The name of the instance quota. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :availableMachineCount => integer() | nil, + :instanceType => String.t() | nil, + :location => String.t() | nil, + :name => String.t() | nil + } + + field(:availableMachineCount) + field(:instanceType) + field(:location) + field(:name) +end + +defimpl Poison.Decoder, for: GoogleApi.BareMetalSolution.V2.Model.InstanceQuota do + def decode(value, options) do + GoogleApi.BareMetalSolution.V2.Model.InstanceQuota.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.BareMetalSolution.V2.Model.InstanceQuota do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/intake_vlan_attachment.ex b/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/intake_vlan_attachment.ex new file mode 100644 index 0000000000..86585a403d --- /dev/null +++ b/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/intake_vlan_attachment.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.BareMetalSolution.V2.Model.IntakeVlanAttachment do + @moduledoc """ + A GCP vlan attachment. + + ## Attributes + + * `id` (*type:* `String.t`, *default:* `nil`) - Identifier of the VLAN attachment. + * `pairingKey` (*type:* `String.t`, *default:* `nil`) - Attachment pairing key. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :id => String.t() | nil, + :pairingKey => String.t() | nil + } + + field(:id) + field(:pairingKey) +end + +defimpl Poison.Decoder, for: GoogleApi.BareMetalSolution.V2.Model.IntakeVlanAttachment do + def decode(value, options) do + GoogleApi.BareMetalSolution.V2.Model.IntakeVlanAttachment.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.BareMetalSolution.V2.Model.IntakeVlanAttachment do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/list_instances_response.ex b/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/list_instances_response.ex new file mode 100644 index 0000000000..75e96aedb7 --- /dev/null +++ b/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/list_instances_response.ex @@ -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.BareMetalSolution.V2.Model.ListInstancesResponse do + @moduledoc """ + Response message for the list of servers. + + ## Attributes + + * `instances` (*type:* `list(GoogleApi.BareMetalSolution.V2.Model.Instance.t)`, *default:* `nil`) - The list of servers. + * `nextPageToken` (*type:* `String.t`, *default:* `nil`) - A token identifying a page of results from the server. + * `unreachable` (*type:* `list(String.t)`, *default:* `nil`) - Locations that could not be reached. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :instances => list(GoogleApi.BareMetalSolution.V2.Model.Instance.t()) | nil, + :nextPageToken => String.t() | nil, + :unreachable => list(String.t()) | nil + } + + field(:instances, as: GoogleApi.BareMetalSolution.V2.Model.Instance, type: :list) + field(:nextPageToken) + field(:unreachable, type: :list) +end + +defimpl Poison.Decoder, for: GoogleApi.BareMetalSolution.V2.Model.ListInstancesResponse do + def decode(value, options) do + GoogleApi.BareMetalSolution.V2.Model.ListInstancesResponse.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.BareMetalSolution.V2.Model.ListInstancesResponse do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/list_locations_response.ex b/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/list_locations_response.ex new file mode 100644 index 0000000000..e5cefbe6be --- /dev/null +++ b/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/list_locations_response.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.BareMetalSolution.V2.Model.ListLocationsResponse do + @moduledoc """ + The response message for Locations.ListLocations. + + ## Attributes + + * `locations` (*type:* `list(GoogleApi.BareMetalSolution.V2.Model.Location.t)`, *default:* `nil`) - A list of locations that matches the specified filter in the request. + * `nextPageToken` (*type:* `String.t`, *default:* `nil`) - The standard List next-page token. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :locations => list(GoogleApi.BareMetalSolution.V2.Model.Location.t()) | nil, + :nextPageToken => String.t() | nil + } + + field(:locations, as: GoogleApi.BareMetalSolution.V2.Model.Location, type: :list) + field(:nextPageToken) +end + +defimpl Poison.Decoder, for: GoogleApi.BareMetalSolution.V2.Model.ListLocationsResponse do + def decode(value, options) do + GoogleApi.BareMetalSolution.V2.Model.ListLocationsResponse.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.BareMetalSolution.V2.Model.ListLocationsResponse do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/list_luns_response.ex b/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/list_luns_response.ex new file mode 100644 index 0000000000..31f89e91ee --- /dev/null +++ b/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/list_luns_response.ex @@ -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.BareMetalSolution.V2.Model.ListLunsResponse do + @moduledoc """ + Response message containing the list of storage volume luns. + + ## Attributes + + * `luns` (*type:* `list(GoogleApi.BareMetalSolution.V2.Model.Lun.t)`, *default:* `nil`) - The list of luns. + * `nextPageToken` (*type:* `String.t`, *default:* `nil`) - A token identifying a page of results from the server. + * `unreachable` (*type:* `list(String.t)`, *default:* `nil`) - Locations that could not be reached. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :luns => list(GoogleApi.BareMetalSolution.V2.Model.Lun.t()) | nil, + :nextPageToken => String.t() | nil, + :unreachable => list(String.t()) | nil + } + + field(:luns, as: GoogleApi.BareMetalSolution.V2.Model.Lun, type: :list) + field(:nextPageToken) + field(:unreachable, type: :list) +end + +defimpl Poison.Decoder, for: GoogleApi.BareMetalSolution.V2.Model.ListLunsResponse do + def decode(value, options) do + GoogleApi.BareMetalSolution.V2.Model.ListLunsResponse.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.BareMetalSolution.V2.Model.ListLunsResponse do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/list_network_usage_response.ex b/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/list_network_usage_response.ex new file mode 100644 index 0000000000..c79574dc22 --- /dev/null +++ b/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/list_network_usage_response.ex @@ -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.BareMetalSolution.V2.Model.ListNetworkUsageResponse do + @moduledoc """ + Response with Networks with IPs + + ## Attributes + + * `networks` (*type:* `list(GoogleApi.BareMetalSolution.V2.Model.NetworkUsage.t)`, *default:* `nil`) - Networks with IPs. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :networks => list(GoogleApi.BareMetalSolution.V2.Model.NetworkUsage.t()) | nil + } + + field(:networks, as: GoogleApi.BareMetalSolution.V2.Model.NetworkUsage, type: :list) +end + +defimpl Poison.Decoder, for: GoogleApi.BareMetalSolution.V2.Model.ListNetworkUsageResponse do + def decode(value, options) do + GoogleApi.BareMetalSolution.V2.Model.ListNetworkUsageResponse.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.BareMetalSolution.V2.Model.ListNetworkUsageResponse do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/list_networks_response.ex b/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/list_networks_response.ex new file mode 100644 index 0000000000..435189eec8 --- /dev/null +++ b/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/list_networks_response.ex @@ -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.BareMetalSolution.V2.Model.ListNetworksResponse do + @moduledoc """ + Response message containing the list of networks. + + ## Attributes + + * `networks` (*type:* `list(GoogleApi.BareMetalSolution.V2.Model.Network.t)`, *default:* `nil`) - The list of networks. + * `nextPageToken` (*type:* `String.t`, *default:* `nil`) - A token identifying a page of results from the server. + * `unreachable` (*type:* `list(String.t)`, *default:* `nil`) - Locations that could not be reached. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :networks => list(GoogleApi.BareMetalSolution.V2.Model.Network.t()) | nil, + :nextPageToken => String.t() | nil, + :unreachable => list(String.t()) | nil + } + + field(:networks, as: GoogleApi.BareMetalSolution.V2.Model.Network, type: :list) + field(:nextPageToken) + field(:unreachable, type: :list) +end + +defimpl Poison.Decoder, for: GoogleApi.BareMetalSolution.V2.Model.ListNetworksResponse do + def decode(value, options) do + GoogleApi.BareMetalSolution.V2.Model.ListNetworksResponse.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.BareMetalSolution.V2.Model.ListNetworksResponse do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/list_nfs_shares_response.ex b/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/list_nfs_shares_response.ex new file mode 100644 index 0000000000..e7a894f00c --- /dev/null +++ b/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/list_nfs_shares_response.ex @@ -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.BareMetalSolution.V2.Model.ListNfsSharesResponse do + @moduledoc """ + Response message containing the list of NFS shares. + + ## Attributes + + * `nextPageToken` (*type:* `String.t`, *default:* `nil`) - A token identifying a page of results from the server. + * `nfsShares` (*type:* `list(GoogleApi.BareMetalSolution.V2.Model.NfsShare.t)`, *default:* `nil`) - The list of NFS shares. + * `unreachable` (*type:* `list(String.t)`, *default:* `nil`) - Locations that could not be reached. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :nextPageToken => String.t() | nil, + :nfsShares => list(GoogleApi.BareMetalSolution.V2.Model.NfsShare.t()) | nil, + :unreachable => list(String.t()) | nil + } + + field(:nextPageToken) + field(:nfsShares, as: GoogleApi.BareMetalSolution.V2.Model.NfsShare, type: :list) + field(:unreachable, type: :list) +end + +defimpl Poison.Decoder, for: GoogleApi.BareMetalSolution.V2.Model.ListNfsSharesResponse do + def decode(value, options) do + GoogleApi.BareMetalSolution.V2.Model.ListNfsSharesResponse.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.BareMetalSolution.V2.Model.ListNfsSharesResponse do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/list_provisioning_quotas_response.ex b/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/list_provisioning_quotas_response.ex new file mode 100644 index 0000000000..42c98e20e9 --- /dev/null +++ b/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/list_provisioning_quotas_response.ex @@ -0,0 +1,54 @@ +# 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.BareMetalSolution.V2.Model.ListProvisioningQuotasResponse do + @moduledoc """ + Response message for the list of provisioning quotas. + + ## Attributes + + * `nextPageToken` (*type:* `String.t`, *default:* `nil`) - Token to retrieve the next page of results, or empty if there are no more results in the list. + * `provisioningQuotas` (*type:* `list(GoogleApi.BareMetalSolution.V2.Model.ProvisioningQuota.t)`, *default:* `nil`) - The provisioning quotas registered in this project. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :nextPageToken => String.t() | nil, + :provisioningQuotas => + list(GoogleApi.BareMetalSolution.V2.Model.ProvisioningQuota.t()) | nil + } + + field(:nextPageToken) + + field(:provisioningQuotas, + as: GoogleApi.BareMetalSolution.V2.Model.ProvisioningQuota, + type: :list + ) +end + +defimpl Poison.Decoder, for: GoogleApi.BareMetalSolution.V2.Model.ListProvisioningQuotasResponse do + def decode(value, options) do + GoogleApi.BareMetalSolution.V2.Model.ListProvisioningQuotasResponse.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.BareMetalSolution.V2.Model.ListProvisioningQuotasResponse do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/list_volumes_response.ex b/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/list_volumes_response.ex new file mode 100644 index 0000000000..479f937c62 --- /dev/null +++ b/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/list_volumes_response.ex @@ -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.BareMetalSolution.V2.Model.ListVolumesResponse do + @moduledoc """ + Response message containing the list of storage volumes. + + ## Attributes + + * `nextPageToken` (*type:* `String.t`, *default:* `nil`) - A token identifying a page of results from the server. + * `unreachable` (*type:* `list(String.t)`, *default:* `nil`) - Locations that could not be reached. + * `volumes` (*type:* `list(GoogleApi.BareMetalSolution.V2.Model.Volume.t)`, *default:* `nil`) - The list of storage volumes. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :nextPageToken => String.t() | nil, + :unreachable => list(String.t()) | nil, + :volumes => list(GoogleApi.BareMetalSolution.V2.Model.Volume.t()) | nil + } + + field(:nextPageToken) + field(:unreachable, type: :list) + field(:volumes, as: GoogleApi.BareMetalSolution.V2.Model.Volume, type: :list) +end + +defimpl Poison.Decoder, for: GoogleApi.BareMetalSolution.V2.Model.ListVolumesResponse do + def decode(value, options) do + GoogleApi.BareMetalSolution.V2.Model.ListVolumesResponse.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.BareMetalSolution.V2.Model.ListVolumesResponse do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/location.ex b/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/location.ex new file mode 100644 index 0000000000..800c38974a --- /dev/null +++ b/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/location.ex @@ -0,0 +1,58 @@ +# 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.BareMetalSolution.V2.Model.Location do + @moduledoc """ + A resource that represents Google Cloud Platform location. + + ## Attributes + + * `displayName` (*type:* `String.t`, *default:* `nil`) - The friendly name for this location, typically a nearby city name. For example, "Tokyo". + * `labels` (*type:* `map()`, *default:* `nil`) - Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} + * `locationId` (*type:* `String.t`, *default:* `nil`) - The canonical id for this location. For example: `"us-east1"`. + * `metadata` (*type:* `map()`, *default:* `nil`) - Service-specific metadata. For example the available capacity at the given location. + * `name` (*type:* `String.t`, *default:* `nil`) - Resource name for the location, which may vary between implementations. For example: `"projects/example-project/locations/us-east1"` + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :displayName => String.t() | nil, + :labels => map() | nil, + :locationId => String.t() | nil, + :metadata => map() | nil, + :name => String.t() | nil + } + + field(:displayName) + field(:labels, type: :map) + field(:locationId) + field(:metadata, type: :map) + field(:name) +end + +defimpl Poison.Decoder, for: GoogleApi.BareMetalSolution.V2.Model.Location do + def decode(value, options) do + GoogleApi.BareMetalSolution.V2.Model.Location.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.BareMetalSolution.V2.Model.Location do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/logical_network_interface.ex b/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/logical_network_interface.ex new file mode 100644 index 0000000000..c2cf9a8ecf --- /dev/null +++ b/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/logical_network_interface.ex @@ -0,0 +1,58 @@ +# 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.BareMetalSolution.V2.Model.LogicalNetworkInterface do + @moduledoc """ + Each logical network interface is effectively a network and IP pair. + + ## Attributes + + * `defaultGateway` (*type:* `boolean()`, *default:* `nil`) - Whether this interface is the default gateway for the instance. Only one interface can be the default gateway for the instance. + * `id` (*type:* `String.t`, *default:* `nil`) - An identifier for the `Network`, generated by the backend. + * `ipAddress` (*type:* `String.t`, *default:* `nil`) - IP address in the network + * `network` (*type:* `String.t`, *default:* `nil`) - Name of the network + * `networkType` (*type:* `String.t`, *default:* `nil`) - Type of network. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :defaultGateway => boolean() | nil, + :id => String.t() | nil, + :ipAddress => String.t() | nil, + :network => String.t() | nil, + :networkType => String.t() | nil + } + + field(:defaultGateway) + field(:id) + field(:ipAddress) + field(:network) + field(:networkType) +end + +defimpl Poison.Decoder, for: GoogleApi.BareMetalSolution.V2.Model.LogicalNetworkInterface do + def decode(value, options) do + GoogleApi.BareMetalSolution.V2.Model.LogicalNetworkInterface.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.BareMetalSolution.V2.Model.LogicalNetworkInterface do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/lun.ex b/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/lun.ex new file mode 100644 index 0000000000..f2e31ed71f --- /dev/null +++ b/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/lun.ex @@ -0,0 +1,73 @@ +# 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.BareMetalSolution.V2.Model.Lun do + @moduledoc """ + A storage volume logical unit number (LUN). + + ## Attributes + + * `bootLun` (*type:* `boolean()`, *default:* `nil`) - Display if this LUN is a boot LUN. + * `id` (*type:* `String.t`, *default:* `nil`) - An identifier for the LUN, generated by the backend. + * `multiprotocolType` (*type:* `String.t`, *default:* `nil`) - The LUN multiprotocol type ensures the characteristics of the LUN are optimized for each operating system. + * `name` (*type:* `String.t`, *default:* `nil`) - Output only. The name of the LUN. + * `shareable` (*type:* `boolean()`, *default:* `nil`) - Display if this LUN can be shared between multiple physical servers. + * `sizeGb` (*type:* `String.t`, *default:* `nil`) - The size of this LUN, in gigabytes. + * `state` (*type:* `String.t`, *default:* `nil`) - The state of this storage volume. + * `storageType` (*type:* `String.t`, *default:* `nil`) - The storage type for this LUN. + * `storageVolume` (*type:* `String.t`, *default:* `nil`) - Display the storage volume for this LUN. + * `wwid` (*type:* `String.t`, *default:* `nil`) - The WWID for this LUN. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :bootLun => boolean() | nil, + :id => String.t() | nil, + :multiprotocolType => String.t() | nil, + :name => String.t() | nil, + :shareable => boolean() | nil, + :sizeGb => String.t() | nil, + :state => String.t() | nil, + :storageType => String.t() | nil, + :storageVolume => String.t() | nil, + :wwid => String.t() | nil + } + + field(:bootLun) + field(:id) + field(:multiprotocolType) + field(:name) + field(:shareable) + field(:sizeGb) + field(:state) + field(:storageType) + field(:storageVolume) + field(:wwid) +end + +defimpl Poison.Decoder, for: GoogleApi.BareMetalSolution.V2.Model.Lun do + def decode(value, options) do + GoogleApi.BareMetalSolution.V2.Model.Lun.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.BareMetalSolution.V2.Model.Lun do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/lun_range.ex b/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/lun_range.ex new file mode 100644 index 0000000000..41300d22db --- /dev/null +++ b/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/lun_range.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.BareMetalSolution.V2.Model.LunRange do + @moduledoc """ + A LUN(Logical Unit Number) range. + + ## Attributes + + * `quantity` (*type:* `integer()`, *default:* `nil`) - Number of LUNs to create. + * `sizeGb` (*type:* `integer()`, *default:* `nil`) - The requested size of each LUN, in GB. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :quantity => integer() | nil, + :sizeGb => integer() | nil + } + + field(:quantity) + field(:sizeGb) +end + +defimpl Poison.Decoder, for: GoogleApi.BareMetalSolution.V2.Model.LunRange do + def decode(value, options) do + GoogleApi.BareMetalSolution.V2.Model.LunRange.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.BareMetalSolution.V2.Model.LunRange do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/network.ex b/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/network.ex new file mode 100644 index 0000000000..106becb7d0 --- /dev/null +++ b/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/network.ex @@ -0,0 +1,85 @@ +# 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.BareMetalSolution.V2.Model.Network do + @moduledoc """ + A Network. + + ## Attributes + + * `cidr` (*type:* `String.t`, *default:* `nil`) - The cidr of the Network. + * `id` (*type:* `String.t`, *default:* `nil`) - An identifier for the `Network`, generated by the backend. + * `ipAddress` (*type:* `String.t`, *default:* `nil`) - IP address configured. + * `labels` (*type:* `map()`, *default:* `nil`) - Labels as key value pairs. + * `macAddress` (*type:* `list(String.t)`, *default:* `nil`) - List of physical interfaces. + * `name` (*type:* `String.t`, *default:* `nil`) - Output only. The resource name of this `Network`. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. Format: `projects/{project}/locations/{location}/networks/{network}` + * `reservations` (*type:* `list(GoogleApi.BareMetalSolution.V2.Model.NetworkAddressReservation.t)`, *default:* `nil`) - List of IP address reservations in this network. When updating this field, an error will be generated if a reservation conflicts with an IP address already allocated to a physical server. + * `servicesCidr` (*type:* `String.t`, *default:* `nil`) - IP range for reserved for services (e.g. NFS). + * `state` (*type:* `String.t`, *default:* `nil`) - The Network state. + * `type` (*type:* `String.t`, *default:* `nil`) - The type of this network. + * `vlanId` (*type:* `String.t`, *default:* `nil`) - The vlan id of the Network. + * `vrf` (*type:* `GoogleApi.BareMetalSolution.V2.Model.VRF.t`, *default:* `nil`) - The vrf for the Network. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :cidr => String.t() | nil, + :id => String.t() | nil, + :ipAddress => String.t() | nil, + :labels => map() | nil, + :macAddress => list(String.t()) | nil, + :name => String.t() | nil, + :reservations => + list(GoogleApi.BareMetalSolution.V2.Model.NetworkAddressReservation.t()) | nil, + :servicesCidr => String.t() | nil, + :state => String.t() | nil, + :type => String.t() | nil, + :vlanId => String.t() | nil, + :vrf => GoogleApi.BareMetalSolution.V2.Model.VRF.t() | nil + } + + field(:cidr) + field(:id) + field(:ipAddress) + field(:labels, type: :map) + field(:macAddress, type: :list) + field(:name) + + field(:reservations, + as: GoogleApi.BareMetalSolution.V2.Model.NetworkAddressReservation, + type: :list + ) + + field(:servicesCidr) + field(:state) + field(:type) + field(:vlanId) + field(:vrf, as: GoogleApi.BareMetalSolution.V2.Model.VRF) +end + +defimpl Poison.Decoder, for: GoogleApi.BareMetalSolution.V2.Model.Network do + def decode(value, options) do + GoogleApi.BareMetalSolution.V2.Model.Network.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.BareMetalSolution.V2.Model.Network do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/network_address.ex b/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/network_address.ex new file mode 100644 index 0000000000..19eea6fedb --- /dev/null +++ b/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/network_address.ex @@ -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.BareMetalSolution.V2.Model.NetworkAddress do + @moduledoc """ + A network. + + ## Attributes + + * `address` (*type:* `String.t`, *default:* `nil`) - IPv4 address to be assigned to the server. + * `existingNetworkId` (*type:* `String.t`, *default:* `nil`) - Name of the existing network to use. + * `networkId` (*type:* `String.t`, *default:* `nil`) - Id of the network to use, within the same ProvisioningConfig request. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :address => String.t() | nil, + :existingNetworkId => String.t() | nil, + :networkId => String.t() | nil + } + + field(:address) + field(:existingNetworkId) + field(:networkId) +end + +defimpl Poison.Decoder, for: GoogleApi.BareMetalSolution.V2.Model.NetworkAddress do + def decode(value, options) do + GoogleApi.BareMetalSolution.V2.Model.NetworkAddress.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.BareMetalSolution.V2.Model.NetworkAddress do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/network_address_reservation.ex b/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/network_address_reservation.ex new file mode 100644 index 0000000000..8fe3124d05 --- /dev/null +++ b/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/network_address_reservation.ex @@ -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.BareMetalSolution.V2.Model.NetworkAddressReservation do + @moduledoc """ + A reservation of one or more addresses in a network. + + ## Attributes + + * `endAddress` (*type:* `String.t`, *default:* `nil`) - The last address of this reservation block, inclusive. I.e., for cases when reservations are only single addresses, end_address and start_address will be the same. Must be specified as a single IPv4 address, e.g. 10.1.2.2. + * `note` (*type:* `String.t`, *default:* `nil`) - A note about this reservation, intended for human consumption. + * `startAddress` (*type:* `String.t`, *default:* `nil`) - The first address of this reservation block. Must be specified as a single IPv4 address, e.g. 10.1.2.2. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :endAddress => String.t() | nil, + :note => String.t() | nil, + :startAddress => String.t() | nil + } + + field(:endAddress) + field(:note) + field(:startAddress) +end + +defimpl Poison.Decoder, for: GoogleApi.BareMetalSolution.V2.Model.NetworkAddressReservation do + def decode(value, options) do + GoogleApi.BareMetalSolution.V2.Model.NetworkAddressReservation.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.BareMetalSolution.V2.Model.NetworkAddressReservation do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/network_config.ex b/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/network_config.ex new file mode 100644 index 0000000000..788c2c98c3 --- /dev/null +++ b/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/network_config.ex @@ -0,0 +1,82 @@ +# 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.BareMetalSolution.V2.Model.NetworkConfig do + @moduledoc """ + Configuration parameters for a new network. + + ## Attributes + + * `bandwidth` (*type:* `String.t`, *default:* `nil`) - Interconnect bandwidth. Set only when type is CLIENT. + * `cidr` (*type:* `String.t`, *default:* `nil`) - CIDR range of the network. + * `gcpService` (*type:* `String.t`, *default:* `nil`) - The GCP service of the network. Available gcp_service are in https://cloud.google.com/bare-metal/docs/bms-planning. + * `id` (*type:* `String.t`, *default:* `nil`) - A transient unique identifier to identify a volume within an ProvisioningConfig request. + * `jumboFramesEnabled` (*type:* `boolean()`, *default:* `nil`) - The JumboFramesEnabled option for customer to set. + * `name` (*type:* `String.t`, *default:* `nil`) - Output only. The name of the network config. + * `serviceCidr` (*type:* `String.t`, *default:* `nil`) - Service CIDR, if any. + * `type` (*type:* `String.t`, *default:* `nil`) - The type of this network, either Client or Private. + * `userNote` (*type:* `String.t`, *default:* `nil`) - User note field, it can be used by customers to add additional information for the BMS Ops team . + * `vlanAttachments` (*type:* `list(GoogleApi.BareMetalSolution.V2.Model.IntakeVlanAttachment.t)`, *default:* `nil`) - List of VLAN attachments. As of now there are always 2 attachments, but it is going to change in the future (multi vlan). + * `vlanSameProject` (*type:* `boolean()`, *default:* `nil`) - Whether the VLAN attachment pair is located in the same project. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :bandwidth => String.t() | nil, + :cidr => String.t() | nil, + :gcpService => String.t() | nil, + :id => String.t() | nil, + :jumboFramesEnabled => boolean() | nil, + :name => String.t() | nil, + :serviceCidr => String.t() | nil, + :type => String.t() | nil, + :userNote => String.t() | nil, + :vlanAttachments => + list(GoogleApi.BareMetalSolution.V2.Model.IntakeVlanAttachment.t()) | nil, + :vlanSameProject => boolean() | nil + } + + field(:bandwidth) + field(:cidr) + field(:gcpService) + field(:id) + field(:jumboFramesEnabled) + field(:name) + field(:serviceCidr) + field(:type) + field(:userNote) + + field(:vlanAttachments, + as: GoogleApi.BareMetalSolution.V2.Model.IntakeVlanAttachment, + type: :list + ) + + field(:vlanSameProject) +end + +defimpl Poison.Decoder, for: GoogleApi.BareMetalSolution.V2.Model.NetworkConfig do + def decode(value, options) do + GoogleApi.BareMetalSolution.V2.Model.NetworkConfig.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.BareMetalSolution.V2.Model.NetworkConfig do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/network_usage.ex b/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/network_usage.ex new file mode 100644 index 0000000000..d6ef2717cb --- /dev/null +++ b/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/network_usage.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.BareMetalSolution.V2.Model.NetworkUsage do + @moduledoc """ + Network with all used IP addresses. + + ## Attributes + + * `network` (*type:* `GoogleApi.BareMetalSolution.V2.Model.Network.t`, *default:* `nil`) - Network. + * `usedIps` (*type:* `list(String.t)`, *default:* `nil`) - All used IP addresses in this network. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :network => GoogleApi.BareMetalSolution.V2.Model.Network.t() | nil, + :usedIps => list(String.t()) | nil + } + + field(:network, as: GoogleApi.BareMetalSolution.V2.Model.Network) + field(:usedIps, type: :list) +end + +defimpl Poison.Decoder, for: GoogleApi.BareMetalSolution.V2.Model.NetworkUsage do + def decode(value, options) do + GoogleApi.BareMetalSolution.V2.Model.NetworkUsage.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.BareMetalSolution.V2.Model.NetworkUsage do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/nfs_export.ex b/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/nfs_export.ex new file mode 100644 index 0000000000..bdacee8940 --- /dev/null +++ b/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/nfs_export.ex @@ -0,0 +1,64 @@ +# 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.BareMetalSolution.V2.Model.NfsExport do + @moduledoc """ + A NFS export entry. + + ## Attributes + + * `allowDev` (*type:* `boolean()`, *default:* `nil`) - Allow dev flag in NfsShare AllowedClientsRequest. + * `allowSuid` (*type:* `boolean()`, *default:* `nil`) - Allow the setuid flag. + * `cidr` (*type:* `String.t`, *default:* `nil`) - A CIDR range. + * `machineId` (*type:* `String.t`, *default:* `nil`) - Either a single machine, identified by an ID, or a comma-separated list of machine IDs. + * `networkId` (*type:* `String.t`, *default:* `nil`) - Network to use to publish the export. + * `noRootSquash` (*type:* `boolean()`, *default:* `nil`) - Disable root squashing, which is a feature of NFS. Root squash is a special mapping of the remote superuser (root) identity when using identity authentication. + * `permissions` (*type:* `String.t`, *default:* `nil`) - Export permissions. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :allowDev => boolean() | nil, + :allowSuid => boolean() | nil, + :cidr => String.t() | nil, + :machineId => String.t() | nil, + :networkId => String.t() | nil, + :noRootSquash => boolean() | nil, + :permissions => String.t() | nil + } + + field(:allowDev) + field(:allowSuid) + field(:cidr) + field(:machineId) + field(:networkId) + field(:noRootSquash) + field(:permissions) +end + +defimpl Poison.Decoder, for: GoogleApi.BareMetalSolution.V2.Model.NfsExport do + def decode(value, options) do + GoogleApi.BareMetalSolution.V2.Model.NfsExport.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.BareMetalSolution.V2.Model.NfsExport do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/nfs_share.ex b/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/nfs_share.ex new file mode 100644 index 0000000000..986cb95d3a --- /dev/null +++ b/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/nfs_share.ex @@ -0,0 +1,67 @@ +# 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.BareMetalSolution.V2.Model.NfsShare do + @moduledoc """ + An NFS share. + + ## Attributes + + * `allowedClients` (*type:* `list(GoogleApi.BareMetalSolution.V2.Model.AllowedClient.t)`, *default:* `nil`) - List of allowed access points. + * `id` (*type:* `String.t`, *default:* `nil`) - Output only. An identifier for the NFS share, generated by the backend. This is the same value as nfs_share_id and will replace it in the future. + * `labels` (*type:* `map()`, *default:* `nil`) - Labels as key value pairs. + * `name` (*type:* `String.t`, *default:* `nil`) - Output only. The name of the NFS share. + * `nfsShareId` (*type:* `String.t`, *default:* `nil`) - Output only. An identifier for the NFS share, generated by the backend. This field will be deprecated in the future, use `id` instead. + * `requestedSizeGib` (*type:* `String.t`, *default:* `nil`) - The requested size, in GiB. + * `state` (*type:* `String.t`, *default:* `nil`) - The state of the NFS share. + * `volume` (*type:* `String.t`, *default:* `nil`) - The volume containing the share. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :allowedClients => list(GoogleApi.BareMetalSolution.V2.Model.AllowedClient.t()) | nil, + :id => String.t() | nil, + :labels => map() | nil, + :name => String.t() | nil, + :nfsShareId => String.t() | nil, + :requestedSizeGib => String.t() | nil, + :state => String.t() | nil, + :volume => String.t() | nil + } + + field(:allowedClients, as: GoogleApi.BareMetalSolution.V2.Model.AllowedClient, type: :list) + field(:id) + field(:labels, type: :map) + field(:name) + field(:nfsShareId) + field(:requestedSizeGib) + field(:state) + field(:volume) +end + +defimpl Poison.Decoder, for: GoogleApi.BareMetalSolution.V2.Model.NfsShare do + def decode(value, options) do + GoogleApi.BareMetalSolution.V2.Model.NfsShare.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.BareMetalSolution.V2.Model.NfsShare do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/operation.ex b/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/operation.ex new file mode 100644 index 0000000000..74d6e1a294 --- /dev/null +++ b/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/operation.ex @@ -0,0 +1,58 @@ +# 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.BareMetalSolution.V2.Model.Operation do + @moduledoc """ + This resource represents a long-running operation that is the result of a network API call. + + ## Attributes + + * `done` (*type:* `boolean()`, *default:* `nil`) - If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. + * `error` (*type:* `GoogleApi.BareMetalSolution.V2.Model.Status.t`, *default:* `nil`) - The error result of the operation in case of failure or cancellation. + * `metadata` (*type:* `map()`, *default:* `nil`) - Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. + * `name` (*type:* `String.t`, *default:* `nil`) - The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. + * `response` (*type:* `map()`, *default:* `nil`) - The normal response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :done => boolean() | nil, + :error => GoogleApi.BareMetalSolution.V2.Model.Status.t() | nil, + :metadata => map() | nil, + :name => String.t() | nil, + :response => map() | nil + } + + field(:done) + field(:error, as: GoogleApi.BareMetalSolution.V2.Model.Status) + field(:metadata, type: :map) + field(:name) + field(:response, type: :map) +end + +defimpl Poison.Decoder, for: GoogleApi.BareMetalSolution.V2.Model.Operation do + def decode(value, options) do + GoogleApi.BareMetalSolution.V2.Model.Operation.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.BareMetalSolution.V2.Model.Operation do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/operation_metadata.ex b/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/operation_metadata.ex new file mode 100644 index 0000000000..f0e4f0e8eb --- /dev/null +++ b/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/operation_metadata.ex @@ -0,0 +1,64 @@ +# 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.BareMetalSolution.V2.Model.OperationMetadata do + @moduledoc """ + Represents the metadata from a long-running operation. + + ## Attributes + + * `apiVersion` (*type:* `String.t`, *default:* `nil`) - Output only. API version used with the operation. + * `createTime` (*type:* `DateTime.t`, *default:* `nil`) - Output only. The time the operation was created. + * `endTime` (*type:* `DateTime.t`, *default:* `nil`) - Output only. The time the operation finished running. + * `requestedCancellation` (*type:* `boolean()`, *default:* `nil`) - Output only. Identifies whether the user requested the cancellation of the operation. Operations that have been successfully cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. + * `statusMessage` (*type:* `String.t`, *default:* `nil`) - Output only. Human-readable status of the operation, if any. + * `target` (*type:* `String.t`, *default:* `nil`) - Output only. Server-defined resource path for the target of the operation. + * `verb` (*type:* `String.t`, *default:* `nil`) - Output only. Name of the action executed by the operation. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :apiVersion => String.t() | nil, + :createTime => DateTime.t() | nil, + :endTime => DateTime.t() | nil, + :requestedCancellation => boolean() | nil, + :statusMessage => String.t() | nil, + :target => String.t() | nil, + :verb => String.t() | nil + } + + field(:apiVersion) + field(:createTime, as: DateTime) + field(:endTime, as: DateTime) + field(:requestedCancellation) + field(:statusMessage) + field(:target) + field(:verb) +end + +defimpl Poison.Decoder, for: GoogleApi.BareMetalSolution.V2.Model.OperationMetadata do + def decode(value, options) do + GoogleApi.BareMetalSolution.V2.Model.OperationMetadata.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.BareMetalSolution.V2.Model.OperationMetadata do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/os_image.ex b/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/os_image.ex new file mode 100644 index 0000000000..57ee34e026 --- /dev/null +++ b/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/os_image.ex @@ -0,0 +1,63 @@ +# 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.BareMetalSolution.V2.Model.OSImage do + @moduledoc """ + Operation System image. + + ## Attributes + + * `applicableInstanceTypes` (*type:* `list(String.t)`, *default:* `nil`) - Instance types this image is applicable to. [Available types](https://cloud.google.com/bare-metal/docs/bms-planning#server_configurations) + * `code` (*type:* `String.t`, *default:* `nil`) - OS Image code. + * `description` (*type:* `String.t`, *default:* `nil`) - OS Image description. + * `name` (*type:* `String.t`, *default:* `nil`) - Output only. OS Image's unique name. + * `supportedNetworkTemplates` (*type:* `list(GoogleApi.BareMetalSolution.V2.Model.ServerNetworkTemplate.t)`, *default:* `nil`) - Network templates that can be used with this OS Image. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :applicableInstanceTypes => list(String.t()) | nil, + :code => String.t() | nil, + :description => String.t() | nil, + :name => String.t() | nil, + :supportedNetworkTemplates => + list(GoogleApi.BareMetalSolution.V2.Model.ServerNetworkTemplate.t()) | nil + } + + field(:applicableInstanceTypes, type: :list) + field(:code) + field(:description) + field(:name) + + field(:supportedNetworkTemplates, + as: GoogleApi.BareMetalSolution.V2.Model.ServerNetworkTemplate, + type: :list + ) +end + +defimpl Poison.Decoder, for: GoogleApi.BareMetalSolution.V2.Model.OSImage do + def decode(value, options) do + GoogleApi.BareMetalSolution.V2.Model.OSImage.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.BareMetalSolution.V2.Model.OSImage do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/provisioning_config.ex b/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/provisioning_config.ex new file mode 100644 index 0000000000..4c7116306a --- /dev/null +++ b/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/provisioning_config.ex @@ -0,0 +1,82 @@ +# 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.BareMetalSolution.V2.Model.ProvisioningConfig do + @moduledoc """ + A provisioning configuration. + + ## Attributes + + * `cloudConsoleUri` (*type:* `String.t`, *default:* `nil`) - Output only. URI to Cloud Console UI view of this provisioning config. + * `email` (*type:* `String.t`, *default:* `nil`) - Email provided to send a confirmation with provisioning config to. Deprecated in favour of email field in request messages. + * `handoverServiceAccount` (*type:* `String.t`, *default:* `nil`) - A service account to enable customers to access instance credentials upon handover. + * `instances` (*type:* `list(GoogleApi.BareMetalSolution.V2.Model.InstanceConfig.t)`, *default:* `nil`) - Instances to be created. + * `location` (*type:* `String.t`, *default:* `nil`) - Optional. Location name of this ProvisioningConfig. It is optional only for Intake UI transition period. + * `name` (*type:* `String.t`, *default:* `nil`) - Output only. The name of the provisioning config. + * `networks` (*type:* `list(GoogleApi.BareMetalSolution.V2.Model.NetworkConfig.t)`, *default:* `nil`) - Networks to be created. + * `state` (*type:* `String.t`, *default:* `nil`) - Output only. State of ProvisioningConfig. + * `statusMessage` (*type:* `String.t`, *default:* `nil`) - Optional status messages associated with the FAILED state. + * `ticketId` (*type:* `String.t`, *default:* `nil`) - A generated ticket id to track provisioning request. + * `updateTime` (*type:* `DateTime.t`, *default:* `nil`) - Output only. Last update timestamp. + * `volumes` (*type:* `list(GoogleApi.BareMetalSolution.V2.Model.VolumeConfig.t)`, *default:* `nil`) - Volumes to be created. + * `vpcScEnabled` (*type:* `boolean()`, *default:* `nil`) - If true, VPC SC is enabled for the cluster. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :cloudConsoleUri => String.t() | nil, + :email => String.t() | nil, + :handoverServiceAccount => String.t() | nil, + :instances => list(GoogleApi.BareMetalSolution.V2.Model.InstanceConfig.t()) | nil, + :location => String.t() | nil, + :name => String.t() | nil, + :networks => list(GoogleApi.BareMetalSolution.V2.Model.NetworkConfig.t()) | nil, + :state => String.t() | nil, + :statusMessage => String.t() | nil, + :ticketId => String.t() | nil, + :updateTime => DateTime.t() | nil, + :volumes => list(GoogleApi.BareMetalSolution.V2.Model.VolumeConfig.t()) | nil, + :vpcScEnabled => boolean() | nil + } + + field(:cloudConsoleUri) + field(:email) + field(:handoverServiceAccount) + field(:instances, as: GoogleApi.BareMetalSolution.V2.Model.InstanceConfig, type: :list) + field(:location) + field(:name) + field(:networks, as: GoogleApi.BareMetalSolution.V2.Model.NetworkConfig, type: :list) + field(:state) + field(:statusMessage) + field(:ticketId) + field(:updateTime, as: DateTime) + field(:volumes, as: GoogleApi.BareMetalSolution.V2.Model.VolumeConfig, type: :list) + field(:vpcScEnabled) +end + +defimpl Poison.Decoder, for: GoogleApi.BareMetalSolution.V2.Model.ProvisioningConfig do + def decode(value, options) do + GoogleApi.BareMetalSolution.V2.Model.ProvisioningConfig.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.BareMetalSolution.V2.Model.ProvisioningConfig do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/provisioning_quota.ex b/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/provisioning_quota.ex new file mode 100644 index 0000000000..46fa5f3916 --- /dev/null +++ b/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/provisioning_quota.ex @@ -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.BareMetalSolution.V2.Model.ProvisioningQuota do + @moduledoc """ + A provisioning quota for a given project. + + ## Attributes + + * `assetType` (*type:* `String.t`, *default:* `nil`) - The asset type of this provisioning quota. + * `availableCount` (*type:* `integer()`, *default:* `nil`) - The available count of the provisioning quota. + * `gcpService` (*type:* `String.t`, *default:* `nil`) - The gcp service of the provisioning quota. + * `instanceQuota` (*type:* `GoogleApi.BareMetalSolution.V2.Model.InstanceQuota.t`, *default:* `nil`) - Instance quota. + * `location` (*type:* `String.t`, *default:* `nil`) - The specific location of the provisioining quota. + * `name` (*type:* `String.t`, *default:* `nil`) - Output only. The name of the provisioning quota. + * `networkBandwidth` (*type:* `String.t`, *default:* `nil`) - Network bandwidth, Gbps + * `serverCount` (*type:* `String.t`, *default:* `nil`) - Server count. + * `storageGib` (*type:* `String.t`, *default:* `nil`) - Storage size (GB). + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :assetType => String.t() | nil, + :availableCount => integer() | nil, + :gcpService => String.t() | nil, + :instanceQuota => GoogleApi.BareMetalSolution.V2.Model.InstanceQuota.t() | nil, + :location => String.t() | nil, + :name => String.t() | nil, + :networkBandwidth => String.t() | nil, + :serverCount => String.t() | nil, + :storageGib => String.t() | nil + } + + field(:assetType) + field(:availableCount) + field(:gcpService) + field(:instanceQuota, as: GoogleApi.BareMetalSolution.V2.Model.InstanceQuota) + field(:location) + field(:name) + field(:networkBandwidth) + field(:serverCount) + field(:storageGib) +end + +defimpl Poison.Decoder, for: GoogleApi.BareMetalSolution.V2.Model.ProvisioningQuota do + def decode(value, options) do + GoogleApi.BareMetalSolution.V2.Model.ProvisioningQuota.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.BareMetalSolution.V2.Model.ProvisioningQuota do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/qos_policy.ex b/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/qos_policy.ex new file mode 100644 index 0000000000..61e7a1585a --- /dev/null +++ b/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/qos_policy.ex @@ -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.BareMetalSolution.V2.Model.QosPolicy do + @moduledoc """ + QOS policy parameters. + + ## Attributes + + * `bandwidthGbps` (*type:* `float()`, *default:* `nil`) - The bandwidth permitted by the QOS policy, in gbps. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :bandwidthGbps => float() | nil + } + + field(:bandwidthGbps) +end + +defimpl Poison.Decoder, for: GoogleApi.BareMetalSolution.V2.Model.QosPolicy do + def decode(value, options) do + GoogleApi.BareMetalSolution.V2.Model.QosPolicy.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.BareMetalSolution.V2.Model.QosPolicy do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/reset_instance_request.ex b/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/reset_instance_request.ex new file mode 100644 index 0000000000..43f7c8a55a --- /dev/null +++ b/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/reset_instance_request.ex @@ -0,0 +1,41 @@ +# 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.BareMetalSolution.V2.Model.ResetInstanceRequest do + @moduledoc """ + Message requesting to reset a server. + + ## Attributes + + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{} +end + +defimpl Poison.Decoder, for: GoogleApi.BareMetalSolution.V2.Model.ResetInstanceRequest do + def decode(value, options) do + GoogleApi.BareMetalSolution.V2.Model.ResetInstanceRequest.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.BareMetalSolution.V2.Model.ResetInstanceRequest do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/resize_volume_request.ex b/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/resize_volume_request.ex new file mode 100644 index 0000000000..33f9244b72 --- /dev/null +++ b/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/resize_volume_request.ex @@ -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.BareMetalSolution.V2.Model.ResizeVolumeRequest do + @moduledoc """ + Request for emergency resize Volume. + + ## Attributes + + * `sizeGib` (*type:* `String.t`, *default:* `nil`) - New Volume size, in GiB. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :sizeGib => String.t() | nil + } + + field(:sizeGib) +end + +defimpl Poison.Decoder, for: GoogleApi.BareMetalSolution.V2.Model.ResizeVolumeRequest do + def decode(value, options) do + GoogleApi.BareMetalSolution.V2.Model.ResizeVolumeRequest.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.BareMetalSolution.V2.Model.ResizeVolumeRequest do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/server_network_template.ex b/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/server_network_template.ex new file mode 100644 index 0000000000..5491e2f63f --- /dev/null +++ b/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/server_network_template.ex @@ -0,0 +1,62 @@ +# 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.BareMetalSolution.V2.Model.ServerNetworkTemplate do + @moduledoc """ + Network template. + + ## Attributes + + * `applicableInstanceTypes` (*type:* `list(String.t)`, *default:* `nil`) - Instance types this template is applicable to. + * `logicalInterfaces` (*type:* `list(GoogleApi.BareMetalSolution.V2.Model.GoogleCloudBaremetalsolutionV2ServerNetworkTemplateLogicalInterface.t)`, *default:* `nil`) - Logical interfaces. + * `name` (*type:* `String.t`, *default:* `nil`) - Output only. Template's unique name. The full resource name follows the pattern: `projects/{project}/locations/{location}/serverNetworkTemplate/{server_network_template}` Generally, the {server_network_template} follows the syntax of "bond" or "nic". + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :applicableInstanceTypes => list(String.t()) | nil, + :logicalInterfaces => + list( + GoogleApi.BareMetalSolution.V2.Model.GoogleCloudBaremetalsolutionV2ServerNetworkTemplateLogicalInterface.t() + ) + | nil, + :name => String.t() | nil + } + + field(:applicableInstanceTypes, type: :list) + + field(:logicalInterfaces, + as: + GoogleApi.BareMetalSolution.V2.Model.GoogleCloudBaremetalsolutionV2ServerNetworkTemplateLogicalInterface, + type: :list + ) + + field(:name) +end + +defimpl Poison.Decoder, for: GoogleApi.BareMetalSolution.V2.Model.ServerNetworkTemplate do + def decode(value, options) do + GoogleApi.BareMetalSolution.V2.Model.ServerNetworkTemplate.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.BareMetalSolution.V2.Model.ServerNetworkTemplate do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/snapshot_reservation_detail.ex b/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/snapshot_reservation_detail.ex new file mode 100644 index 0000000000..0a6cb21ff7 --- /dev/null +++ b/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/snapshot_reservation_detail.ex @@ -0,0 +1,55 @@ +# 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.BareMetalSolution.V2.Model.SnapshotReservationDetail do + @moduledoc """ + Details about snapshot space reservation and usage on the storage volume. + + ## Attributes + + * `reservedSpaceGib` (*type:* `String.t`, *default:* `nil`) - The space on this storage volume reserved for snapshots, shown in GiB. + * `reservedSpacePercent` (*type:* `integer()`, *default:* `nil`) - Percent of the total Volume size reserved for snapshot copies. Enabling snapshots requires reserving 20% or more of the storage volume space for snapshots. Maximum reserved space for snapshots is 40%. Setting this field will effectively set snapshot_enabled to true. + * `reservedSpaceRemainingGib` (*type:* `String.t`, *default:* `nil`) - The amount, in GiB, of available space in this storage volume's reserved snapshot space. + * `reservedSpaceUsedPercent` (*type:* `integer()`, *default:* `nil`) - The percent of snapshot space on this storage volume actually being used by the snapshot copies. This value might be higher than 100% if the snapshot copies have overflowed into the data portion of the storage volume. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :reservedSpaceGib => String.t() | nil, + :reservedSpacePercent => integer() | nil, + :reservedSpaceRemainingGib => String.t() | nil, + :reservedSpaceUsedPercent => integer() | nil + } + + field(:reservedSpaceGib) + field(:reservedSpacePercent) + field(:reservedSpaceRemainingGib) + field(:reservedSpaceUsedPercent) +end + +defimpl Poison.Decoder, for: GoogleApi.BareMetalSolution.V2.Model.SnapshotReservationDetail do + def decode(value, options) do + GoogleApi.BareMetalSolution.V2.Model.SnapshotReservationDetail.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.BareMetalSolution.V2.Model.SnapshotReservationDetail do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/start_instance_request.ex b/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/start_instance_request.ex new file mode 100644 index 0000000000..7bbcd977ce --- /dev/null +++ b/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/start_instance_request.ex @@ -0,0 +1,41 @@ +# 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.BareMetalSolution.V2.Model.StartInstanceRequest do + @moduledoc """ + Message requesting to start a server. + + ## Attributes + + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{} +end + +defimpl Poison.Decoder, for: GoogleApi.BareMetalSolution.V2.Model.StartInstanceRequest do + def decode(value, options) do + GoogleApi.BareMetalSolution.V2.Model.StartInstanceRequest.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.BareMetalSolution.V2.Model.StartInstanceRequest do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/status.ex b/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/status.ex new file mode 100644 index 0000000000..f5d83e7fbb --- /dev/null +++ b/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/status.ex @@ -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.BareMetalSolution.V2.Model.Status do + @moduledoc """ + The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). + + ## Attributes + + * `code` (*type:* `integer()`, *default:* `nil`) - The status code, which should be an enum value of google.rpc.Code. + * `details` (*type:* `list(map())`, *default:* `nil`) - A list of messages that carry the error details. There is a common set of message types for APIs to use. + * `message` (*type:* `String.t`, *default:* `nil`) - A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :code => integer() | nil, + :details => list(map()) | nil, + :message => String.t() | nil + } + + field(:code) + field(:details, type: :list) + field(:message) +end + +defimpl Poison.Decoder, for: GoogleApi.BareMetalSolution.V2.Model.Status do + def decode(value, options) do + GoogleApi.BareMetalSolution.V2.Model.Status.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.BareMetalSolution.V2.Model.Status do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/stop_instance_request.ex b/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/stop_instance_request.ex new file mode 100644 index 0000000000..8f2b424251 --- /dev/null +++ b/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/stop_instance_request.ex @@ -0,0 +1,41 @@ +# 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.BareMetalSolution.V2.Model.StopInstanceRequest do + @moduledoc """ + Message requesting to stop a server. + + ## Attributes + + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{} +end + +defimpl Poison.Decoder, for: GoogleApi.BareMetalSolution.V2.Model.StopInstanceRequest do + def decode(value, options) do + GoogleApi.BareMetalSolution.V2.Model.StopInstanceRequest.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.BareMetalSolution.V2.Model.StopInstanceRequest do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/submit_provisioning_config_request.ex b/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/submit_provisioning_config_request.ex new file mode 100644 index 0000000000..fb839570f6 --- /dev/null +++ b/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/submit_provisioning_config_request.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.BareMetalSolution.V2.Model.SubmitProvisioningConfigRequest do + @moduledoc """ + Request for SubmitProvisioningConfig. + + ## Attributes + + * `email` (*type:* `String.t`, *default:* `nil`) - Optional. Email provided to send a confirmation with provisioning config to. + * `provisioningConfig` (*type:* `GoogleApi.BareMetalSolution.V2.Model.ProvisioningConfig.t`, *default:* `nil`) - Required. The ProvisioningConfig to create. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :email => String.t() | nil, + :provisioningConfig => GoogleApi.BareMetalSolution.V2.Model.ProvisioningConfig.t() | nil + } + + field(:email) + field(:provisioningConfig, as: GoogleApi.BareMetalSolution.V2.Model.ProvisioningConfig) +end + +defimpl Poison.Decoder, for: GoogleApi.BareMetalSolution.V2.Model.SubmitProvisioningConfigRequest do + def decode(value, options) do + GoogleApi.BareMetalSolution.V2.Model.SubmitProvisioningConfigRequest.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.BareMetalSolution.V2.Model.SubmitProvisioningConfigRequest do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/submit_provisioning_config_response.ex b/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/submit_provisioning_config_response.ex new file mode 100644 index 0000000000..c0465d8bc0 --- /dev/null +++ b/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/submit_provisioning_config_response.ex @@ -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.BareMetalSolution.V2.Model.SubmitProvisioningConfigResponse do + @moduledoc """ + Response for SubmitProvisioningConfig. + + ## Attributes + + * `provisioningConfig` (*type:* `GoogleApi.BareMetalSolution.V2.Model.ProvisioningConfig.t`, *default:* `nil`) - The submitted provisioning config. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :provisioningConfig => GoogleApi.BareMetalSolution.V2.Model.ProvisioningConfig.t() | nil + } + + field(:provisioningConfig, as: GoogleApi.BareMetalSolution.V2.Model.ProvisioningConfig) +end + +defimpl Poison.Decoder, for: GoogleApi.BareMetalSolution.V2.Model.SubmitProvisioningConfigResponse do + def decode(value, options) do + GoogleApi.BareMetalSolution.V2.Model.SubmitProvisioningConfigResponse.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.BareMetalSolution.V2.Model.SubmitProvisioningConfigResponse do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/vlan_attachment.ex b/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/vlan_attachment.ex new file mode 100644 index 0000000000..e817411d8d --- /dev/null +++ b/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/vlan_attachment.ex @@ -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.BareMetalSolution.V2.Model.VlanAttachment do + @moduledoc """ + VLAN attachment details. + + ## Attributes + + * `peerIp` (*type:* `String.t`, *default:* `nil`) - The peer IP of the attachment. + * `peerVlanId` (*type:* `String.t`, *default:* `nil`) - The peer vlan ID of the attachment. + * `routerIp` (*type:* `String.t`, *default:* `nil`) - The router IP of the attachment. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :peerIp => String.t() | nil, + :peerVlanId => String.t() | nil, + :routerIp => String.t() | nil + } + + field(:peerIp) + field(:peerVlanId) + field(:routerIp) +end + +defimpl Poison.Decoder, for: GoogleApi.BareMetalSolution.V2.Model.VlanAttachment do + def decode(value, options) do + GoogleApi.BareMetalSolution.V2.Model.VlanAttachment.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.BareMetalSolution.V2.Model.VlanAttachment do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/volume.ex b/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/volume.ex new file mode 100644 index 0000000000..e8b4235889 --- /dev/null +++ b/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/volume.ex @@ -0,0 +1,99 @@ +# 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.BareMetalSolution.V2.Model.Volume do + @moduledoc """ + A storage volume. + + ## Attributes + + * `autoGrownSizeGib` (*type:* `String.t`, *default:* `nil`) - The size, in GiB, that this storage volume has expanded as a result of an auto grow policy. In the absence of auto-grow, the value is 0. + * `currentSizeGib` (*type:* `String.t`, *default:* `nil`) - The current size of this storage volume, in GiB, including space reserved for snapshots. This size might be different than the requested size if the storage volume has been configured with auto grow or auto shrink. + * `emergencySizeGib` (*type:* `String.t`, *default:* `nil`) - Additional emergency size that was requested for this Volume, in GiB. current_size_gib includes this value. + * `id` (*type:* `String.t`, *default:* `nil`) - An identifier for the `Volume`, generated by the backend. + * `labels` (*type:* `map()`, *default:* `nil`) - Labels as key value pairs. + * `maxSizeGib` (*type:* `String.t`, *default:* `nil`) - Maximum size volume can be expanded to in case of evergency, in GiB. + * `name` (*type:* `String.t`, *default:* `nil`) - Output only. The resource name of this `Volume`. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. Format: `projects/{project}/locations/{location}/volumes/{volume}` + * `originallyRequestedSizeGib` (*type:* `String.t`, *default:* `nil`) - Originally requested size, in GiB. + * `pod` (*type:* `String.t`, *default:* `nil`) - Immutable. Pod name. + * `remainingSpaceGib` (*type:* `String.t`, *default:* `nil`) - The space remaining in the storage volume for new LUNs, in GiB, excluding space reserved for snapshots. + * `requestedSizeGib` (*type:* `String.t`, *default:* `nil`) - The requested size of this storage volume, in GiB. + * `snapshotAutoDeleteBehavior` (*type:* `String.t`, *default:* `nil`) - The behavior to use when snapshot reserved space is full. + * `snapshotEnabled` (*type:* `boolean()`, *default:* `nil`) - Whether snapshots are enabled. + * `snapshotReservationDetail` (*type:* `GoogleApi.BareMetalSolution.V2.Model.SnapshotReservationDetail.t`, *default:* `nil`) - Details about snapshot space reservation and usage on the storage volume. + * `snapshotSchedulePolicy` (*type:* `String.t`, *default:* `nil`) - The name of the snapshot schedule policy in use for this volume, if any. + * `state` (*type:* `String.t`, *default:* `nil`) - The state of this storage volume. + * `storageType` (*type:* `String.t`, *default:* `nil`) - The storage type for this volume. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :autoGrownSizeGib => String.t() | nil, + :currentSizeGib => String.t() | nil, + :emergencySizeGib => String.t() | nil, + :id => String.t() | nil, + :labels => map() | nil, + :maxSizeGib => String.t() | nil, + :name => String.t() | nil, + :originallyRequestedSizeGib => String.t() | nil, + :pod => String.t() | nil, + :remainingSpaceGib => String.t() | nil, + :requestedSizeGib => String.t() | nil, + :snapshotAutoDeleteBehavior => String.t() | nil, + :snapshotEnabled => boolean() | nil, + :snapshotReservationDetail => + GoogleApi.BareMetalSolution.V2.Model.SnapshotReservationDetail.t() | nil, + :snapshotSchedulePolicy => String.t() | nil, + :state => String.t() | nil, + :storageType => String.t() | nil + } + + field(:autoGrownSizeGib) + field(:currentSizeGib) + field(:emergencySizeGib) + field(:id) + field(:labels, type: :map) + field(:maxSizeGib) + field(:name) + field(:originallyRequestedSizeGib) + field(:pod) + field(:remainingSpaceGib) + field(:requestedSizeGib) + field(:snapshotAutoDeleteBehavior) + field(:snapshotEnabled) + + field(:snapshotReservationDetail, + as: GoogleApi.BareMetalSolution.V2.Model.SnapshotReservationDetail + ) + + field(:snapshotSchedulePolicy) + field(:state) + field(:storageType) +end + +defimpl Poison.Decoder, for: GoogleApi.BareMetalSolution.V2.Model.Volume do + def decode(value, options) do + GoogleApi.BareMetalSolution.V2.Model.Volume.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.BareMetalSolution.V2.Model.Volume do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/volume_config.ex b/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/volume_config.ex new file mode 100644 index 0000000000..0de6059861 --- /dev/null +++ b/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/volume_config.ex @@ -0,0 +1,76 @@ +# 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.BareMetalSolution.V2.Model.VolumeConfig do + @moduledoc """ + Configuration parameters for a new volume. + + ## Attributes + + * `gcpService` (*type:* `String.t`, *default:* `nil`) - The GCP service of the storage volume. Available gcp_service are in https://cloud.google.com/bare-metal/docs/bms-planning. + * `id` (*type:* `String.t`, *default:* `nil`) - A transient unique identifier to identify a volume within an ProvisioningConfig request. + * `lunRanges` (*type:* `list(GoogleApi.BareMetalSolution.V2.Model.LunRange.t)`, *default:* `nil`) - LUN ranges to be configured. Set only when protocol is PROTOCOL_FC. + * `machineIds` (*type:* `list(String.t)`, *default:* `nil`) - Machine ids connected to this volume. Set only when protocol is PROTOCOL_FC. + * `name` (*type:* `String.t`, *default:* `nil`) - Output only. The name of the volume config. + * `nfsExports` (*type:* `list(GoogleApi.BareMetalSolution.V2.Model.NfsExport.t)`, *default:* `nil`) - NFS exports. Set only when protocol is PROTOCOL_NFS. + * `protocol` (*type:* `String.t`, *default:* `nil`) - Volume protocol. + * `sizeGb` (*type:* `integer()`, *default:* `nil`) - The requested size of this volume, in GB. + * `snapshotsEnabled` (*type:* `boolean()`, *default:* `nil`) - Whether snapshots should be enabled. + * `type` (*type:* `String.t`, *default:* `nil`) - The type of this Volume. + * `userNote` (*type:* `String.t`, *default:* `nil`) - User note field, it can be used by customers to add additional information for the BMS Ops team . + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :gcpService => String.t() | nil, + :id => String.t() | nil, + :lunRanges => list(GoogleApi.BareMetalSolution.V2.Model.LunRange.t()) | nil, + :machineIds => list(String.t()) | nil, + :name => String.t() | nil, + :nfsExports => list(GoogleApi.BareMetalSolution.V2.Model.NfsExport.t()) | nil, + :protocol => String.t() | nil, + :sizeGb => integer() | nil, + :snapshotsEnabled => boolean() | nil, + :type => String.t() | nil, + :userNote => String.t() | nil + } + + field(:gcpService) + field(:id) + field(:lunRanges, as: GoogleApi.BareMetalSolution.V2.Model.LunRange, type: :list) + field(:machineIds, type: :list) + field(:name) + field(:nfsExports, as: GoogleApi.BareMetalSolution.V2.Model.NfsExport, type: :list) + field(:protocol) + field(:sizeGb) + field(:snapshotsEnabled) + field(:type) + field(:userNote) +end + +defimpl Poison.Decoder, for: GoogleApi.BareMetalSolution.V2.Model.VolumeConfig do + def decode(value, options) do + GoogleApi.BareMetalSolution.V2.Model.VolumeConfig.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.BareMetalSolution.V2.Model.VolumeConfig do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/vrf.ex b/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/vrf.ex new file mode 100644 index 0000000000..4db431e398 --- /dev/null +++ b/clients/bare_metal_solution/lib/google_api/bare_metal_solution/v2/model/vrf.ex @@ -0,0 +1,55 @@ +# 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.BareMetalSolution.V2.Model.VRF do + @moduledoc """ + A network VRF. + + ## Attributes + + * `name` (*type:* `String.t`, *default:* `nil`) - The name of the VRF. + * `qosPolicy` (*type:* `GoogleApi.BareMetalSolution.V2.Model.QosPolicy.t`, *default:* `nil`) - The QOS policy applied to this VRF. + * `state` (*type:* `String.t`, *default:* `nil`) - The possible state of VRF. + * `vlanAttachments` (*type:* `list(GoogleApi.BareMetalSolution.V2.Model.VlanAttachment.t)`, *default:* `nil`) - The list of VLAN attachments for the VRF. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :name => String.t() | nil, + :qosPolicy => GoogleApi.BareMetalSolution.V2.Model.QosPolicy.t() | nil, + :state => String.t() | nil, + :vlanAttachments => list(GoogleApi.BareMetalSolution.V2.Model.VlanAttachment.t()) | nil + } + + field(:name) + field(:qosPolicy, as: GoogleApi.BareMetalSolution.V2.Model.QosPolicy) + field(:state) + field(:vlanAttachments, as: GoogleApi.BareMetalSolution.V2.Model.VlanAttachment, type: :list) +end + +defimpl Poison.Decoder, for: GoogleApi.BareMetalSolution.V2.Model.VRF do + def decode(value, options) do + GoogleApi.BareMetalSolution.V2.Model.VRF.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.BareMetalSolution.V2.Model.VRF do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/bare_metal_solution/mix.exs b/clients/bare_metal_solution/mix.exs index 9118d448d9..a0c9cea0c8 100644 --- a/clients/bare_metal_solution/mix.exs +++ b/clients/bare_metal_solution/mix.exs @@ -18,7 +18,7 @@ defmodule GoogleApi.BareMetalSolution.Mixfile do use Mix.Project - @version "0.3.1" + @version "0.4.0" def project() do [