diff --git a/clients/compute/lib/google_api/compute/v1/api/instance_group_manager_resize_requests.ex b/clients/compute/lib/google_api/compute/v1/api/instance_group_manager_resize_requests.ex new file mode 100644 index 0000000000..c77d3728b9 --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/api/instance_group_manager_resize_requests.ex @@ -0,0 +1,477 @@ +# 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.Compute.V1.Api.InstanceGroupManagerResizeRequests do + @moduledoc """ + API calls for all endpoints tagged `InstanceGroupManagerResizeRequests`. + """ + + alias GoogleApi.Compute.V1.Connection + alias GoogleApi.Gax.{Request, Response} + + @library_version Mix.Project.config() |> Keyword.get(:version, "") + + @doc """ + Cancels the specified resize request and removes it from the queue. Cancelled resize request does no longer wait for the resources to be provisioned. Cancel is only possible for requests that are accepted in the queue. + + ## Parameters + + * `connection` (*type:* `GoogleApi.Compute.V1.Connection.t`) - Connection to server + * `project` (*type:* `String.t`) - Project ID for this request. + * `zone` (*type:* `String.t`) - The name of the zone where the managed instance group is located. The name should conform to RFC1035. + * `instance_group_manager` (*type:* `String.t`) - The name of the managed instance group. The name should conform to RFC1035 or be a resource ID. + * `resize_request` (*type:* `String.t`) - The name of the resize request to cancel. The name should conform to RFC1035 or be a resource ID. + * `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"). + * `:userIp` (*type:* `String.t`) - Legacy name for parameter that has been superseded by `quotaUser`. + * `:requestId` (*type:* `String.t`) - An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.Compute.V1.Model.Operation{}}` on success + * `{:error, info}` on failure + """ + @spec compute_instance_group_manager_resize_requests_cancel( + Tesla.Env.client(), + String.t(), + String.t(), + String.t(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.Compute.V1.Model.Operation.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def compute_instance_group_manager_resize_requests_cancel( + connection, + project, + zone, + instance_group_manager, + resize_request, + 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, + :userIp => :query, + :requestId => :query + } + + request = + Request.new() + |> Request.method(:post) + |> Request.url( + "/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resizeRequests/{resizeRequest}/cancel", + %{ + "project" => URI.encode(project, &URI.char_unreserved?/1), + "zone" => URI.encode(zone, &URI.char_unreserved?/1), + "instanceGroupManager" => URI.encode(instance_group_manager, &URI.char_unreserved?/1), + "resizeRequest" => URI.encode(resize_request, &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.Compute.V1.Model.Operation{}]) + end + + @doc """ + Deletes the specified, inactive resize request. Requests that are still active cannot be deleted. Deleting request does not delete instances that were provisioned previously. + + ## Parameters + + * `connection` (*type:* `GoogleApi.Compute.V1.Connection.t`) - Connection to server + * `project` (*type:* `String.t`) - Project ID for this request. + * `zone` (*type:* `String.t`) - The name of the zone where the managed instance group is located. The name should conform to RFC1035. + * `instance_group_manager` (*type:* `String.t`) - The name of the managed instance group. The name should conform to RFC1035 or be a resource ID. + * `resize_request` (*type:* `String.t`) - The name of the resize request to delete. The name should conform to RFC1035 or be a resource ID. + * `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"). + * `:userIp` (*type:* `String.t`) - Legacy name for parameter that has been superseded by `quotaUser`. + * `:requestId` (*type:* `String.t`) - An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.Compute.V1.Model.Operation{}}` on success + * `{:error, info}` on failure + """ + @spec compute_instance_group_manager_resize_requests_delete( + Tesla.Env.client(), + String.t(), + String.t(), + String.t(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.Compute.V1.Model.Operation.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def compute_instance_group_manager_resize_requests_delete( + connection, + project, + zone, + instance_group_manager, + resize_request, + 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, + :userIp => :query, + :requestId => :query + } + + request = + Request.new() + |> Request.method(:delete) + |> Request.url( + "/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resizeRequests/{resizeRequest}", + %{ + "project" => URI.encode(project, &URI.char_unreserved?/1), + "zone" => URI.encode(zone, &URI.char_unreserved?/1), + "instanceGroupManager" => URI.encode(instance_group_manager, &URI.char_unreserved?/1), + "resizeRequest" => URI.encode(resize_request, &(URI.char_unreserved?(&1) || &1 == ?/)) + } + ) + |> Request.add_optional_params(optional_params_config, optional_params) + |> Request.library_version(@library_version) + + connection + |> Connection.execute(request) + |> Response.decode(opts ++ [struct: %GoogleApi.Compute.V1.Model.Operation{}]) + end + + @doc """ + Returns all of the details about the specified resize request. + + ## Parameters + + * `connection` (*type:* `GoogleApi.Compute.V1.Connection.t`) - Connection to server + * `project` (*type:* `String.t`) - Project ID for this request. + * `zone` (*type:* `String.t`) - Name of the href="/compute/docs/regions-zones/#available">zone scoping this request. Name should conform to RFC1035. + * `instance_group_manager` (*type:* `String.t`) - The name of the managed instance group. Name should conform to RFC1035 or be a resource ID. + * `resize_request` (*type:* `String.t`) - The name of the resize request. Name should conform to RFC1035 or be a resource ID. + * `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"). + * `:userIp` (*type:* `String.t`) - Legacy name for parameter that has been superseded by `quotaUser`. + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.Compute.V1.Model.InstanceGroupManagerResizeRequest{}}` on success + * `{:error, info}` on failure + """ + @spec compute_instance_group_manager_resize_requests_get( + Tesla.Env.client(), + String.t(), + String.t(), + String.t(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.Compute.V1.Model.InstanceGroupManagerResizeRequest.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def compute_instance_group_manager_resize_requests_get( + connection, + project, + zone, + instance_group_manager, + resize_request, + 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, + :userIp => :query + } + + request = + Request.new() + |> Request.method(:get) + |> Request.url( + "/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resizeRequests/{resizeRequest}", + %{ + "project" => URI.encode(project, &URI.char_unreserved?/1), + "zone" => URI.encode(zone, &URI.char_unreserved?/1), + "instanceGroupManager" => URI.encode(instance_group_manager, &URI.char_unreserved?/1), + "resizeRequest" => URI.encode(resize_request, &(URI.char_unreserved?(&1) || &1 == ?/)) + } + ) + |> Request.add_optional_params(optional_params_config, optional_params) + |> Request.library_version(@library_version) + + connection + |> Connection.execute(request) + |> Response.decode( + opts ++ [struct: %GoogleApi.Compute.V1.Model.InstanceGroupManagerResizeRequest{}] + ) + end + + @doc """ + Creates a new resize request that starts provisioning VMs immediately or queues VM creation. + + ## Parameters + + * `connection` (*type:* `GoogleApi.Compute.V1.Connection.t`) - Connection to server + * `project` (*type:* `String.t`) - Project ID for this request. + * `zone` (*type:* `String.t`) - The name of the zone where the managed instance group is located and where the resize request will be created. Name should conform to RFC1035. + * `instance_group_manager` (*type:* `String.t`) - The name of the managed instance group to which the resize request will be added. Name should conform to RFC1035 or be a resource ID. + * `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"). + * `:userIp` (*type:* `String.t`) - Legacy name for parameter that has been superseded by `quotaUser`. + * `:requestId` (*type:* `String.t`) - An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + * `:body` (*type:* `GoogleApi.Compute.V1.Model.InstanceGroupManagerResizeRequest.t`) - + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.Compute.V1.Model.Operation{}}` on success + * `{:error, info}` on failure + """ + @spec compute_instance_group_manager_resize_requests_insert( + Tesla.Env.client(), + String.t(), + String.t(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.Compute.V1.Model.Operation.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def compute_instance_group_manager_resize_requests_insert( + connection, + project, + zone, + instance_group_manager, + 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, + :userIp => :query, + :requestId => :query, + :body => :body + } + + request = + Request.new() + |> Request.method(:post) + |> Request.url( + "/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resizeRequests", + %{ + "project" => URI.encode(project, &URI.char_unreserved?/1), + "zone" => URI.encode(zone, &URI.char_unreserved?/1), + "instanceGroupManager" => URI.encode(instance_group_manager, &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.Compute.V1.Model.Operation{}]) + end + + @doc """ + Retrieves a list of resize requests that are contained in the managed instance group. + + ## Parameters + + * `connection` (*type:* `GoogleApi.Compute.V1.Connection.t`) - Connection to server + * `project` (*type:* `String.t`) - Project ID for this request. + * `zone` (*type:* `String.t`) - The name of the zone where the managed instance group is located. The name should conform to RFC1035. + * `instance_group_manager` (*type:* `String.t`) - The name of the managed instance group. The name should conform to RFC1035. + * `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"). + * `:userIp` (*type:* `String.t`) - Legacy name for parameter that has been superseded by `quotaUser`. + * `:filter` (*type:* `String.t`) - A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. + * `:maxResults` (*type:* `integer()`) - The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) + * `:orderBy` (*type:* `String.t`) - Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy="creationTimestamp desc"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported. + * `:pageToken` (*type:* `String.t`) - Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results. + * `:returnPartialSuccess` (*type:* `boolean()`) - Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code. + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.Compute.V1.Model.InstanceGroupManagerResizeRequestsListResponse{}}` on success + * `{:error, info}` on failure + """ + @spec compute_instance_group_manager_resize_requests_list( + Tesla.Env.client(), + String.t(), + String.t(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.Compute.V1.Model.InstanceGroupManagerResizeRequestsListResponse.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def compute_instance_group_manager_resize_requests_list( + connection, + project, + zone, + instance_group_manager, + 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, + :userIp => :query, + :filter => :query, + :maxResults => :query, + :orderBy => :query, + :pageToken => :query, + :returnPartialSuccess => :query + } + + request = + Request.new() + |> Request.method(:get) + |> Request.url( + "/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resizeRequests", + %{ + "project" => URI.encode(project, &URI.char_unreserved?/1), + "zone" => URI.encode(zone, &URI.char_unreserved?/1), + "instanceGroupManager" => URI.encode(instance_group_manager, &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.Compute.V1.Model.InstanceGroupManagerResizeRequestsListResponse{}] + ) + end +end diff --git a/clients/compute/lib/google_api/compute/v1/metadata.ex b/clients/compute/lib/google_api/compute/v1/metadata.ex index c31a08c0fa..2641b7acee 100644 --- a/clients/compute/lib/google_api/compute/v1/metadata.ex +++ b/clients/compute/lib/google_api/compute/v1/metadata.ex @@ -20,7 +20,7 @@ defmodule GoogleApi.Compute.V1 do API client metadata for GoogleApi.Compute.V1. """ - @discovery_revision "20240227" + @discovery_revision "20240305" def discovery_revision(), do: @discovery_revision end diff --git a/clients/compute/lib/google_api/compute/v1/model/cors_policy.ex b/clients/compute/lib/google_api/compute/v1/model/cors_policy.ex index 4e766e7792..88a86a4aa5 100644 --- a/clients/compute/lib/google_api/compute/v1/model/cors_policy.ex +++ b/clients/compute/lib/google_api/compute/v1/model/cors_policy.ex @@ -24,9 +24,9 @@ defmodule GoogleApi.Compute.V1.Model.CorsPolicy do * `allowCredentials` (*type:* `boolean()`, *default:* `nil`) - In response to a preflight request, setting this to true indicates that the actual request can include user credentials. This field translates to the Access-Control-Allow-Credentials header. Default is false. * `allowHeaders` (*type:* `list(String.t)`, *default:* `nil`) - Specifies the content for the Access-Control-Allow-Headers header. * `allowMethods` (*type:* `list(String.t)`, *default:* `nil`) - Specifies the content for the Access-Control-Allow-Methods header. - * `allowOriginRegexes` (*type:* `list(String.t)`, *default:* `nil`) - Specifies a regular expression that matches allowed origins. For more information about the regular expression syntax, see Syntax. An origin is allowed if it matches either an item in allowOrigins or an item in allowOriginRegexes. Regular expressions can only be used when the loadBalancingScheme is set to INTERNAL_SELF_MANAGED. + * `allowOriginRegexes` (*type:* `list(String.t)`, *default:* `nil`) - Specifies a regular expression that matches allowed origins. For more information, see regular expression syntax . An origin is allowed if it matches either an item in allowOrigins or an item in allowOriginRegexes. Regular expressions can only be used when the loadBalancingScheme is set to INTERNAL_SELF_MANAGED. * `allowOrigins` (*type:* `list(String.t)`, *default:* `nil`) - Specifies the list of origins that is allowed to do CORS requests. An origin is allowed if it matches either an item in allowOrigins or an item in allowOriginRegexes. - * `disabled` (*type:* `boolean()`, *default:* `nil`) - If true, the setting specifies the CORS policy is disabled. The default value of false, which indicates that the CORS policy is in effect. + * `disabled` (*type:* `boolean()`, *default:* `nil`) - If true, disables the CORS policy. The default value is false, which indicates that the CORS policy is in effect. * `exposeHeaders` (*type:* `list(String.t)`, *default:* `nil`) - Specifies the content for the Access-Control-Expose-Headers header. * `maxAge` (*type:* `integer()`, *default:* `nil`) - Specifies how long results of a preflight request can be cached in seconds. This field translates to the Access-Control-Max-Age header. """ diff --git a/clients/compute/lib/google_api/compute/v1/model/instance_group_manager_resize_request.ex b/clients/compute/lib/google_api/compute/v1/model/instance_group_manager_resize_request.ex new file mode 100644 index 0000000000..bb20e7d418 --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/instance_group_manager_resize_request.ex @@ -0,0 +1,79 @@ +# 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.Compute.V1.Model.InstanceGroupManagerResizeRequest do + @moduledoc """ + InstanceGroupManagerResizeRequest represents a request to create a number of VMs: either immediately or by queuing the request for the specified time. This resize request is nested under InstanceGroupManager and the VMs created by this request are added to the owning InstanceGroupManager. + + ## Attributes + + * `creationTimestamp` (*type:* `String.t`, *default:* `nil`) - [Output Only] The creation timestamp for this resize request in RFC3339 text format. + * `description` (*type:* `String.t`, *default:* `nil`) - An optional description of this resource. + * `id` (*type:* `String.t`, *default:* `nil`) - [Output Only] A unique identifier for this resource type. The server generates this identifier. + * `kind` (*type:* `String.t`, *default:* `compute#instanceGroupManagerResizeRequest`) - [Output Only] The resource type, which is always compute#instanceGroupManagerResizeRequest for resize requests. + * `name` (*type:* `String.t`, *default:* `nil`) - The name of this resize request. The name must be 1-63 characters long, and comply with RFC1035. + * `requestedRunDuration` (*type:* `GoogleApi.Compute.V1.Model.Duration.t`, *default:* `nil`) - Requested run duration for instances that will be created by this request. At the end of the run duration instance will be deleted. + * `resizeBy` (*type:* `integer()`, *default:* `nil`) - The number of instances to be created by this resize request. The group's target size will be increased by this number. + * `selfLink` (*type:* `String.t`, *default:* `nil`) - [Output Only] The URL for this resize request. The server defines this URL. + * `selfLinkWithId` (*type:* `String.t`, *default:* `nil`) - [Output Only] Server-defined URL for this resource with the resource id. + * `state` (*type:* `String.t`, *default:* `nil`) - [Output only] Current state of the request. + * `status` (*type:* `GoogleApi.Compute.V1.Model.InstanceGroupManagerResizeRequestStatus.t`, *default:* `nil`) - [Output only] Status of the request. + * `zone` (*type:* `String.t`, *default:* `nil`) - [Output Only] The URL of a zone where the resize request is located. Populated only for zonal resize requests. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :creationTimestamp => String.t() | nil, + :description => String.t() | nil, + :id => String.t() | nil, + :kind => String.t() | nil, + :name => String.t() | nil, + :requestedRunDuration => GoogleApi.Compute.V1.Model.Duration.t() | nil, + :resizeBy => integer() | nil, + :selfLink => String.t() | nil, + :selfLinkWithId => String.t() | nil, + :state => String.t() | nil, + :status => GoogleApi.Compute.V1.Model.InstanceGroupManagerResizeRequestStatus.t() | nil, + :zone => String.t() | nil + } + + field(:creationTimestamp) + field(:description) + field(:id) + field(:kind) + field(:name) + field(:requestedRunDuration, as: GoogleApi.Compute.V1.Model.Duration) + field(:resizeBy) + field(:selfLink) + field(:selfLinkWithId) + field(:state) + field(:status, as: GoogleApi.Compute.V1.Model.InstanceGroupManagerResizeRequestStatus) + field(:zone) +end + +defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.InstanceGroupManagerResizeRequest do + def decode(value, options) do + GoogleApi.Compute.V1.Model.InstanceGroupManagerResizeRequest.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.InstanceGroupManagerResizeRequest do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/compute/lib/google_api/compute/v1/model/instance_group_manager_resize_request_status.ex b/clients/compute/lib/google_api/compute/v1/model/instance_group_manager_resize_request_status.ex new file mode 100644 index 0000000000..0876fa22b8 --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/instance_group_manager_resize_request_status.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.Compute.V1.Model.InstanceGroupManagerResizeRequestStatus do + @moduledoc """ + + + ## Attributes + + * `error` (*type:* `GoogleApi.Compute.V1.Model.InstanceGroupManagerResizeRequestStatusError.t`, *default:* `nil`) - [Output only] Fatal errors encountered during the queueing or provisioning phases of the ResizeRequest that caused the transition to the FAILED state. Contrary to the last_attempt errors, this field is final and errors are never removed from here, as the ResizeRequest is not going to retry. + * `lastAttempt` (*type:* `GoogleApi.Compute.V1.Model.InstanceGroupManagerResizeRequestStatusLastAttempt.t`, *default:* `nil`) - [Output only] Information about the last attempt to fulfill the request. The value is temporary since the ResizeRequest can retry, as long as it's still active and the last attempt value can either be cleared or replaced with a different error. Since ResizeRequest retries infrequently, the value may be stale and no longer show an active problem. The value is cleared when ResizeRequest transitions to the final state (becomes inactive). If the final state is FAILED the error describing it will be storred in the "error" field only. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :error => + GoogleApi.Compute.V1.Model.InstanceGroupManagerResizeRequestStatusError.t() | nil, + :lastAttempt => + GoogleApi.Compute.V1.Model.InstanceGroupManagerResizeRequestStatusLastAttempt.t() + | nil + } + + field(:error, as: GoogleApi.Compute.V1.Model.InstanceGroupManagerResizeRequestStatusError) + + field(:lastAttempt, + as: GoogleApi.Compute.V1.Model.InstanceGroupManagerResizeRequestStatusLastAttempt + ) +end + +defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.InstanceGroupManagerResizeRequestStatus do + def decode(value, options) do + GoogleApi.Compute.V1.Model.InstanceGroupManagerResizeRequestStatus.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.InstanceGroupManagerResizeRequestStatus do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/compute/lib/google_api/compute/v1/model/instance_group_manager_resize_request_status_error.ex b/clients/compute/lib/google_api/compute/v1/model/instance_group_manager_resize_request_status_error.ex new file mode 100644 index 0000000000..05d66922a2 --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/instance_group_manager_resize_request_status_error.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.Compute.V1.Model.InstanceGroupManagerResizeRequestStatusError do + @moduledoc """ + [Output only] Fatal errors encountered during the queueing or provisioning phases of the ResizeRequest that caused the transition to the FAILED state. Contrary to the last_attempt errors, this field is final and errors are never removed from here, as the ResizeRequest is not going to retry. + + ## Attributes + + * `errors` (*type:* `list(GoogleApi.Compute.V1.Model.InstanceGroupManagerResizeRequestStatusErrorErrors.t)`, *default:* `nil`) - [Output Only] The array of errors encountered while processing this operation. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :errors => + list( + GoogleApi.Compute.V1.Model.InstanceGroupManagerResizeRequestStatusErrorErrors.t() + ) + | nil + } + + field(:errors, + as: GoogleApi.Compute.V1.Model.InstanceGroupManagerResizeRequestStatusErrorErrors, + type: :list + ) +end + +defimpl Poison.Decoder, + for: GoogleApi.Compute.V1.Model.InstanceGroupManagerResizeRequestStatusError do + def decode(value, options) do + GoogleApi.Compute.V1.Model.InstanceGroupManagerResizeRequestStatusError.decode(value, options) + end +end + +defimpl Poison.Encoder, + for: GoogleApi.Compute.V1.Model.InstanceGroupManagerResizeRequestStatusError do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/compute/lib/google_api/compute/v1/model/instance_group_manager_resize_request_status_error_errors.ex b/clients/compute/lib/google_api/compute/v1/model/instance_group_manager_resize_request_status_error_errors.ex new file mode 100644 index 0000000000..063132b2ed --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/instance_group_manager_resize_request_status_error_errors.ex @@ -0,0 +1,69 @@ +# 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.Compute.V1.Model.InstanceGroupManagerResizeRequestStatusErrorErrors do + @moduledoc """ + + + ## Attributes + + * `code` (*type:* `String.t`, *default:* `nil`) - [Output Only] The error type identifier for this error. + * `errorDetails` (*type:* `list(GoogleApi.Compute.V1.Model.InstanceGroupManagerResizeRequestStatusErrorErrorsErrorDetails.t)`, *default:* `nil`) - [Output Only] An optional list of messages that contain the error details. There is a set of defined message types to use for providing details.The syntax depends on the error code. For example, QuotaExceededInfo will have details when the error code is QUOTA_EXCEEDED. + * `location` (*type:* `String.t`, *default:* `nil`) - [Output Only] Indicates the field in the request that caused the error. This property is optional. + * `message` (*type:* `String.t`, *default:* `nil`) - [Output Only] An optional, human-readable error message. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :code => String.t() | nil, + :errorDetails => + list( + GoogleApi.Compute.V1.Model.InstanceGroupManagerResizeRequestStatusErrorErrorsErrorDetails.t() + ) + | nil, + :location => String.t() | nil, + :message => String.t() | nil + } + + field(:code) + + field(:errorDetails, + as: GoogleApi.Compute.V1.Model.InstanceGroupManagerResizeRequestStatusErrorErrorsErrorDetails, + type: :list + ) + + field(:location) + field(:message) +end + +defimpl Poison.Decoder, + for: GoogleApi.Compute.V1.Model.InstanceGroupManagerResizeRequestStatusErrorErrors do + def decode(value, options) do + GoogleApi.Compute.V1.Model.InstanceGroupManagerResizeRequestStatusErrorErrors.decode( + value, + options + ) + end +end + +defimpl Poison.Encoder, + for: GoogleApi.Compute.V1.Model.InstanceGroupManagerResizeRequestStatusErrorErrors do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/compute/lib/google_api/compute/v1/model/instance_group_manager_resize_request_status_error_errors_error_details.ex b/clients/compute/lib/google_api/compute/v1/model/instance_group_manager_resize_request_status_error_errors_error_details.ex new file mode 100644 index 0000000000..9e4844f88a --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/instance_group_manager_resize_request_status_error_errors_error_details.ex @@ -0,0 +1,60 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.Compute.V1.Model.InstanceGroupManagerResizeRequestStatusErrorErrorsErrorDetails do + @moduledoc """ + + + ## Attributes + + * `errorInfo` (*type:* `GoogleApi.Compute.V1.Model.ErrorInfo.t`, *default:* `nil`) - + * `help` (*type:* `GoogleApi.Compute.V1.Model.Help.t`, *default:* `nil`) - + * `localizedMessage` (*type:* `GoogleApi.Compute.V1.Model.LocalizedMessage.t`, *default:* `nil`) - + * `quotaInfo` (*type:* `GoogleApi.Compute.V1.Model.QuotaExceededInfo.t`, *default:* `nil`) - + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :errorInfo => GoogleApi.Compute.V1.Model.ErrorInfo.t() | nil, + :help => GoogleApi.Compute.V1.Model.Help.t() | nil, + :localizedMessage => GoogleApi.Compute.V1.Model.LocalizedMessage.t() | nil, + :quotaInfo => GoogleApi.Compute.V1.Model.QuotaExceededInfo.t() | nil + } + + field(:errorInfo, as: GoogleApi.Compute.V1.Model.ErrorInfo) + field(:help, as: GoogleApi.Compute.V1.Model.Help) + field(:localizedMessage, as: GoogleApi.Compute.V1.Model.LocalizedMessage) + field(:quotaInfo, as: GoogleApi.Compute.V1.Model.QuotaExceededInfo) +end + +defimpl Poison.Decoder, + for: GoogleApi.Compute.V1.Model.InstanceGroupManagerResizeRequestStatusErrorErrorsErrorDetails do + def decode(value, options) do + GoogleApi.Compute.V1.Model.InstanceGroupManagerResizeRequestStatusErrorErrorsErrorDetails.decode( + value, + options + ) + end +end + +defimpl Poison.Encoder, + for: GoogleApi.Compute.V1.Model.InstanceGroupManagerResizeRequestStatusErrorErrorsErrorDetails do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/compute/lib/google_api/compute/v1/model/instance_group_manager_resize_request_status_last_attempt.ex b/clients/compute/lib/google_api/compute/v1/model/instance_group_manager_resize_request_status_last_attempt.ex new file mode 100644 index 0000000000..688e551afd --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/instance_group_manager_resize_request_status_last_attempt.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.Compute.V1.Model.InstanceGroupManagerResizeRequestStatusLastAttempt do + @moduledoc """ + + + ## Attributes + + * `error` (*type:* `GoogleApi.Compute.V1.Model.InstanceGroupManagerResizeRequestStatusLastAttemptError.t`, *default:* `nil`) - Errors that prevented the ResizeRequest to be fulfilled. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :error => + GoogleApi.Compute.V1.Model.InstanceGroupManagerResizeRequestStatusLastAttemptError.t() + | nil + } + + field(:error, + as: GoogleApi.Compute.V1.Model.InstanceGroupManagerResizeRequestStatusLastAttemptError + ) +end + +defimpl Poison.Decoder, + for: GoogleApi.Compute.V1.Model.InstanceGroupManagerResizeRequestStatusLastAttempt do + def decode(value, options) do + GoogleApi.Compute.V1.Model.InstanceGroupManagerResizeRequestStatusLastAttempt.decode( + value, + options + ) + end +end + +defimpl Poison.Encoder, + for: GoogleApi.Compute.V1.Model.InstanceGroupManagerResizeRequestStatusLastAttempt do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/compute/lib/google_api/compute/v1/model/instance_group_manager_resize_request_status_last_attempt_error.ex b/clients/compute/lib/google_api/compute/v1/model/instance_group_manager_resize_request_status_last_attempt_error.ex new file mode 100644 index 0000000000..e3960c411e --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/instance_group_manager_resize_request_status_last_attempt_error.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.Compute.V1.Model.InstanceGroupManagerResizeRequestStatusLastAttemptError do + @moduledoc """ + Errors that prevented the ResizeRequest to be fulfilled. + + ## Attributes + + * `errors` (*type:* `list(GoogleApi.Compute.V1.Model.InstanceGroupManagerResizeRequestStatusLastAttemptErrorErrors.t)`, *default:* `nil`) - [Output Only] The array of errors encountered while processing this operation. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :errors => + list( + GoogleApi.Compute.V1.Model.InstanceGroupManagerResizeRequestStatusLastAttemptErrorErrors.t() + ) + | nil + } + + field(:errors, + as: GoogleApi.Compute.V1.Model.InstanceGroupManagerResizeRequestStatusLastAttemptErrorErrors, + type: :list + ) +end + +defimpl Poison.Decoder, + for: GoogleApi.Compute.V1.Model.InstanceGroupManagerResizeRequestStatusLastAttemptError do + def decode(value, options) do + GoogleApi.Compute.V1.Model.InstanceGroupManagerResizeRequestStatusLastAttemptError.decode( + value, + options + ) + end +end + +defimpl Poison.Encoder, + for: GoogleApi.Compute.V1.Model.InstanceGroupManagerResizeRequestStatusLastAttemptError do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/compute/lib/google_api/compute/v1/model/instance_group_manager_resize_request_status_last_attempt_error_errors.ex b/clients/compute/lib/google_api/compute/v1/model/instance_group_manager_resize_request_status_last_attempt_error_errors.ex new file mode 100644 index 0000000000..e882dd6f65 --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/instance_group_manager_resize_request_status_last_attempt_error_errors.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.Compute.V1.Model.InstanceGroupManagerResizeRequestStatusLastAttemptErrorErrors do + @moduledoc """ + + + ## Attributes + + * `code` (*type:* `String.t`, *default:* `nil`) - [Output Only] The error type identifier for this error. + * `errorDetails` (*type:* `list(GoogleApi.Compute.V1.Model.InstanceGroupManagerResizeRequestStatusLastAttemptErrorErrorsErrorDetails.t)`, *default:* `nil`) - [Output Only] An optional list of messages that contain the error details. There is a set of defined message types to use for providing details.The syntax depends on the error code. For example, QuotaExceededInfo will have details when the error code is QUOTA_EXCEEDED. + * `location` (*type:* `String.t`, *default:* `nil`) - [Output Only] Indicates the field in the request that caused the error. This property is optional. + * `message` (*type:* `String.t`, *default:* `nil`) - [Output Only] An optional, human-readable error message. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :code => String.t() | nil, + :errorDetails => + list( + GoogleApi.Compute.V1.Model.InstanceGroupManagerResizeRequestStatusLastAttemptErrorErrorsErrorDetails.t() + ) + | nil, + :location => String.t() | nil, + :message => String.t() | nil + } + + field(:code) + + field(:errorDetails, + as: + GoogleApi.Compute.V1.Model.InstanceGroupManagerResizeRequestStatusLastAttemptErrorErrorsErrorDetails, + type: :list + ) + + field(:location) + field(:message) +end + +defimpl Poison.Decoder, + for: GoogleApi.Compute.V1.Model.InstanceGroupManagerResizeRequestStatusLastAttemptErrorErrors do + def decode(value, options) do + GoogleApi.Compute.V1.Model.InstanceGroupManagerResizeRequestStatusLastAttemptErrorErrors.decode( + value, + options + ) + end +end + +defimpl Poison.Encoder, + for: GoogleApi.Compute.V1.Model.InstanceGroupManagerResizeRequestStatusLastAttemptErrorErrors do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/compute/lib/google_api/compute/v1/model/instance_group_manager_resize_request_status_last_attempt_error_errors_error_details.ex b/clients/compute/lib/google_api/compute/v1/model/instance_group_manager_resize_request_status_last_attempt_error_errors_error_details.ex new file mode 100644 index 0000000000..c4c5012857 --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/instance_group_manager_resize_request_status_last_attempt_error_errors_error_details.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.Compute.V1.Model.InstanceGroupManagerResizeRequestStatusLastAttemptErrorErrorsErrorDetails do + @moduledoc """ + + + ## Attributes + + * `errorInfo` (*type:* `GoogleApi.Compute.V1.Model.ErrorInfo.t`, *default:* `nil`) - + * `help` (*type:* `GoogleApi.Compute.V1.Model.Help.t`, *default:* `nil`) - + * `localizedMessage` (*type:* `GoogleApi.Compute.V1.Model.LocalizedMessage.t`, *default:* `nil`) - + * `quotaInfo` (*type:* `GoogleApi.Compute.V1.Model.QuotaExceededInfo.t`, *default:* `nil`) - + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :errorInfo => GoogleApi.Compute.V1.Model.ErrorInfo.t() | nil, + :help => GoogleApi.Compute.V1.Model.Help.t() | nil, + :localizedMessage => GoogleApi.Compute.V1.Model.LocalizedMessage.t() | nil, + :quotaInfo => GoogleApi.Compute.V1.Model.QuotaExceededInfo.t() | nil + } + + field(:errorInfo, as: GoogleApi.Compute.V1.Model.ErrorInfo) + field(:help, as: GoogleApi.Compute.V1.Model.Help) + field(:localizedMessage, as: GoogleApi.Compute.V1.Model.LocalizedMessage) + field(:quotaInfo, as: GoogleApi.Compute.V1.Model.QuotaExceededInfo) +end + +defimpl Poison.Decoder, + for: + GoogleApi.Compute.V1.Model.InstanceGroupManagerResizeRequestStatusLastAttemptErrorErrorsErrorDetails do + def decode(value, options) do + GoogleApi.Compute.V1.Model.InstanceGroupManagerResizeRequestStatusLastAttemptErrorErrorsErrorDetails.decode( + value, + options + ) + end +end + +defimpl Poison.Encoder, + for: + GoogleApi.Compute.V1.Model.InstanceGroupManagerResizeRequestStatusLastAttemptErrorErrorsErrorDetails do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/compute/lib/google_api/compute/v1/model/instance_group_manager_resize_requests_list_response.ex b/clients/compute/lib/google_api/compute/v1/model/instance_group_manager_resize_requests_list_response.ex new file mode 100644 index 0000000000..e7051c4d19 --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/instance_group_manager_resize_requests_list_response.ex @@ -0,0 +1,71 @@ +# 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.Compute.V1.Model.InstanceGroupManagerResizeRequestsListResponse do + @moduledoc """ + [Output Only] A list of resize requests. + + ## Attributes + + * `id` (*type:* `String.t`, *default:* `nil`) - [Output Only] Unique identifier for the resource; defined by the server. + * `items` (*type:* `list(GoogleApi.Compute.V1.Model.InstanceGroupManagerResizeRequest.t)`, *default:* `nil`) - A list of resize request resources. + * `kind` (*type:* `String.t`, *default:* `compute#instanceGroupManagerResizeRequestList`) - [Output Only] Type of the resource. Always compute#instanceGroupManagerResizeRequestList for a list of resize requests. + * `nextPageToken` (*type:* `String.t`, *default:* `nil`) - [Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results. + * `selfLink` (*type:* `String.t`, *default:* `nil`) - [Output Only] Server-defined URL for this resource. + * `warning` (*type:* `GoogleApi.Compute.V1.Model.InstanceGroupManagerResizeRequestsListResponseWarning.t`, *default:* `nil`) - [Output Only] Informational warning message. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :id => String.t() | nil, + :items => list(GoogleApi.Compute.V1.Model.InstanceGroupManagerResizeRequest.t()) | nil, + :kind => String.t() | nil, + :nextPageToken => String.t() | nil, + :selfLink => String.t() | nil, + :warning => + GoogleApi.Compute.V1.Model.InstanceGroupManagerResizeRequestsListResponseWarning.t() + | nil + } + + field(:id) + field(:items, as: GoogleApi.Compute.V1.Model.InstanceGroupManagerResizeRequest, type: :list) + field(:kind) + field(:nextPageToken) + field(:selfLink) + + field(:warning, + as: GoogleApi.Compute.V1.Model.InstanceGroupManagerResizeRequestsListResponseWarning + ) +end + +defimpl Poison.Decoder, + for: GoogleApi.Compute.V1.Model.InstanceGroupManagerResizeRequestsListResponse do + def decode(value, options) do + GoogleApi.Compute.V1.Model.InstanceGroupManagerResizeRequestsListResponse.decode( + value, + options + ) + end +end + +defimpl Poison.Encoder, + for: GoogleApi.Compute.V1.Model.InstanceGroupManagerResizeRequestsListResponse do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/compute/lib/google_api/compute/v1/model/instance_group_manager_resize_requests_list_response_warning.ex b/clients/compute/lib/google_api/compute/v1/model/instance_group_manager_resize_requests_list_response_warning.ex new file mode 100644 index 0000000000..bec75dd83a --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/instance_group_manager_resize_requests_list_response_warning.ex @@ -0,0 +1,66 @@ +# 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.Compute.V1.Model.InstanceGroupManagerResizeRequestsListResponseWarning do + @moduledoc """ + [Output Only] Informational warning message. + + ## Attributes + + * `code` (*type:* `String.t`, *default:* `nil`) - [Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response. + * `data` (*type:* `list(GoogleApi.Compute.V1.Model.InstanceGroupManagerResizeRequestsListResponseWarningData.t)`, *default:* `nil`) - [Output Only] Metadata about this warning in key: value format. For example: "data": [ { "key": "scope", "value": "zones/us-east1-d" } + * `message` (*type:* `String.t`, *default:* `nil`) - [Output Only] A human-readable description of the warning code. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :code => String.t() | nil, + :data => + list( + GoogleApi.Compute.V1.Model.InstanceGroupManagerResizeRequestsListResponseWarningData.t() + ) + | nil, + :message => String.t() | nil + } + + field(:code) + + field(:data, + as: GoogleApi.Compute.V1.Model.InstanceGroupManagerResizeRequestsListResponseWarningData, + type: :list + ) + + field(:message) +end + +defimpl Poison.Decoder, + for: GoogleApi.Compute.V1.Model.InstanceGroupManagerResizeRequestsListResponseWarning do + def decode(value, options) do + GoogleApi.Compute.V1.Model.InstanceGroupManagerResizeRequestsListResponseWarning.decode( + value, + options + ) + end +end + +defimpl Poison.Encoder, + for: GoogleApi.Compute.V1.Model.InstanceGroupManagerResizeRequestsListResponseWarning do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/compute/lib/google_api/compute/v1/model/instance_group_manager_resize_requests_list_response_warning_data.ex b/clients/compute/lib/google_api/compute/v1/model/instance_group_manager_resize_requests_list_response_warning_data.ex new file mode 100644 index 0000000000..45b46151d1 --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/instance_group_manager_resize_requests_list_response_warning_data.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.Compute.V1.Model.InstanceGroupManagerResizeRequestsListResponseWarningData do + @moduledoc """ + + + ## Attributes + + * `key` (*type:* `String.t`, *default:* `nil`) - [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + * `value` (*type:* `String.t`, *default:* `nil`) - [Output Only] A warning data value corresponding to the key. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :key => String.t() | nil, + :value => String.t() | nil + } + + field(:key) + field(:value) +end + +defimpl Poison.Decoder, + for: GoogleApi.Compute.V1.Model.InstanceGroupManagerResizeRequestsListResponseWarningData do + def decode(value, options) do + GoogleApi.Compute.V1.Model.InstanceGroupManagerResizeRequestsListResponseWarningData.decode( + value, + options + ) + end +end + +defimpl Poison.Encoder, + for: GoogleApi.Compute.V1.Model.InstanceGroupManagerResizeRequestsListResponseWarningData do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/compute/lib/google_api/compute/v1/model/region_network_firewall_policies_get_effective_firewalls_response_effective_firewall_policy.ex b/clients/compute/lib/google_api/compute/v1/model/region_network_firewall_policies_get_effective_firewalls_response_effective_firewall_policy.ex index 4fefde7f9a..f77a4beea8 100644 --- a/clients/compute/lib/google_api/compute/v1/model/region_network_firewall_policies_get_effective_firewalls_response_effective_firewall_policy.ex +++ b/clients/compute/lib/google_api/compute/v1/model/region_network_firewall_policies_get_effective_firewalls_response_effective_firewall_policy.ex @@ -24,7 +24,7 @@ defmodule GoogleApi.Compute.V1.Model.RegionNetworkFirewallPoliciesGetEffectiveFi * `displayName` (*type:* `String.t`, *default:* `nil`) - [Output Only] The display name of the firewall policy. * `name` (*type:* `String.t`, *default:* `nil`) - [Output Only] The name of the firewall policy. * `rules` (*type:* `list(GoogleApi.Compute.V1.Model.FirewallPolicyRule.t)`, *default:* `nil`) - The rules that apply to the network. - * `type` (*type:* `String.t`, *default:* `nil`) - [Output Only] The type of the firewall policy. Can be one of HIERARCHY, NETWORK, NETWORK_REGIONAL. + * `type` (*type:* `String.t`, *default:* `nil`) - [Output Only] The type of the firewall policy. Can be one of HIERARCHY, NETWORK, NETWORK_REGIONAL, SYSTEM_GLOBAL, SYSTEM_REGIONAL. """ use GoogleApi.Gax.ModelBase