diff --git a/clients/compute/lib/google_api/compute/v1/api/accelerator_types.ex b/clients/compute/lib/google_api/compute/v1/api/accelerator_types.ex index 6a7e76f17b..fa939bfe2d 100644 --- a/clients/compute/lib/google_api/compute/v1/api/accelerator_types.ex +++ b/clients/compute/lib/google_api/compute/v1/api/accelerator_types.ex @@ -26,7 +26,7 @@ defmodule GoogleApi.Compute.V1.Api.AcceleratorTypes do @library_version Mix.Project.config() |> Keyword.get(:version, "") @doc """ - Retrieves an aggregated list of accelerator types. + Retrieves an aggregated list of accelerator types. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. ## Parameters @@ -45,12 +45,13 @@ defmodule GoogleApi.Compute.V1.Api.AcceleratorTypes do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. * `:includeAllScopes` (*type:* `boolean()`) - Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included. * `: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. + * `: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. + * `:serviceProjectNumber` (*type:* `String.t`) - The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api. * `opts` (*type:* `keyword()`) - Call options ## Returns @@ -92,7 +93,8 @@ defmodule GoogleApi.Compute.V1.Api.AcceleratorTypes do :maxResults => :query, :orderBy => :query, :pageToken => :query, - :returnPartialSuccess => :query + :returnPartialSuccess => :query, + :serviceProjectNumber => :query } request = @@ -212,11 +214,11 @@ defmodule GoogleApi.Compute.V1.Api.AcceleratorTypes do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. + * `: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 diff --git a/clients/compute/lib/google_api/compute/v1/api/addresses.ex b/clients/compute/lib/google_api/compute/v1/api/addresses.ex index 12a78b7eea..88b9ce3161 100644 --- a/clients/compute/lib/google_api/compute/v1/api/addresses.ex +++ b/clients/compute/lib/google_api/compute/v1/api/addresses.ex @@ -26,7 +26,7 @@ defmodule GoogleApi.Compute.V1.Api.Addresses do @library_version Mix.Project.config() |> Keyword.get(:version, "") @doc """ - Retrieves an aggregated list of addresses. + Retrieves an aggregated list of addresses. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. ## Parameters @@ -45,12 +45,13 @@ defmodule GoogleApi.Compute.V1.Api.Addresses do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. * `:includeAllScopes` (*type:* `boolean()`) - Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included. * `: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. + * `: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. + * `:serviceProjectNumber` (*type:* `String.t`) - The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api. * `opts` (*type:* `keyword()`) - Call options ## Returns @@ -82,7 +83,8 @@ defmodule GoogleApi.Compute.V1.Api.Addresses do :maxResults => :query, :orderBy => :query, :pageToken => :query, - :returnPartialSuccess => :query + :returnPartialSuccess => :query, + :serviceProjectNumber => :query } request = @@ -350,11 +352,11 @@ defmodule GoogleApi.Compute.V1.Api.Addresses do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. + * `: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 @@ -403,6 +405,90 @@ defmodule GoogleApi.Compute.V1.Api.Addresses do |> Response.decode(opts ++ [struct: %GoogleApi.Compute.V1.Model.AddressList{}]) end + @doc """ + Moves the specified address resource. + + ## Parameters + + * `connection` (*type:* `GoogleApi.Compute.V1.Connection.t`) - Connection to server + * `project` (*type:* `String.t`) - Source project ID which the Address is moved from. + * `region` (*type:* `String.t`) - Name of the region for this request. + * `address` (*type:* `String.t`) - Name of the address resource to move. + * `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.RegionAddressesMoveRequest.t`) - + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.Compute.V1.Model.Operation{}}` on success + * `{:error, info}` on failure + """ + @spec compute_addresses_move( + 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_addresses_move( + connection, + project, + region, + address, + 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}/regions/{region}/addresses/{address}/move", %{ + "project" => URI.encode(project, &URI.char_unreserved?/1), + "region" => URI.encode(region, &URI.char_unreserved?/1), + "address" => URI.encode(address, &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 """ Sets the labels on an Address. To learn more about labels, read the Labeling Resources documentation. diff --git a/clients/compute/lib/google_api/compute/v1/api/autoscalers.ex b/clients/compute/lib/google_api/compute/v1/api/autoscalers.ex index bb3575ef17..6931794008 100644 --- a/clients/compute/lib/google_api/compute/v1/api/autoscalers.ex +++ b/clients/compute/lib/google_api/compute/v1/api/autoscalers.ex @@ -26,7 +26,7 @@ defmodule GoogleApi.Compute.V1.Api.Autoscalers do @library_version Mix.Project.config() |> Keyword.get(:version, "") @doc """ - Retrieves an aggregated list of autoscalers. + Retrieves an aggregated list of autoscalers. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. ## Parameters @@ -45,12 +45,13 @@ defmodule GoogleApi.Compute.V1.Api.Autoscalers do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. * `:includeAllScopes` (*type:* `boolean()`) - Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included. * `: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. + * `: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. + * `:serviceProjectNumber` (*type:* `String.t`) - The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api. * `opts` (*type:* `keyword()`) - Call options ## Returns @@ -82,7 +83,8 @@ defmodule GoogleApi.Compute.V1.Api.Autoscalers do :maxResults => :query, :orderBy => :query, :pageToken => :query, - :returnPartialSuccess => :query + :returnPartialSuccess => :query, + :serviceProjectNumber => :query } request = @@ -182,7 +184,7 @@ defmodule GoogleApi.Compute.V1.Api.Autoscalers do end @doc """ - Returns the specified autoscaler resource. Gets a list of available autoscalers by making a list() request. + Returns the specified autoscaler resource. ## Parameters @@ -356,11 +358,11 @@ defmodule GoogleApi.Compute.V1.Api.Autoscalers do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. + * `: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 diff --git a/clients/compute/lib/google_api/compute/v1/api/backend_buckets.ex b/clients/compute/lib/google_api/compute/v1/api/backend_buckets.ex index 147304f70f..c9211a4e55 100644 --- a/clients/compute/lib/google_api/compute/v1/api/backend_buckets.ex +++ b/clients/compute/lib/google_api/compute/v1/api/backend_buckets.ex @@ -272,7 +272,7 @@ defmodule GoogleApi.Compute.V1.Api.BackendBuckets do end @doc """ - Returns the specified BackendBucket resource. Gets a list of available backend buckets by making a list() request. + Returns the specified BackendBucket resource. ## Parameters @@ -347,6 +347,84 @@ defmodule GoogleApi.Compute.V1.Api.BackendBuckets do |> Response.decode(opts ++ [struct: %GoogleApi.Compute.V1.Model.BackendBucket{}]) end + @doc """ + Gets the access control policy for a resource. May be empty if no such policy or resource exists. + + ## Parameters + + * `connection` (*type:* `GoogleApi.Compute.V1.Connection.t`) - Connection to server + * `project` (*type:* `String.t`) - Project ID for this request. + * `resource` (*type:* `String.t`) - Name or id of the resource for this request. + * `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`. + * `:optionsRequestedPolicyVersion` (*type:* `integer()`) - Requested IAM Policy version. + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.Compute.V1.Model.Policy{}}` on success + * `{:error, info}` on failure + """ + @spec compute_backend_buckets_get_iam_policy( + Tesla.Env.client(), + String.t(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.Compute.V1.Model.Policy.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def compute_backend_buckets_get_iam_policy( + connection, + project, + resource, + 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, + :optionsRequestedPolicyVersion => :query + } + + request = + Request.new() + |> Request.method(:get) + |> Request.url("/projects/{project}/global/backendBuckets/{resource}/getIamPolicy", %{ + "project" => URI.encode(project, &URI.char_unreserved?/1), + "resource" => URI.encode(resource, &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.Policy{}]) + end + @doc """ Creates a BackendBucket resource in the specified project using the data included in the request. @@ -433,11 +511,11 @@ defmodule GoogleApi.Compute.V1.Api.BackendBuckets do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. + * `: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 @@ -572,7 +650,7 @@ defmodule GoogleApi.Compute.V1.Api.BackendBuckets do * `connection` (*type:* `GoogleApi.Compute.V1.Connection.t`) - Connection to server * `project` (*type:* `String.t`) - Project ID for this request. - * `backend_bucket` (*type:* `String.t`) - Name of the BackendService resource to which the security policy should be set. The name should conform to RFC1035. + * `backend_bucket` (*type:* `String.t`) - Name of the BackendBucket resource to which the security policy should be set. 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. @@ -648,6 +726,162 @@ defmodule GoogleApi.Compute.V1.Api.BackendBuckets do |> Response.decode(opts ++ [struct: %GoogleApi.Compute.V1.Model.Operation{}]) end + @doc """ + Sets the access control policy on the specified resource. Replaces any existing policy. + + ## Parameters + + * `connection` (*type:* `GoogleApi.Compute.V1.Connection.t`) - Connection to server + * `project` (*type:* `String.t`) - Project ID for this request. + * `resource` (*type:* `String.t`) - Name or id of the resource for this request. + * `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`. + * `:body` (*type:* `GoogleApi.Compute.V1.Model.GlobalSetPolicyRequest.t`) - + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.Compute.V1.Model.Policy{}}` on success + * `{:error, info}` on failure + """ + @spec compute_backend_buckets_set_iam_policy( + Tesla.Env.client(), + String.t(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.Compute.V1.Model.Policy.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def compute_backend_buckets_set_iam_policy( + connection, + project, + resource, + 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, + :body => :body + } + + request = + Request.new() + |> Request.method(:post) + |> Request.url("/projects/{project}/global/backendBuckets/{resource}/setIamPolicy", %{ + "project" => URI.encode(project, &URI.char_unreserved?/1), + "resource" => URI.encode(resource, &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.Policy{}]) + end + + @doc """ + Returns permissions that a caller has on the specified resource. + + ## Parameters + + * `connection` (*type:* `GoogleApi.Compute.V1.Connection.t`) - Connection to server + * `project` (*type:* `String.t`) - Project ID for this request. + * `resource` (*type:* `String.t`) - Name or id of the resource for this request. + * `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`. + * `:body` (*type:* `GoogleApi.Compute.V1.Model.TestPermissionsRequest.t`) - + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.Compute.V1.Model.TestPermissionsResponse{}}` on success + * `{:error, info}` on failure + """ + @spec compute_backend_buckets_test_iam_permissions( + Tesla.Env.client(), + String.t(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.Compute.V1.Model.TestPermissionsResponse.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def compute_backend_buckets_test_iam_permissions( + connection, + project, + resource, + 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, + :body => :body + } + + request = + Request.new() + |> Request.method(:post) + |> Request.url("/projects/{project}/global/backendBuckets/{resource}/testIamPermissions", %{ + "project" => URI.encode(project, &URI.char_unreserved?/1), + "resource" => URI.encode(resource, &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.TestPermissionsResponse{}]) + end + @doc """ Updates the specified BackendBucket resource with the data included in the request. diff --git a/clients/compute/lib/google_api/compute/v1/api/backend_services.ex b/clients/compute/lib/google_api/compute/v1/api/backend_services.ex index 2c24f1077d..970c1be6f0 100644 --- a/clients/compute/lib/google_api/compute/v1/api/backend_services.ex +++ b/clients/compute/lib/google_api/compute/v1/api/backend_services.ex @@ -109,7 +109,7 @@ defmodule GoogleApi.Compute.V1.Api.BackendServices do end @doc """ - Retrieves the list of all BackendService resources, regional and global, available to the specified project. + Retrieves the list of all BackendService resources, regional and global, available to the specified project. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. ## Parameters @@ -128,12 +128,13 @@ defmodule GoogleApi.Compute.V1.Api.BackendServices do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. * `:includeAllScopes` (*type:* `boolean()`) - Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included. * `: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. + * `: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. + * `:serviceProjectNumber` (*type:* `String.t`) - The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api. * `opts` (*type:* `keyword()`) - Call options ## Returns @@ -175,7 +176,8 @@ defmodule GoogleApi.Compute.V1.Api.BackendServices do :maxResults => :query, :orderBy => :query, :pageToken => :query, - :returnPartialSuccess => :query + :returnPartialSuccess => :query, + :serviceProjectNumber => :query } request = @@ -358,7 +360,7 @@ defmodule GoogleApi.Compute.V1.Api.BackendServices do end @doc """ - Returns the specified BackendService resource. Gets a list of available backend services. + Returns the specified BackendService resource. ## Parameters @@ -675,11 +677,11 @@ defmodule GoogleApi.Compute.V1.Api.BackendServices do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. + * `: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 @@ -727,6 +729,78 @@ defmodule GoogleApi.Compute.V1.Api.BackendServices do |> Response.decode(opts ++ [struct: %GoogleApi.Compute.V1.Model.BackendServiceList{}]) end + @doc """ + Retrieves an aggregated list of all usable backend services in the specified project. + + ## Parameters + + * `connection` (*type:* `GoogleApi.Compute.V1.Connection.t`) - Connection to server + * `project` (*type:* `String.t`) - Project ID for this request. + * `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.BackendServiceListUsable{}}` on success + * `{:error, info}` on failure + """ + @spec compute_backend_services_list_usable(Tesla.Env.client(), String.t(), keyword(), keyword()) :: + {:ok, GoogleApi.Compute.V1.Model.BackendServiceListUsable.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def compute_backend_services_list_usable(connection, project, 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}/global/backendServices/listUsable", %{ + "project" => URI.encode(project, &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.BackendServiceListUsable{}]) + end + @doc """ Patches the specified BackendService resource with the data included in the request. For more information, see Backend services overview. This method supports PATCH semantics and uses the JSON merge patch format and processing rules. @@ -1051,6 +1125,87 @@ defmodule GoogleApi.Compute.V1.Api.BackendServices do |> Response.decode(opts ++ [struct: %GoogleApi.Compute.V1.Model.Operation{}]) end + @doc """ + Returns permissions that a caller has on the specified resource. + + ## Parameters + + * `connection` (*type:* `GoogleApi.Compute.V1.Connection.t`) - Connection to server + * `project` (*type:* `String.t`) - Project ID for this request. + * `resource` (*type:* `String.t`) - Name or id of the resource for this request. + * `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`. + * `:body` (*type:* `GoogleApi.Compute.V1.Model.TestPermissionsRequest.t`) - + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.Compute.V1.Model.TestPermissionsResponse{}}` on success + * `{:error, info}` on failure + """ + @spec compute_backend_services_test_iam_permissions( + Tesla.Env.client(), + String.t(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.Compute.V1.Model.TestPermissionsResponse.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def compute_backend_services_test_iam_permissions( + connection, + project, + resource, + 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, + :body => :body + } + + request = + Request.new() + |> Request.method(:post) + |> Request.url( + "/projects/{project}/global/backendServices/{resource}/testIamPermissions", + %{ + "project" => URI.encode(project, &URI.char_unreserved?/1), + "resource" => URI.encode(resource, &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.TestPermissionsResponse{}]) + end + @doc """ Updates the specified BackendService resource with the data included in the request. For more information, see Backend services overview. diff --git a/clients/compute/lib/google_api/compute/v1/api/disk_types.ex b/clients/compute/lib/google_api/compute/v1/api/disk_types.ex index 6e85fd49a5..496573074b 100644 --- a/clients/compute/lib/google_api/compute/v1/api/disk_types.ex +++ b/clients/compute/lib/google_api/compute/v1/api/disk_types.ex @@ -26,7 +26,7 @@ defmodule GoogleApi.Compute.V1.Api.DiskTypes do @library_version Mix.Project.config() |> Keyword.get(:version, "") @doc """ - Retrieves an aggregated list of disk types. + Retrieves an aggregated list of disk types. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. ## Parameters @@ -45,12 +45,13 @@ defmodule GoogleApi.Compute.V1.Api.DiskTypes do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. * `:includeAllScopes` (*type:* `boolean()`) - Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included. * `: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. + * `: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. + * `:serviceProjectNumber` (*type:* `String.t`) - The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api. * `opts` (*type:* `keyword()`) - Call options ## Returns @@ -82,7 +83,8 @@ defmodule GoogleApi.Compute.V1.Api.DiskTypes do :maxResults => :query, :orderBy => :query, :pageToken => :query, - :returnPartialSuccess => :query + :returnPartialSuccess => :query, + :serviceProjectNumber => :query } request = @@ -100,7 +102,7 @@ defmodule GoogleApi.Compute.V1.Api.DiskTypes do end @doc """ - Returns the specified disk type. Gets a list of available disk types by making a list() request. + Returns the specified disk type. ## Parameters @@ -200,11 +202,11 @@ defmodule GoogleApi.Compute.V1.Api.DiskTypes do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. + * `: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 diff --git a/clients/compute/lib/google_api/compute/v1/api/disks.ex b/clients/compute/lib/google_api/compute/v1/api/disks.ex index 5077d68ab6..8dc478cb6d 100644 --- a/clients/compute/lib/google_api/compute/v1/api/disks.ex +++ b/clients/compute/lib/google_api/compute/v1/api/disks.ex @@ -110,7 +110,7 @@ defmodule GoogleApi.Compute.V1.Api.Disks do end @doc """ - Retrieves an aggregated list of persistent disks. + Retrieves an aggregated list of persistent disks. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. ## Parameters @@ -129,12 +129,13 @@ defmodule GoogleApi.Compute.V1.Api.Disks do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. * `:includeAllScopes` (*type:* `boolean()`) - Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included. * `: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. + * `: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. + * `:serviceProjectNumber` (*type:* `String.t`) - The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api. * `opts` (*type:* `keyword()`) - Call options ## Returns @@ -166,7 +167,8 @@ defmodule GoogleApi.Compute.V1.Api.Disks do :maxResults => :query, :orderBy => :query, :pageToken => :query, - :returnPartialSuccess => :query + :returnPartialSuccess => :query, + :serviceProjectNumber => :query } request = @@ -183,6 +185,80 @@ defmodule GoogleApi.Compute.V1.Api.Disks do |> Response.decode(opts ++ [struct: %GoogleApi.Compute.V1.Model.DiskAggregatedList{}]) end + @doc """ + Bulk create a set of disks. + + ## 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 for this request. + * `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.BulkInsertDiskResource.t`) - + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.Compute.V1.Model.Operation{}}` on success + * `{:error, info}` on failure + """ + @spec compute_disks_bulk_insert( + Tesla.Env.client(), + String.t(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.Compute.V1.Model.Operation.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def compute_disks_bulk_insert(connection, project, zone, 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}/disks/bulkInsert", %{ + "project" => URI.encode(project, &URI.char_unreserved?/1), + "zone" => URI.encode(zone, &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 """ Creates a snapshot of a specified persistent disk. For regular snapshot creation, consider using snapshots.insert instead, as that method supports more features, such as creating snapshots in a project different from the source disk project. @@ -345,7 +421,7 @@ defmodule GoogleApi.Compute.V1.Api.Disks do end @doc """ - Returns a specified persistent disk. Gets a list of available persistent disks by making a list() request. + Returns the specified persistent disk. ## Parameters @@ -590,11 +666,11 @@ defmodule GoogleApi.Compute.V1.Api.Disks do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. + * `: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 @@ -970,6 +1046,252 @@ defmodule GoogleApi.Compute.V1.Api.Disks do |> Response.decode(opts ++ [struct: %GoogleApi.Compute.V1.Model.Operation{}]) end + @doc """ + Starts asynchronous replication. Must be invoked on the primary disk. + + ## 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 for this request. + * `disk` (*type:* `String.t`) - The name of the persistent disk. + * `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.DisksStartAsyncReplicationRequest.t`) - + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.Compute.V1.Model.Operation{}}` on success + * `{:error, info}` on failure + """ + @spec compute_disks_start_async_replication( + 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_disks_start_async_replication( + connection, + project, + zone, + disk, + 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}/disks/{disk}/startAsyncReplication", %{ + "project" => URI.encode(project, &URI.char_unreserved?/1), + "zone" => URI.encode(zone, &URI.char_unreserved?/1), + "disk" => URI.encode(disk, &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 """ + Stops asynchronous replication. Can be invoked either on the primary or on the secondary disk. + + ## 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 for this request. + * `disk` (*type:* `String.t`) - The name of the persistent disk. + * `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_disks_stop_async_replication( + 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_disks_stop_async_replication( + connection, + project, + zone, + disk, + 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}/disks/{disk}/stopAsyncReplication", %{ + "project" => URI.encode(project, &URI.char_unreserved?/1), + "zone" => URI.encode(zone, &URI.char_unreserved?/1), + "disk" => URI.encode(disk, &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 """ + Stops asynchronous replication for a consistency group of disks. Can be invoked either in the primary or secondary scope. + + ## 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 for this request. This must be the zone of the primary or secondary disks in the consistency group. + * `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.DisksStopGroupAsyncReplicationResource.t`) - + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.Compute.V1.Model.Operation{}}` on success + * `{:error, info}` on failure + """ + @spec compute_disks_stop_group_async_replication( + Tesla.Env.client(), + String.t(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.Compute.V1.Model.Operation.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def compute_disks_stop_group_async_replication( + connection, + project, + zone, + 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}/disks/stopGroupAsyncReplication", %{ + "project" => URI.encode(project, &URI.char_unreserved?/1), + "zone" => URI.encode(zone, &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 """ Returns permissions that a caller has on the specified resource. @@ -1051,4 +1373,85 @@ defmodule GoogleApi.Compute.V1.Api.Disks do |> Connection.execute(request) |> Response.decode(opts ++ [struct: %GoogleApi.Compute.V1.Model.TestPermissionsResponse{}]) end + + @doc """ + Updates the specified disk with the data included in the request. The update is performed only on selected fields included as part of update-mask. Only the following fields can be modified: user_license. + + ## 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 for this request. + * `disk` (*type:* `String.t`) - The disk name for this request. + * `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`. + * `:paths` (*type:* `list(String.t)`) - + * `: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). + * `:updateMask` (*type:* `String.t`) - update_mask indicates fields to be updated as part of this request. + * `:body` (*type:* `GoogleApi.Compute.V1.Model.Disk.t`) - + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.Compute.V1.Model.Operation{}}` on success + * `{:error, info}` on failure + """ + @spec compute_disks_update( + 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_disks_update(connection, project, zone, disk, 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, + :paths => :query, + :requestId => :query, + :updateMask => :query, + :body => :body + } + + request = + Request.new() + |> Request.method(:patch) + |> Request.url("/projects/{project}/zones/{zone}/disks/{disk}", %{ + "project" => URI.encode(project, &URI.char_unreserved?/1), + "zone" => URI.encode(zone, &URI.char_unreserved?/1), + "disk" => URI.encode(disk, &(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 end diff --git a/clients/compute/lib/google_api/compute/v1/api/external_vpn_gateways.ex b/clients/compute/lib/google_api/compute/v1/api/external_vpn_gateways.ex index c31dbbad6f..8c83d30f8f 100644 --- a/clients/compute/lib/google_api/compute/v1/api/external_vpn_gateways.ex +++ b/clients/compute/lib/google_api/compute/v1/api/external_vpn_gateways.ex @@ -267,11 +267,11 @@ defmodule GoogleApi.Compute.V1.Api.ExternalVpnGateways do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. + * `: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 diff --git a/clients/compute/lib/google_api/compute/v1/api/firewall_policies.ex b/clients/compute/lib/google_api/compute/v1/api/firewall_policies.ex index cfdb8c8398..8d23303987 100644 --- a/clients/compute/lib/google_api/compute/v1/api/firewall_policies.ex +++ b/clients/compute/lib/google_api/compute/v1/api/firewall_policies.ex @@ -687,12 +687,12 @@ defmodule GoogleApi.Compute.V1.Api.FirewallPolicies do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. - * `:parentId` (*type:* `String.t`) - Parent ID for this request. - * `:returnPartialSuccess` (*type:* `boolean()`) - Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. + * `:parentId` (*type:* `String.t`) - Parent ID for this request. The ID can be either be "folders/[FOLDER_ID]" if the parent is a folder or "organizations/[ORGANIZATION_ID]" if the parent is an organization. + * `: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 @@ -822,7 +822,7 @@ defmodule GoogleApi.Compute.V1.Api.FirewallPolicies do * `: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`. - * `:parentId` (*type:* `String.t`) - The new parent of the firewall policy. + * `:parentId` (*type:* `String.t`) - The new parent of the firewall policy. The ID can be either be "folders/[FOLDER_ID]" if the parent is a folder or "organizations/[ORGANIZATION_ID]" if the parent is an organization. * `: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 diff --git a/clients/compute/lib/google_api/compute/v1/api/firewalls.ex b/clients/compute/lib/google_api/compute/v1/api/firewalls.ex index 4ae3b9dbda..6757b0ba63 100644 --- a/clients/compute/lib/google_api/compute/v1/api/firewalls.ex +++ b/clients/compute/lib/google_api/compute/v1/api/firewalls.ex @@ -241,11 +241,11 @@ defmodule GoogleApi.Compute.V1.Api.Firewalls do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. + * `: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 diff --git a/clients/compute/lib/google_api/compute/v1/api/forwarding_rules.ex b/clients/compute/lib/google_api/compute/v1/api/forwarding_rules.ex index 9445358d90..8b04544c6e 100644 --- a/clients/compute/lib/google_api/compute/v1/api/forwarding_rules.ex +++ b/clients/compute/lib/google_api/compute/v1/api/forwarding_rules.ex @@ -26,7 +26,7 @@ defmodule GoogleApi.Compute.V1.Api.ForwardingRules do @library_version Mix.Project.config() |> Keyword.get(:version, "") @doc """ - Retrieves an aggregated list of forwarding rules. + Retrieves an aggregated list of forwarding rules. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. ## Parameters @@ -45,12 +45,13 @@ defmodule GoogleApi.Compute.V1.Api.ForwardingRules do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. * `:includeAllScopes` (*type:* `boolean()`) - Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included. * `: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. + * `: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. + * `:serviceProjectNumber` (*type:* `String.t`) - The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api. * `opts` (*type:* `keyword()`) - Call options ## Returns @@ -92,7 +93,8 @@ defmodule GoogleApi.Compute.V1.Api.ForwardingRules do :maxResults => :query, :orderBy => :query, :pageToken => :query, - :returnPartialSuccess => :query + :returnPartialSuccess => :query, + :serviceProjectNumber => :query } request = @@ -374,11 +376,11 @@ defmodule GoogleApi.Compute.V1.Api.ForwardingRules do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. + * `: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 diff --git a/clients/compute/lib/google_api/compute/v1/api/global_addresses.ex b/clients/compute/lib/google_api/compute/v1/api/global_addresses.ex index de1d0b1e48..1c4e615ffd 100644 --- a/clients/compute/lib/google_api/compute/v1/api/global_addresses.ex +++ b/clients/compute/lib/google_api/compute/v1/api/global_addresses.ex @@ -104,7 +104,7 @@ defmodule GoogleApi.Compute.V1.Api.GlobalAddresses do end @doc """ - Returns the specified address resource. Gets a list of available addresses by making a list() request. + Returns the specified address resource. ## Parameters @@ -265,11 +265,11 @@ defmodule GoogleApi.Compute.V1.Api.GlobalAddresses do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. + * `: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 @@ -317,6 +317,86 @@ defmodule GoogleApi.Compute.V1.Api.GlobalAddresses do |> Response.decode(opts ++ [struct: %GoogleApi.Compute.V1.Model.AddressList{}]) end + @doc """ + Moves the specified address resource from one project to another project. + + ## Parameters + + * `connection` (*type:* `GoogleApi.Compute.V1.Connection.t`) - Connection to server + * `project` (*type:* `String.t`) - Source project ID which the Address is moved from. + * `address` (*type:* `String.t`) - Name of the address resource to move. + * `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.GlobalAddressesMoveRequest.t`) - + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.Compute.V1.Model.Operation{}}` on success + * `{:error, info}` on failure + """ + @spec compute_global_addresses_move( + Tesla.Env.client(), + String.t(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.Compute.V1.Model.Operation.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def compute_global_addresses_move( + connection, + project, + address, + 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}/global/addresses/{address}/move", %{ + "project" => URI.encode(project, &URI.char_unreserved?/1), + "address" => URI.encode(address, &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 """ Sets the labels on a GlobalAddress. To learn more about labels, read the Labeling Resources documentation. diff --git a/clients/compute/lib/google_api/compute/v1/api/global_forwarding_rules.ex b/clients/compute/lib/google_api/compute/v1/api/global_forwarding_rules.ex index bfa21c47d2..87a8a21d5a 100644 --- a/clients/compute/lib/google_api/compute/v1/api/global_forwarding_rules.ex +++ b/clients/compute/lib/google_api/compute/v1/api/global_forwarding_rules.ex @@ -275,11 +275,11 @@ defmodule GoogleApi.Compute.V1.Api.GlobalForwardingRules do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. + * `: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 diff --git a/clients/compute/lib/google_api/compute/v1/api/global_network_endpoint_groups.ex b/clients/compute/lib/google_api/compute/v1/api/global_network_endpoint_groups.ex index d8db6e6dc7..69bfd85420 100644 --- a/clients/compute/lib/google_api/compute/v1/api/global_network_endpoint_groups.ex +++ b/clients/compute/lib/google_api/compute/v1/api/global_network_endpoint_groups.ex @@ -271,7 +271,7 @@ defmodule GoogleApi.Compute.V1.Api.GlobalNetworkEndpointGroups do end @doc """ - Returns the specified network endpoint group. Gets a list of available network endpoint groups by making a list() request. + Returns the specified network endpoint group. ## Parameters @@ -443,11 +443,11 @@ defmodule GoogleApi.Compute.V1.Api.GlobalNetworkEndpointGroups do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. + * `: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 @@ -526,11 +526,11 @@ defmodule GoogleApi.Compute.V1.Api.GlobalNetworkEndpointGroups do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. + * `: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 diff --git a/clients/compute/lib/google_api/compute/v1/api/global_operations.ex b/clients/compute/lib/google_api/compute/v1/api/global_operations.ex index 9f31097091..aa53738f81 100644 --- a/clients/compute/lib/google_api/compute/v1/api/global_operations.ex +++ b/clients/compute/lib/google_api/compute/v1/api/global_operations.ex @@ -26,7 +26,7 @@ defmodule GoogleApi.Compute.V1.Api.GlobalOperations do @library_version Mix.Project.config() |> Keyword.get(:version, "") @doc """ - Retrieves an aggregated list of all operations. + Retrieves an aggregated list of all operations. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. ## Parameters @@ -45,12 +45,13 @@ defmodule GoogleApi.Compute.V1.Api.GlobalOperations do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. * `:includeAllScopes` (*type:* `boolean()`) - Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included. * `: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. + * `: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. + * `:serviceProjectNumber` (*type:* `String.t`) - The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api. * `opts` (*type:* `keyword()`) - Call options ## Returns @@ -92,7 +93,8 @@ defmodule GoogleApi.Compute.V1.Api.GlobalOperations do :maxResults => :query, :orderBy => :query, :pageToken => :query, - :returnPartialSuccess => :query + :returnPartialSuccess => :query, + :serviceProjectNumber => :query } request = @@ -277,11 +279,11 @@ defmodule GoogleApi.Compute.V1.Api.GlobalOperations do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. + * `: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 diff --git a/clients/compute/lib/google_api/compute/v1/api/global_organization_operations.ex b/clients/compute/lib/google_api/compute/v1/api/global_organization_operations.ex index f59a21a935..fe274e44e1 100644 --- a/clients/compute/lib/google_api/compute/v1/api/global_organization_operations.ex +++ b/clients/compute/lib/google_api/compute/v1/api/global_organization_operations.ex @@ -188,12 +188,12 @@ defmodule GoogleApi.Compute.V1.Api.GlobalOrganizationOperations do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. * `:parentId` (*type:* `String.t`) - Parent ID for this request. - * `:returnPartialSuccess` (*type:* `boolean()`) - Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. + * `: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 diff --git a/clients/compute/lib/google_api/compute/v1/api/global_public_delegated_prefixes.ex b/clients/compute/lib/google_api/compute/v1/api/global_public_delegated_prefixes.ex index 3862ad4297..f21cbb5aed 100644 --- a/clients/compute/lib/google_api/compute/v1/api/global_public_delegated_prefixes.ex +++ b/clients/compute/lib/google_api/compute/v1/api/global_public_delegated_prefixes.ex @@ -283,11 +283,11 @@ defmodule GoogleApi.Compute.V1.Api.GlobalPublicDelegatedPrefixes do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. + * `: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 diff --git a/clients/compute/lib/google_api/compute/v1/api/health_checks.ex b/clients/compute/lib/google_api/compute/v1/api/health_checks.ex index 62db2d6ee2..78fb5e91bb 100644 --- a/clients/compute/lib/google_api/compute/v1/api/health_checks.ex +++ b/clients/compute/lib/google_api/compute/v1/api/health_checks.ex @@ -26,7 +26,7 @@ defmodule GoogleApi.Compute.V1.Api.HealthChecks do @library_version Mix.Project.config() |> Keyword.get(:version, "") @doc """ - Retrieves the list of all HealthCheck resources, regional and global, available to the specified project. + Retrieves the list of all HealthCheck resources, regional and global, available to the specified project. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. ## Parameters @@ -45,12 +45,13 @@ defmodule GoogleApi.Compute.V1.Api.HealthChecks do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. * `:includeAllScopes` (*type:* `boolean()`) - Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included. * `: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. + * `: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. + * `:serviceProjectNumber` (*type:* `String.t`) - The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api. * `opts` (*type:* `keyword()`) - Call options ## Returns @@ -92,7 +93,8 @@ defmodule GoogleApi.Compute.V1.Api.HealthChecks do :maxResults => :query, :orderBy => :query, :pageToken => :query, - :returnPartialSuccess => :query + :returnPartialSuccess => :query, + :serviceProjectNumber => :query } request = @@ -188,7 +190,7 @@ defmodule GoogleApi.Compute.V1.Api.HealthChecks do end @doc """ - Returns the specified HealthCheck resource. Gets a list of available health checks by making a list() request. + Returns the specified HealthCheck resource. ## Parameters @@ -349,11 +351,11 @@ defmodule GoogleApi.Compute.V1.Api.HealthChecks do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. + * `: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 diff --git a/clients/compute/lib/google_api/compute/v1/api/http_health_checks.ex b/clients/compute/lib/google_api/compute/v1/api/http_health_checks.ex index 8b073f9ab5..0d33e75f17 100644 --- a/clients/compute/lib/google_api/compute/v1/api/http_health_checks.ex +++ b/clients/compute/lib/google_api/compute/v1/api/http_health_checks.ex @@ -105,7 +105,7 @@ defmodule GoogleApi.Compute.V1.Api.HttpHealthChecks do end @doc """ - Returns the specified HttpHealthCheck resource. Gets a list of available HTTP health checks by making a list() request. + Returns the specified HttpHealthCheck resource. ## Parameters @@ -267,11 +267,11 @@ defmodule GoogleApi.Compute.V1.Api.HttpHealthChecks do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. + * `: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 diff --git a/clients/compute/lib/google_api/compute/v1/api/https_health_checks.ex b/clients/compute/lib/google_api/compute/v1/api/https_health_checks.ex index a2f2f56920..2b50e41797 100644 --- a/clients/compute/lib/google_api/compute/v1/api/https_health_checks.ex +++ b/clients/compute/lib/google_api/compute/v1/api/https_health_checks.ex @@ -105,7 +105,7 @@ defmodule GoogleApi.Compute.V1.Api.HttpsHealthChecks do end @doc """ - Returns the specified HttpsHealthCheck resource. Gets a list of available HTTPS health checks by making a list() request. + Returns the specified HttpsHealthCheck resource. ## Parameters @@ -267,11 +267,11 @@ defmodule GoogleApi.Compute.V1.Api.HttpsHealthChecks do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. + * `: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 diff --git a/clients/compute/lib/google_api/compute/v1/api/images.ex b/clients/compute/lib/google_api/compute/v1/api/images.ex index c7b0999645..1027b692bd 100644 --- a/clients/compute/lib/google_api/compute/v1/api/images.ex +++ b/clients/compute/lib/google_api/compute/v1/api/images.ex @@ -160,7 +160,7 @@ defmodule GoogleApi.Compute.V1.Api.Images do end @doc """ - Returns the specified image. Gets a list of available images by making a list() request. + Returns the specified image. ## Parameters @@ -224,12 +224,12 @@ defmodule GoogleApi.Compute.V1.Api.Images do end @doc """ - Returns the latest image that is part of an image family and is not deprecated. + Returns the latest image that is part of an image family and is not deprecated. For more information on image families, see Public image families documentation. ## Parameters * `connection` (*type:* `GoogleApi.Compute.V1.Connection.t`) - Connection to server - * `project` (*type:* `String.t`) - Project ID for this request. + * `project` (*type:* `String.t`) - The image project that the image belongs to. For example, to get a CentOS image, specify centos-cloud as the image project. * `family` (*type:* `String.t`) - Name of the image family to search for. * `optional_params` (*type:* `keyword()`) - Optional parameters * `:"$.xgafv"` (*type:* `String.t`) - V1 error format. @@ -465,11 +465,11 @@ defmodule GoogleApi.Compute.V1.Api.Images do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. + * `: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 diff --git a/clients/compute/lib/google_api/compute/v1/api/instance_group_managers.ex b/clients/compute/lib/google_api/compute/v1/api/instance_group_managers.ex index bc2784d5e7..d666a500e2 100644 --- a/clients/compute/lib/google_api/compute/v1/api/instance_group_managers.ex +++ b/clients/compute/lib/google_api/compute/v1/api/instance_group_managers.ex @@ -113,7 +113,7 @@ defmodule GoogleApi.Compute.V1.Api.InstanceGroupManagers do end @doc """ - Retrieves the list of managed instance groups and groups them by zone. + Retrieves the list of managed instance groups and groups them by zone. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. ## Parameters @@ -132,12 +132,13 @@ defmodule GoogleApi.Compute.V1.Api.InstanceGroupManagers do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. * `:includeAllScopes` (*type:* `boolean()`) - Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included. * `: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. + * `: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. + * `:serviceProjectNumber` (*type:* `String.t`) - The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api. * `opts` (*type:* `keyword()`) - Call options ## Returns @@ -179,7 +180,8 @@ defmodule GoogleApi.Compute.V1.Api.InstanceGroupManagers do :maxResults => :query, :orderBy => :query, :pageToken => :query, - :returnPartialSuccess => :query + :returnPartialSuccess => :query, + :serviceProjectNumber => :query } request = @@ -629,7 +631,7 @@ defmodule GoogleApi.Compute.V1.Api.InstanceGroupManagers do end @doc """ - Returns all of the details about the specified managed instance group. Gets a list of available managed instance groups by making a list() request. + Returns all of the details about the specified managed instance group. ## Parameters @@ -813,11 +815,11 @@ defmodule GoogleApi.Compute.V1.Api.InstanceGroupManagers do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. + * `: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 @@ -900,11 +902,11 @@ defmodule GoogleApi.Compute.V1.Api.InstanceGroupManagers do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. + * `: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 @@ -974,7 +976,7 @@ defmodule GoogleApi.Compute.V1.Api.InstanceGroupManagers do end @doc """ - Lists all of the instances in the managed instance group. Each instance in the list has a currentAction, which indicates the action that the managed instance group is performing on the instance. For example, if the group is still creating an instance, the currentAction is CREATING. If a previous action failed, the list displays the errors for that failed action. The orderBy query parameter is not supported. The `pageToken` query parameter is supported only in the alpha and beta API and only if the group's `listManagedInstancesResults` field is set to `PAGINATED`. + Lists all of the instances in the managed instance group. Each instance in the list has a currentAction, which indicates the action that the managed instance group is performing on the instance. For example, if the group is still creating an instance, the currentAction is CREATING. If a previous action failed, the list displays the errors for that failed action. The orderBy query parameter is not supported. The `pageToken` query parameter is supported only if the group's `listManagedInstancesResults` field is set to `PAGINATED`. ## Parameters @@ -995,11 +997,11 @@ defmodule GoogleApi.Compute.V1.Api.InstanceGroupManagers do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. + * `: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 @@ -1091,11 +1093,11 @@ defmodule GoogleApi.Compute.V1.Api.InstanceGroupManagers do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. + * `: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 diff --git a/clients/compute/lib/google_api/compute/v1/api/instance_groups.ex b/clients/compute/lib/google_api/compute/v1/api/instance_groups.ex index cd1b0cfcb6..937a8f13f0 100644 --- a/clients/compute/lib/google_api/compute/v1/api/instance_groups.ex +++ b/clients/compute/lib/google_api/compute/v1/api/instance_groups.ex @@ -113,7 +113,7 @@ defmodule GoogleApi.Compute.V1.Api.InstanceGroups do end @doc """ - Retrieves the list of instance groups and sorts them by zone. + Retrieves the list of instance groups and sorts them by zone. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. ## Parameters @@ -132,12 +132,13 @@ defmodule GoogleApi.Compute.V1.Api.InstanceGroups do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. * `:includeAllScopes` (*type:* `boolean()`) - Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included. * `: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. + * `: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. + * `:serviceProjectNumber` (*type:* `String.t`) - The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api. * `opts` (*type:* `keyword()`) - Call options ## Returns @@ -179,7 +180,8 @@ defmodule GoogleApi.Compute.V1.Api.InstanceGroups do :maxResults => :query, :orderBy => :query, :pageToken => :query, - :returnPartialSuccess => :query + :returnPartialSuccess => :query, + :serviceProjectNumber => :query } request = @@ -455,11 +457,11 @@ defmodule GoogleApi.Compute.V1.Api.InstanceGroups do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. + * `: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 @@ -536,11 +538,11 @@ defmodule GoogleApi.Compute.V1.Api.InstanceGroups do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. + * `: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. * `:body` (*type:* `GoogleApi.Compute.V1.Model.InstanceGroupsListInstancesRequest.t`) - * `opts` (*type:* `keyword()`) - Call options diff --git a/clients/compute/lib/google_api/compute/v1/api/instance_templates.ex b/clients/compute/lib/google_api/compute/v1/api/instance_templates.ex index 94c9301d3b..a6b701736e 100644 --- a/clients/compute/lib/google_api/compute/v1/api/instance_templates.ex +++ b/clients/compute/lib/google_api/compute/v1/api/instance_templates.ex @@ -25,6 +25,94 @@ defmodule GoogleApi.Compute.V1.Api.InstanceTemplates do @library_version Mix.Project.config() |> Keyword.get(:version, "") + @doc """ + Retrieves the list of all InstanceTemplates resources, regional and global, available to the specified project. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. + + ## Parameters + + * `connection` (*type:* `GoogleApi.Compute.V1.Connection.t`) - Connection to server + * `project` (*type:* `String.t`) - Name of the project scoping this request. + * `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. + * `:includeAllScopes` (*type:* `boolean()`) - Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included. + * `: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. + * `:serviceProjectNumber` (*type:* `String.t`) - The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api. + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.Compute.V1.Model.InstanceTemplateAggregatedList{}}` on success + * `{:error, info}` on failure + """ + @spec compute_instance_templates_aggregated_list( + Tesla.Env.client(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.Compute.V1.Model.InstanceTemplateAggregatedList.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def compute_instance_templates_aggregated_list( + connection, + project, + 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, + :includeAllScopes => :query, + :maxResults => :query, + :orderBy => :query, + :pageToken => :query, + :returnPartialSuccess => :query, + :serviceProjectNumber => :query + } + + request = + Request.new() + |> Request.method(:get) + |> Request.url("/projects/{project}/aggregated/instanceTemplates", %{ + "project" => URI.encode(project, &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.InstanceTemplateAggregatedList{}] + ) + end + @doc """ Deletes the specified instance template. Deleting an instance template is permanent and cannot be undone. It is not possible to delete templates that are already in use by a managed instance group. @@ -105,7 +193,7 @@ defmodule GoogleApi.Compute.V1.Api.InstanceTemplates do end @doc """ - Returns the specified instance template. Gets a list of available instance templates by making a list() request. + Returns the specified instance template. ## Parameters @@ -345,11 +433,11 @@ defmodule GoogleApi.Compute.V1.Api.InstanceTemplates do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. + * `: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 diff --git a/clients/compute/lib/google_api/compute/v1/api/instances.ex b/clients/compute/lib/google_api/compute/v1/api/instances.ex index 324aa7c9ae..f709552f1a 100644 --- a/clients/compute/lib/google_api/compute/v1/api/instances.ex +++ b/clients/compute/lib/google_api/compute/v1/api/instances.ex @@ -100,7 +100,7 @@ defmodule GoogleApi.Compute.V1.Api.Instances do end @doc """ - Retrieves an aggregated list of all of the instances in your project across all regions and zones. The performance of this method degrades when a filter is specified on a project that has a very large number of instances. + Retrieves an aggregated list of all of the instances in your project across all regions and zones. The performance of this method degrades when a filter is specified on a project that has a very large number of instances. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. ## Parameters @@ -119,12 +119,13 @@ defmodule GoogleApi.Compute.V1.Api.Instances do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. * `:includeAllScopes` (*type:* `boolean()`) - Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included. * `: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. + * `: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. + * `:serviceProjectNumber` (*type:* `String.t`) - The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api. * `opts` (*type:* `keyword()`) - Call options ## Returns @@ -156,7 +157,8 @@ defmodule GoogleApi.Compute.V1.Api.Instances do :maxResults => :query, :orderBy => :query, :pageToken => :query, - :returnPartialSuccess => :query + :returnPartialSuccess => :query, + :serviceProjectNumber => :query } request = @@ -617,6 +619,7 @@ defmodule GoogleApi.Compute.V1.Api.Instances do * `: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`. + * `:discardLocalSsd` (*type:* `boolean()`) - This property is required if the instance has any attached Local SSD disks. If false, Local SSD data will be preserved when the instance is suspended. If true, the contents of any attached Local SSD disks will be discarded. * `: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 @@ -658,6 +661,7 @@ defmodule GoogleApi.Compute.V1.Api.Instances do :uploadType => :query, :upload_protocol => :query, :userIp => :query, + :discardLocalSsd => :query, :requestId => :query } @@ -787,6 +791,8 @@ defmodule GoogleApi.Compute.V1.Api.Instances do * `: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). + * `:withExtendedNotifications` (*type:* `boolean()`) - Determines whether the customers receive notifications before migration. Only applicable to SF vms. * `opts` (*type:* `keyword()`) - Call options ## Returns @@ -826,7 +832,9 @@ defmodule GoogleApi.Compute.V1.Api.Instances do :quotaUser => :query, :uploadType => :query, :upload_protocol => :query, - :userIp => :query + :userIp => :query, + :requestId => :query, + :withExtendedNotifications => :query } request = @@ -1189,7 +1197,7 @@ defmodule GoogleApi.Compute.V1.Api.Instances do end @doc """ - Returns the specified Instance resource. Gets a list of available instances by making a list() request. + Returns the specified Instance resource. ## Parameters @@ -2630,6 +2638,91 @@ defmodule GoogleApi.Compute.V1.Api.Instances do |> Response.decode(opts ++ [struct: %GoogleApi.Compute.V1.Model.Operation{}]) end + @doc """ + Perform a manual maintenance on the instance. + + ## 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 for this request. + * `instance` (*type:* `String.t`) - Name of the instance scoping this request. + * `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_instances_perform_maintenance( + 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_instances_perform_maintenance( + connection, + project, + zone, + 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, + :userIp => :query, + :requestId => :query + } + + request = + Request.new() + |> Request.method(:post) + |> Request.url( + "/projects/{project}/zones/{zone}/instances/{instance}/performMaintenance", + %{ + "project" => URI.encode(project, &URI.char_unreserved?/1), + "zone" => URI.encode(zone, &URI.char_unreserved?/1), + "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.Compute.V1.Model.Operation{}]) + end + @doc """ Sets deletion protection on the instance. @@ -2915,11 +3008,11 @@ defmodule GoogleApi.Compute.V1.Api.Instances do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. + * `: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 @@ -3069,6 +3162,90 @@ defmodule GoogleApi.Compute.V1.Api.Instances do |> Response.decode(opts ++ [struct: %GoogleApi.Compute.V1.Model.Operation{}]) end + @doc """ + Sets the Google Cloud Armor security policy for the specified instance. For more information, see Google Cloud Armor Overview + + ## 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 zone scoping this request. + * `instance` (*type:* `String.t`) - Name of the Instance resource to which the security policy should be set. 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`. + * `: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.InstancesSetSecurityPolicyRequest.t`) - + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.Compute.V1.Model.Operation{}}` on success + * `{:error, info}` on failure + """ + @spec compute_instances_set_security_policy( + 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_instances_set_security_policy( + connection, + project, + zone, + 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, + :userIp => :query, + :requestId => :query, + :body => :body + } + + request = + Request.new() + |> Request.method(:post) + |> Request.url("/projects/{project}/zones/{zone}/instances/{instance}/setSecurityPolicy", %{ + "project" => URI.encode(project, &URI.char_unreserved?/1), + "zone" => URI.encode(zone, &URI.char_unreserved?/1), + "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.Compute.V1.Model.Operation{}]) + end + @doc """ Changes the machine type for a stopped instance to the machine type specified in the request. @@ -3225,6 +3402,90 @@ defmodule GoogleApi.Compute.V1.Api.Instances do |> Response.decode(opts ++ [struct: %GoogleApi.Compute.V1.Model.Operation{}]) end + @doc """ + Sets name of an instance. + + ## 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 for this request. + * `instance` (*type:* `String.t`) - The instance name for this request. + * `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.InstancesSetNameRequest.t`) - + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.Compute.V1.Model.Operation{}}` on success + * `{:error, info}` on failure + """ + @spec compute_instances_set_name( + 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_instances_set_name( + connection, + project, + zone, + 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, + :userIp => :query, + :requestId => :query, + :body => :body + } + + request = + Request.new() + |> Request.method(:post) + |> Request.url("/projects/{project}/zones/{zone}/instances/{instance}/setName", %{ + "project" => URI.encode(project, &URI.char_unreserved?/1), + "zone" => URI.encode(zone, &URI.char_unreserved?/1), + "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.Compute.V1.Model.Operation{}]) + end + @doc """ Sets the Shielded Instance integrity policy for an instance. You can only use this method on a running instance. This method supports PATCH semantics and uses the JSON merge patch format and processing rules. @@ -3599,6 +3860,7 @@ defmodule GoogleApi.Compute.V1.Api.Instances do * `: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`. + * `:discardLocalSsd` (*type:* `boolean()`) - This property is required if the instance has any attached Local SSD disks. If false, Local SSD data will be preserved when the instance is suspended. If true, the contents of any attached Local SSD disks will be discarded. * `: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 @@ -3640,6 +3902,7 @@ defmodule GoogleApi.Compute.V1.Api.Instances do :uploadType => :query, :upload_protocol => :query, :userIp => :query, + :discardLocalSsd => :query, :requestId => :query } @@ -3759,11 +4022,11 @@ defmodule GoogleApi.Compute.V1.Api.Instances do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. + * `: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 diff --git a/clients/compute/lib/google_api/compute/v1/api/instant_snapshots.ex b/clients/compute/lib/google_api/compute/v1/api/instant_snapshots.ex new file mode 100644 index 0000000000..b5644ffa96 --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/api/instant_snapshots.ex @@ -0,0 +1,776 @@ +# 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.InstantSnapshots do + @moduledoc """ + API calls for all endpoints tagged `InstantSnapshots`. + """ + + alias GoogleApi.Compute.V1.Connection + alias GoogleApi.Gax.{Request, Response} + + @library_version Mix.Project.config() |> Keyword.get(:version, "") + + @doc """ + Retrieves an aggregated list of instantSnapshots. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. + + ## Parameters + + * `connection` (*type:* `GoogleApi.Compute.V1.Connection.t`) - Connection to server + * `project` (*type:* `String.t`) - Project ID for this request. + * `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. + * `:includeAllScopes` (*type:* `boolean()`) - Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included. + * `: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. + * `:serviceProjectNumber` (*type:* `String.t`) - The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api. + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.Compute.V1.Model.InstantSnapshotAggregatedList{}}` on success + * `{:error, info}` on failure + """ + @spec compute_instant_snapshots_aggregated_list( + Tesla.Env.client(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.Compute.V1.Model.InstantSnapshotAggregatedList.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def compute_instant_snapshots_aggregated_list( + connection, + project, + 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, + :includeAllScopes => :query, + :maxResults => :query, + :orderBy => :query, + :pageToken => :query, + :returnPartialSuccess => :query, + :serviceProjectNumber => :query + } + + request = + Request.new() + |> Request.method(:get) + |> Request.url("/projects/{project}/aggregated/instantSnapshots", %{ + "project" => URI.encode(project, &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.InstantSnapshotAggregatedList{}] + ) + end + + @doc """ + Deletes the specified InstantSnapshot resource. Keep in mind that deleting a single instantSnapshot might not necessarily delete all the data on that instantSnapshot. If any data on the instantSnapshot that is marked for deletion is needed for subsequent instantSnapshots, the data will be moved to the next corresponding instantSnapshot. For more information, see Deleting instantSnapshots. + + ## 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 for this request. + * `instant_snapshot` (*type:* `String.t`) - Name of the InstantSnapshot resource to delete. + * `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_instant_snapshots_delete( + 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_instant_snapshots_delete( + connection, + project, + zone, + instant_snapshot, + 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}/instantSnapshots/{instantSnapshot}", %{ + "project" => URI.encode(project, &URI.char_unreserved?/1), + "zone" => URI.encode(zone, &URI.char_unreserved?/1), + "instantSnapshot" => URI.encode(instant_snapshot, &(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 the specified InstantSnapshot resource in the specified zone. + + ## 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 for this request. + * `instant_snapshot` (*type:* `String.t`) - Name of the InstantSnapshot resource to return. + * `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.InstantSnapshot{}}` on success + * `{:error, info}` on failure + """ + @spec compute_instant_snapshots_get( + Tesla.Env.client(), + String.t(), + String.t(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.Compute.V1.Model.InstantSnapshot.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def compute_instant_snapshots_get( + connection, + project, + zone, + instant_snapshot, + 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}/instantSnapshots/{instantSnapshot}", %{ + "project" => URI.encode(project, &URI.char_unreserved?/1), + "zone" => URI.encode(zone, &URI.char_unreserved?/1), + "instantSnapshot" => URI.encode(instant_snapshot, &(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.InstantSnapshot{}]) + end + + @doc """ + Gets the access control policy for a resource. May be empty if no such policy or resource exists. + + ## 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 for this request. + * `resource` (*type:* `String.t`) - Name or id of the resource for this request. + * `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`. + * `:optionsRequestedPolicyVersion` (*type:* `integer()`) - Requested IAM Policy version. + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.Compute.V1.Model.Policy{}}` on success + * `{:error, info}` on failure + """ + @spec compute_instant_snapshots_get_iam_policy( + Tesla.Env.client(), + String.t(), + String.t(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.Compute.V1.Model.Policy.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def compute_instant_snapshots_get_iam_policy( + connection, + project, + zone, + resource, + 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, + :optionsRequestedPolicyVersion => :query + } + + request = + Request.new() + |> Request.method(:get) + |> Request.url( + "/projects/{project}/zones/{zone}/instantSnapshots/{resource}/getIamPolicy", + %{ + "project" => URI.encode(project, &URI.char_unreserved?/1), + "zone" => URI.encode(zone, &URI.char_unreserved?/1), + "resource" => URI.encode(resource, &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.Policy{}]) + end + + @doc """ + Creates an instant snapshot in the specified zone. + + ## 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 zone for this request. + * `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.InstantSnapshot.t`) - + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.Compute.V1.Model.Operation{}}` on success + * `{:error, info}` on failure + """ + @spec compute_instant_snapshots_insert( + Tesla.Env.client(), + String.t(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.Compute.V1.Model.Operation.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def compute_instant_snapshots_insert( + connection, + project, + zone, + 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}/instantSnapshots", %{ + "project" => URI.encode(project, &URI.char_unreserved?/1), + "zone" => URI.encode(zone, &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 the list of InstantSnapshot resources contained within the specified zone. + + ## 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 for this request. + * `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.InstantSnapshotList{}}` on success + * `{:error, info}` on failure + """ + @spec compute_instant_snapshots_list( + Tesla.Env.client(), + String.t(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.Compute.V1.Model.InstantSnapshotList.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def compute_instant_snapshots_list(connection, project, zone, 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}/instantSnapshots", %{ + "project" => URI.encode(project, &URI.char_unreserved?/1), + "zone" => URI.encode(zone, &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.InstantSnapshotList{}]) + end + + @doc """ + Sets the access control policy on the specified resource. Replaces any existing policy. + + ## 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 for this request. + * `resource` (*type:* `String.t`) - Name or id of the resource for this request. + * `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`. + * `:body` (*type:* `GoogleApi.Compute.V1.Model.ZoneSetPolicyRequest.t`) - + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.Compute.V1.Model.Policy{}}` on success + * `{:error, info}` on failure + """ + @spec compute_instant_snapshots_set_iam_policy( + Tesla.Env.client(), + String.t(), + String.t(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.Compute.V1.Model.Policy.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def compute_instant_snapshots_set_iam_policy( + connection, + project, + zone, + resource, + 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, + :body => :body + } + + request = + Request.new() + |> Request.method(:post) + |> Request.url( + "/projects/{project}/zones/{zone}/instantSnapshots/{resource}/setIamPolicy", + %{ + "project" => URI.encode(project, &URI.char_unreserved?/1), + "zone" => URI.encode(zone, &URI.char_unreserved?/1), + "resource" => URI.encode(resource, &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.Policy{}]) + end + + @doc """ + Sets the labels on a instantSnapshot in the given zone. To learn more about labels, read the Labeling Resources documentation. + + ## 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 for this request. + * `resource` (*type:* `String.t`) - Name or id of the resource for this request. + * `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.ZoneSetLabelsRequest.t`) - + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.Compute.V1.Model.Operation{}}` on success + * `{:error, info}` on failure + """ + @spec compute_instant_snapshots_set_labels( + 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_instant_snapshots_set_labels( + connection, + project, + zone, + resource, + 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}/instantSnapshots/{resource}/setLabels", %{ + "project" => URI.encode(project, &URI.char_unreserved?/1), + "zone" => URI.encode(zone, &URI.char_unreserved?/1), + "resource" => URI.encode(resource, &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 """ + Returns permissions that a caller has on the specified resource. + + ## 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 for this request. + * `resource` (*type:* `String.t`) - Name or id of the resource for this request. + * `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`. + * `:body` (*type:* `GoogleApi.Compute.V1.Model.TestPermissionsRequest.t`) - + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.Compute.V1.Model.TestPermissionsResponse{}}` on success + * `{:error, info}` on failure + """ + @spec compute_instant_snapshots_test_iam_permissions( + Tesla.Env.client(), + String.t(), + String.t(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.Compute.V1.Model.TestPermissionsResponse.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def compute_instant_snapshots_test_iam_permissions( + connection, + project, + zone, + resource, + 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, + :body => :body + } + + request = + Request.new() + |> Request.method(:post) + |> Request.url( + "/projects/{project}/zones/{zone}/instantSnapshots/{resource}/testIamPermissions", + %{ + "project" => URI.encode(project, &URI.char_unreserved?/1), + "zone" => URI.encode(zone, &URI.char_unreserved?/1), + "resource" => URI.encode(resource, &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.TestPermissionsResponse{}]) + end +end diff --git a/clients/compute/lib/google_api/compute/v1/api/interconnect_attachments.ex b/clients/compute/lib/google_api/compute/v1/api/interconnect_attachments.ex index af544889ee..8a2fa6582b 100644 --- a/clients/compute/lib/google_api/compute/v1/api/interconnect_attachments.ex +++ b/clients/compute/lib/google_api/compute/v1/api/interconnect_attachments.ex @@ -26,7 +26,7 @@ defmodule GoogleApi.Compute.V1.Api.InterconnectAttachments do @library_version Mix.Project.config() |> Keyword.get(:version, "") @doc """ - Retrieves an aggregated list of interconnect attachments. + Retrieves an aggregated list of interconnect attachments. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. ## Parameters @@ -45,12 +45,13 @@ defmodule GoogleApi.Compute.V1.Api.InterconnectAttachments do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. * `:includeAllScopes` (*type:* `boolean()`) - Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included. * `: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. + * `: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. + * `:serviceProjectNumber` (*type:* `String.t`) - The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api. * `opts` (*type:* `keyword()`) - Call options ## Returns @@ -92,7 +93,8 @@ defmodule GoogleApi.Compute.V1.Api.InterconnectAttachments do :maxResults => :query, :orderBy => :query, :pageToken => :query, - :returnPartialSuccess => :query + :returnPartialSuccess => :query, + :serviceProjectNumber => :query } request = @@ -384,11 +386,11 @@ defmodule GoogleApi.Compute.V1.Api.InterconnectAttachments do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. + * `: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 diff --git a/clients/compute/lib/google_api/compute/v1/api/interconnect_locations.ex b/clients/compute/lib/google_api/compute/v1/api/interconnect_locations.ex index c90ccc3ecc..c650836698 100644 --- a/clients/compute/lib/google_api/compute/v1/api/interconnect_locations.ex +++ b/clients/compute/lib/google_api/compute/v1/api/interconnect_locations.ex @@ -122,11 +122,11 @@ defmodule GoogleApi.Compute.V1.Api.InterconnectLocations do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. + * `: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 diff --git a/clients/compute/lib/google_api/compute/v1/api/interconnect_remote_locations.ex b/clients/compute/lib/google_api/compute/v1/api/interconnect_remote_locations.ex new file mode 100644 index 0000000000..0bd65ab206 --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/api/interconnect_remote_locations.ex @@ -0,0 +1,191 @@ +# 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.InterconnectRemoteLocations do + @moduledoc """ + API calls for all endpoints tagged `InterconnectRemoteLocations`. + """ + + alias GoogleApi.Compute.V1.Connection + alias GoogleApi.Gax.{Request, Response} + + @library_version Mix.Project.config() |> Keyword.get(:version, "") + + @doc """ + Returns the details for the specified interconnect remote location. Gets a list of available interconnect remote locations by making a list() request. + + ## Parameters + + * `connection` (*type:* `GoogleApi.Compute.V1.Connection.t`) - Connection to server + * `project` (*type:* `String.t`) - Project ID for this request. + * `interconnect_remote_location` (*type:* `String.t`) - Name of the interconnect remote location to return. + * `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.InterconnectRemoteLocation{}}` on success + * `{:error, info}` on failure + """ + @spec compute_interconnect_remote_locations_get( + Tesla.Env.client(), + String.t(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.Compute.V1.Model.InterconnectRemoteLocation.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def compute_interconnect_remote_locations_get( + connection, + project, + interconnect_remote_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, + :userIp => :query + } + + request = + Request.new() + |> Request.method(:get) + |> Request.url( + "/projects/{project}/global/interconnectRemoteLocations/{interconnectRemoteLocation}", + %{ + "project" => URI.encode(project, &URI.char_unreserved?/1), + "interconnectRemoteLocation" => + URI.encode(interconnect_remote_location, &(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.InterconnectRemoteLocation{}]) + end + + @doc """ + Retrieves the list of interconnect remote locations available to the specified project. + + ## Parameters + + * `connection` (*type:* `GoogleApi.Compute.V1.Connection.t`) - Connection to server + * `project` (*type:* `String.t`) - Project ID for this request. + * `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.InterconnectRemoteLocationList{}}` on success + * `{:error, info}` on failure + """ + @spec compute_interconnect_remote_locations_list( + Tesla.Env.client(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.Compute.V1.Model.InterconnectRemoteLocationList.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def compute_interconnect_remote_locations_list( + connection, + project, + 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}/global/interconnectRemoteLocations", %{ + "project" => URI.encode(project, &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.InterconnectRemoteLocationList{}] + ) + end +end diff --git a/clients/compute/lib/google_api/compute/v1/api/interconnects.ex b/clients/compute/lib/google_api/compute/v1/api/interconnects.ex index d7d494a43b..c43322def1 100644 --- a/clients/compute/lib/google_api/compute/v1/api/interconnects.ex +++ b/clients/compute/lib/google_api/compute/v1/api/interconnects.ex @@ -26,7 +26,7 @@ defmodule GoogleApi.Compute.V1.Api.Interconnects do @library_version Mix.Project.config() |> Keyword.get(:version, "") @doc """ - Deletes the specified interconnect. + Deletes the specified Interconnect. ## Parameters @@ -104,7 +104,7 @@ defmodule GoogleApi.Compute.V1.Api.Interconnects do end @doc """ - Returns the specified interconnect. Get a list of available interconnects by making a list() request. + Returns the specified Interconnect. Get a list of available Interconnects by making a list() request. ## Parameters @@ -180,7 +180,7 @@ defmodule GoogleApi.Compute.V1.Api.Interconnects do end @doc """ - Returns the interconnectDiagnostics for the specified interconnect. + Returns the interconnectDiagnostics for the specified Interconnect. In the event of a global outage, do not use this API to make decisions about where to redirect your network traffic. Unlike a VLAN attachment, which is regional, a Cloud Interconnect connection is a global resource. A global outage can prevent this API from functioning properly. ## Parameters @@ -258,7 +258,85 @@ defmodule GoogleApi.Compute.V1.Api.Interconnects do end @doc """ - Creates a Interconnect in the specified project using the data included in the request. + Returns the interconnectMacsecConfig for the specified Interconnect. + + ## Parameters + + * `connection` (*type:* `GoogleApi.Compute.V1.Connection.t`) - Connection to server + * `project` (*type:* `String.t`) - Project ID for this request. + * `interconnect` (*type:* `String.t`) - Name of the interconnect resource to query. + * `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.InterconnectsGetMacsecConfigResponse{}}` on success + * `{:error, info}` on failure + """ + @spec compute_interconnects_get_macsec_config( + Tesla.Env.client(), + String.t(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.Compute.V1.Model.InterconnectsGetMacsecConfigResponse.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def compute_interconnects_get_macsec_config( + connection, + project, + interconnect, + 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}/global/interconnects/{interconnect}/getMacsecConfig", %{ + "project" => URI.encode(project, &URI.char_unreserved?/1), + "interconnect" => URI.encode(interconnect, &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.InterconnectsGetMacsecConfigResponse{}] + ) + end + + @doc """ + Creates an Interconnect in the specified project using the data included in the request. ## Parameters @@ -324,7 +402,7 @@ defmodule GoogleApi.Compute.V1.Api.Interconnects do end @doc """ - Retrieves the list of interconnect available to the specified project. + Retrieves the list of Interconnects available to the specified project. ## Parameters @@ -343,11 +421,11 @@ defmodule GoogleApi.Compute.V1.Api.Interconnects do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. + * `: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 @@ -396,7 +474,7 @@ defmodule GoogleApi.Compute.V1.Api.Interconnects do end @doc """ - Updates the specified interconnect with the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules. + Updates the specified Interconnect with the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules. ## Parameters diff --git a/clients/compute/lib/google_api/compute/v1/api/licenses.ex b/clients/compute/lib/google_api/compute/v1/api/licenses.ex index e773faa7b9..71a6330671 100644 --- a/clients/compute/lib/google_api/compute/v1/api/licenses.ex +++ b/clients/compute/lib/google_api/compute/v1/api/licenses.ex @@ -319,11 +319,11 @@ defmodule GoogleApi.Compute.V1.Api.Licenses do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. + * `: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 diff --git a/clients/compute/lib/google_api/compute/v1/api/machine_images.ex b/clients/compute/lib/google_api/compute/v1/api/machine_images.ex index f9d746beeb..c30942ea16 100644 --- a/clients/compute/lib/google_api/compute/v1/api/machine_images.ex +++ b/clients/compute/lib/google_api/compute/v1/api/machine_images.ex @@ -104,7 +104,7 @@ defmodule GoogleApi.Compute.V1.Api.MachineImages do end @doc """ - Returns the specified machine image. Gets a list of available machine images by making a list() request. + Returns the specified machine image. ## Parameters @@ -345,11 +345,11 @@ defmodule GoogleApi.Compute.V1.Api.MachineImages do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. + * `: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 diff --git a/clients/compute/lib/google_api/compute/v1/api/machine_types.ex b/clients/compute/lib/google_api/compute/v1/api/machine_types.ex index cf819b6642..a733a91c9d 100644 --- a/clients/compute/lib/google_api/compute/v1/api/machine_types.ex +++ b/clients/compute/lib/google_api/compute/v1/api/machine_types.ex @@ -26,7 +26,7 @@ defmodule GoogleApi.Compute.V1.Api.MachineTypes do @library_version Mix.Project.config() |> Keyword.get(:version, "") @doc """ - Retrieves an aggregated list of machine types. + Retrieves an aggregated list of machine types. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. ## Parameters @@ -45,12 +45,13 @@ defmodule GoogleApi.Compute.V1.Api.MachineTypes do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. * `:includeAllScopes` (*type:* `boolean()`) - Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included. * `: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. + * `: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. + * `:serviceProjectNumber` (*type:* `String.t`) - The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api. * `opts` (*type:* `keyword()`) - Call options ## Returns @@ -92,7 +93,8 @@ defmodule GoogleApi.Compute.V1.Api.MachineTypes do :maxResults => :query, :orderBy => :query, :pageToken => :query, - :returnPartialSuccess => :query + :returnPartialSuccess => :query, + :serviceProjectNumber => :query } request = @@ -110,7 +112,7 @@ defmodule GoogleApi.Compute.V1.Api.MachineTypes do end @doc """ - Returns the specified machine type. Gets a list of available machine types by making a list() request. + Returns the specified machine type. ## Parameters @@ -210,11 +212,11 @@ defmodule GoogleApi.Compute.V1.Api.MachineTypes do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. + * `: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 diff --git a/clients/compute/lib/google_api/compute/v1/api/network_attachments.ex b/clients/compute/lib/google_api/compute/v1/api/network_attachments.ex new file mode 100644 index 0000000000..0aba022a88 --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/api/network_attachments.ex @@ -0,0 +1,794 @@ +# 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.NetworkAttachments do + @moduledoc """ + API calls for all endpoints tagged `NetworkAttachments`. + """ + + alias GoogleApi.Compute.V1.Connection + alias GoogleApi.Gax.{Request, Response} + + @library_version Mix.Project.config() |> Keyword.get(:version, "") + + @doc """ + Retrieves the list of all NetworkAttachment resources, regional and global, available to the specified project. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. + + ## Parameters + + * `connection` (*type:* `GoogleApi.Compute.V1.Connection.t`) - Connection to server + * `project` (*type:* `String.t`) - Project ID for this request. + * `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. + * `:includeAllScopes` (*type:* `boolean()`) - Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included. + * `: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. + * `:serviceProjectNumber` (*type:* `String.t`) - The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api. + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.Compute.V1.Model.NetworkAttachmentAggregatedList{}}` on success + * `{:error, info}` on failure + """ + @spec compute_network_attachments_aggregated_list( + Tesla.Env.client(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.Compute.V1.Model.NetworkAttachmentAggregatedList.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def compute_network_attachments_aggregated_list( + connection, + project, + 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, + :includeAllScopes => :query, + :maxResults => :query, + :orderBy => :query, + :pageToken => :query, + :returnPartialSuccess => :query, + :serviceProjectNumber => :query + } + + request = + Request.new() + |> Request.method(:get) + |> Request.url("/projects/{project}/aggregated/networkAttachments", %{ + "project" => URI.encode(project, &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.NetworkAttachmentAggregatedList{}] + ) + end + + @doc """ + Deletes the specified NetworkAttachment in the given scope + + ## Parameters + + * `connection` (*type:* `GoogleApi.Compute.V1.Connection.t`) - Connection to server + * `project` (*type:* `String.t`) - Project ID for this request. + * `region` (*type:* `String.t`) - Name of the region of this request. + * `network_attachment` (*type:* `String.t`) - Name of the NetworkAttachment resource to delete. + * `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). end_interface: MixerMutationRequestBuilder + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.Compute.V1.Model.Operation{}}` on success + * `{:error, info}` on failure + """ + @spec compute_network_attachments_delete( + 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_network_attachments_delete( + connection, + project, + region, + network_attachment, + 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}/regions/{region}/networkAttachments/{networkAttachment}", + %{ + "project" => URI.encode(project, &URI.char_unreserved?/1), + "region" => URI.encode(region, &URI.char_unreserved?/1), + "networkAttachment" => + URI.encode(network_attachment, &(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 the specified NetworkAttachment resource in the given scope. + + ## Parameters + + * `connection` (*type:* `GoogleApi.Compute.V1.Connection.t`) - Connection to server + * `project` (*type:* `String.t`) - Project ID for this request. + * `region` (*type:* `String.t`) - Name of the region of this request. + * `network_attachment` (*type:* `String.t`) - Name of the NetworkAttachment resource to return. + * `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.NetworkAttachment{}}` on success + * `{:error, info}` on failure + """ + @spec compute_network_attachments_get( + Tesla.Env.client(), + String.t(), + String.t(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.Compute.V1.Model.NetworkAttachment.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def compute_network_attachments_get( + connection, + project, + region, + network_attachment, + 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}/regions/{region}/networkAttachments/{networkAttachment}", + %{ + "project" => URI.encode(project, &URI.char_unreserved?/1), + "region" => URI.encode(region, &URI.char_unreserved?/1), + "networkAttachment" => + URI.encode(network_attachment, &(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.NetworkAttachment{}]) + end + + @doc """ + Gets the access control policy for a resource. May be empty if no such policy or resource exists. + + ## Parameters + + * `connection` (*type:* `GoogleApi.Compute.V1.Connection.t`) - Connection to server + * `project` (*type:* `String.t`) - Project ID for this request. + * `region` (*type:* `String.t`) - The name of the region for this request. + * `resource` (*type:* `String.t`) - Name or id of the resource for this request. + * `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`. + * `:optionsRequestedPolicyVersion` (*type:* `integer()`) - Requested IAM Policy version. + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.Compute.V1.Model.Policy{}}` on success + * `{:error, info}` on failure + """ + @spec compute_network_attachments_get_iam_policy( + Tesla.Env.client(), + String.t(), + String.t(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.Compute.V1.Model.Policy.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def compute_network_attachments_get_iam_policy( + connection, + project, + region, + resource, + 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, + :optionsRequestedPolicyVersion => :query + } + + request = + Request.new() + |> Request.method(:get) + |> Request.url( + "/projects/{project}/regions/{region}/networkAttachments/{resource}/getIamPolicy", + %{ + "project" => URI.encode(project, &URI.char_unreserved?/1), + "region" => URI.encode(region, &URI.char_unreserved?/1), + "resource" => URI.encode(resource, &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.Policy{}]) + end + + @doc """ + Creates a NetworkAttachment in the specified project in the given scope using the parameters that are included in the request. + + ## Parameters + + * `connection` (*type:* `GoogleApi.Compute.V1.Connection.t`) - Connection to server + * `project` (*type:* `String.t`) - Project ID for this request. + * `region` (*type:* `String.t`) - Name of the region of this request. + * `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). end_interface: MixerMutationRequestBuilder + * `:body` (*type:* `GoogleApi.Compute.V1.Model.NetworkAttachment.t`) - + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.Compute.V1.Model.Operation{}}` on success + * `{:error, info}` on failure + """ + @spec compute_network_attachments_insert( + Tesla.Env.client(), + String.t(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.Compute.V1.Model.Operation.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def compute_network_attachments_insert( + connection, + project, + region, + 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}/regions/{region}/networkAttachments", %{ + "project" => URI.encode(project, &URI.char_unreserved?/1), + "region" => URI.encode(region, &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 """ + Lists the NetworkAttachments for a project in the given scope. + + ## Parameters + + * `connection` (*type:* `GoogleApi.Compute.V1.Connection.t`) - Connection to server + * `project` (*type:* `String.t`) - Project ID for this request. + * `region` (*type:* `String.t`) - Name of the region of this request. + * `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.NetworkAttachmentList{}}` on success + * `{:error, info}` on failure + """ + @spec compute_network_attachments_list( + Tesla.Env.client(), + String.t(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.Compute.V1.Model.NetworkAttachmentList.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def compute_network_attachments_list( + connection, + project, + region, + 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}/regions/{region}/networkAttachments", %{ + "project" => URI.encode(project, &URI.char_unreserved?/1), + "region" => URI.encode(region, &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.NetworkAttachmentList{}]) + end + + @doc """ + Patches the specified NetworkAttachment resource with the data included in the request. This method supports PATCH semantics and uses JSON merge patch format and processing rules. + + ## Parameters + + * `connection` (*type:* `GoogleApi.Compute.V1.Connection.t`) - Connection to server + * `project` (*type:* `String.t`) - Project ID for this request. + * `region` (*type:* `String.t`) - Name of the region for this request. + * `network_attachment` (*type:* `String.t`) - Name of the NetworkAttachment resource to patch. + * `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). end_interface: MixerMutationRequestBuilder + * `:body` (*type:* `GoogleApi.Compute.V1.Model.NetworkAttachment.t`) - + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.Compute.V1.Model.Operation{}}` on success + * `{:error, info}` on failure + """ + @spec compute_network_attachments_patch( + 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_network_attachments_patch( + connection, + project, + region, + network_attachment, + 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(:patch) + |> Request.url( + "/projects/{project}/regions/{region}/networkAttachments/{networkAttachment}", + %{ + "project" => URI.encode(project, &URI.char_unreserved?/1), + "region" => URI.encode(region, &URI.char_unreserved?/1), + "networkAttachment" => + URI.encode(network_attachment, &(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 """ + Sets the access control policy on the specified resource. Replaces any existing policy. + + ## Parameters + + * `connection` (*type:* `GoogleApi.Compute.V1.Connection.t`) - Connection to server + * `project` (*type:* `String.t`) - Project ID for this request. + * `region` (*type:* `String.t`) - The name of the region for this request. + * `resource` (*type:* `String.t`) - Name or id of the resource for this request. + * `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`. + * `:body` (*type:* `GoogleApi.Compute.V1.Model.RegionSetPolicyRequest.t`) - + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.Compute.V1.Model.Policy{}}` on success + * `{:error, info}` on failure + """ + @spec compute_network_attachments_set_iam_policy( + Tesla.Env.client(), + String.t(), + String.t(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.Compute.V1.Model.Policy.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def compute_network_attachments_set_iam_policy( + connection, + project, + region, + resource, + 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, + :body => :body + } + + request = + Request.new() + |> Request.method(:post) + |> Request.url( + "/projects/{project}/regions/{region}/networkAttachments/{resource}/setIamPolicy", + %{ + "project" => URI.encode(project, &URI.char_unreserved?/1), + "region" => URI.encode(region, &URI.char_unreserved?/1), + "resource" => URI.encode(resource, &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.Policy{}]) + end + + @doc """ + Returns permissions that a caller has on the specified resource. + + ## Parameters + + * `connection` (*type:* `GoogleApi.Compute.V1.Connection.t`) - Connection to server + * `project` (*type:* `String.t`) - Project ID for this request. + * `region` (*type:* `String.t`) - The name of the region for this request. + * `resource` (*type:* `String.t`) - Name or id of the resource for this request. + * `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`. + * `:body` (*type:* `GoogleApi.Compute.V1.Model.TestPermissionsRequest.t`) - + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.Compute.V1.Model.TestPermissionsResponse{}}` on success + * `{:error, info}` on failure + """ + @spec compute_network_attachments_test_iam_permissions( + Tesla.Env.client(), + String.t(), + String.t(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.Compute.V1.Model.TestPermissionsResponse.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def compute_network_attachments_test_iam_permissions( + connection, + project, + region, + resource, + 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, + :body => :body + } + + request = + Request.new() + |> Request.method(:post) + |> Request.url( + "/projects/{project}/regions/{region}/networkAttachments/{resource}/testIamPermissions", + %{ + "project" => URI.encode(project, &URI.char_unreserved?/1), + "region" => URI.encode(region, &URI.char_unreserved?/1), + "resource" => URI.encode(resource, &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.TestPermissionsResponse{}]) + end +end diff --git a/clients/compute/lib/google_api/compute/v1/api/network_edge_security_services.ex b/clients/compute/lib/google_api/compute/v1/api/network_edge_security_services.ex index 7ad6860d7b..870b22c4b4 100644 --- a/clients/compute/lib/google_api/compute/v1/api/network_edge_security_services.ex +++ b/clients/compute/lib/google_api/compute/v1/api/network_edge_security_services.ex @@ -26,7 +26,7 @@ defmodule GoogleApi.Compute.V1.Api.NetworkEdgeSecurityServices do @library_version Mix.Project.config() |> Keyword.get(:version, "") @doc """ - Retrieves the list of all NetworkEdgeSecurityService resources available to the specified project. + Retrieves the list of all NetworkEdgeSecurityService resources available to the specified project. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. ## Parameters @@ -45,12 +45,13 @@ defmodule GoogleApi.Compute.V1.Api.NetworkEdgeSecurityServices do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. * `:includeAllScopes` (*type:* `boolean()`) - Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included. * `: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. + * `: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. + * `:serviceProjectNumber` (*type:* `String.t`) - The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api. * `opts` (*type:* `keyword()`) - Call options ## Returns @@ -92,7 +93,8 @@ defmodule GoogleApi.Compute.V1.Api.NetworkEdgeSecurityServices do :maxResults => :query, :orderBy => :query, :pageToken => :query, - :returnPartialSuccess => :query + :returnPartialSuccess => :query, + :serviceProjectNumber => :query } request = diff --git a/clients/compute/lib/google_api/compute/v1/api/network_endpoint_groups.ex b/clients/compute/lib/google_api/compute/v1/api/network_endpoint_groups.ex index 7c88e9de4c..6a1b076b3d 100644 --- a/clients/compute/lib/google_api/compute/v1/api/network_endpoint_groups.ex +++ b/clients/compute/lib/google_api/compute/v1/api/network_endpoint_groups.ex @@ -26,7 +26,7 @@ defmodule GoogleApi.Compute.V1.Api.NetworkEndpointGroups do @library_version Mix.Project.config() |> Keyword.get(:version, "") @doc """ - Retrieves the list of network endpoint groups and sorts them by zone. + Retrieves the list of network endpoint groups and sorts them by zone. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. ## Parameters @@ -45,12 +45,13 @@ defmodule GoogleApi.Compute.V1.Api.NetworkEndpointGroups do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. * `:includeAllScopes` (*type:* `boolean()`) - Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included. * `: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. + * `: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. + * `:serviceProjectNumber` (*type:* `String.t`) - The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api. * `opts` (*type:* `keyword()`) - Call options ## Returns @@ -92,7 +93,8 @@ defmodule GoogleApi.Compute.V1.Api.NetworkEndpointGroups do :maxResults => :query, :orderBy => :query, :pageToken => :query, - :returnPartialSuccess => :query + :returnPartialSuccess => :query, + :serviceProjectNumber => :query } request = @@ -372,7 +374,7 @@ defmodule GoogleApi.Compute.V1.Api.NetworkEndpointGroups do end @doc """ - Returns the specified network endpoint group. Gets a list of available network endpoint groups by making a list() request. + Returns the specified network endpoint group. ## Parameters @@ -556,11 +558,11 @@ defmodule GoogleApi.Compute.V1.Api.NetworkEndpointGroups do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. + * `: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 @@ -643,11 +645,11 @@ defmodule GoogleApi.Compute.V1.Api.NetworkEndpointGroups do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. + * `: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. * `:body` (*type:* `GoogleApi.Compute.V1.Model.NetworkEndpointGroupsListEndpointsRequest.t`) - * `opts` (*type:* `keyword()`) - Call options diff --git a/clients/compute/lib/google_api/compute/v1/api/network_firewall_policies.ex b/clients/compute/lib/google_api/compute/v1/api/network_firewall_policies.ex index 3bbb940b3e..309aff897d 100644 --- a/clients/compute/lib/google_api/compute/v1/api/network_firewall_policies.ex +++ b/clients/compute/lib/google_api/compute/v1/api/network_firewall_policies.ex @@ -761,11 +761,11 @@ defmodule GoogleApi.Compute.V1.Api.NetworkFirewallPolicies do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. + * `: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 diff --git a/clients/compute/lib/google_api/compute/v1/api/networks.ex b/clients/compute/lib/google_api/compute/v1/api/networks.ex index db8b67dc9b..1133b96d3d 100644 --- a/clients/compute/lib/google_api/compute/v1/api/networks.ex +++ b/clients/compute/lib/google_api/compute/v1/api/networks.ex @@ -172,7 +172,7 @@ defmodule GoogleApi.Compute.V1.Api.Networks do end @doc """ - Returns the specified network. Gets a list of available networks by making a list() request. + Returns the specified network. ## Parameters @@ -399,11 +399,11 @@ defmodule GoogleApi.Compute.V1.Api.Networks do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. + * `: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 @@ -473,13 +473,13 @@ defmodule GoogleApi.Compute.V1.Api.Networks do * `: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`. * `:direction` (*type:* `String.t`) - The direction of the exchanged routes. - * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. * `:peeringName` (*type:* `String.t`) - The response will show routes exchanged over the given peering connection. * `:region` (*type:* `String.t`) - The region of the request. The response will include all subnet routes, static routes and dynamic routes in the region. - * `:returnPartialSuccess` (*type:* `boolean()`) - Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. + * `: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 diff --git a/clients/compute/lib/google_api/compute/v1/api/node_groups.ex b/clients/compute/lib/google_api/compute/v1/api/node_groups.ex index fd68a46f55..8e0a26d3a7 100644 --- a/clients/compute/lib/google_api/compute/v1/api/node_groups.ex +++ b/clients/compute/lib/google_api/compute/v1/api/node_groups.ex @@ -110,7 +110,7 @@ defmodule GoogleApi.Compute.V1.Api.NodeGroups do end @doc """ - Retrieves an aggregated list of node groups. Note: use nodeGroups.listNodes for more details about each group. + Retrieves an aggregated list of node groups. Note: use nodeGroups.listNodes for more details about each group. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. ## Parameters @@ -129,12 +129,13 @@ defmodule GoogleApi.Compute.V1.Api.NodeGroups do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. * `:includeAllScopes` (*type:* `boolean()`) - Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included. * `: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. + * `: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. + * `:serviceProjectNumber` (*type:* `String.t`) - The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api. * `opts` (*type:* `keyword()`) - Call options ## Returns @@ -166,7 +167,8 @@ defmodule GoogleApi.Compute.V1.Api.NodeGroups do :maxResults => :query, :orderBy => :query, :pageToken => :query, - :returnPartialSuccess => :query + :returnPartialSuccess => :query, + :serviceProjectNumber => :query } request = @@ -616,11 +618,11 @@ defmodule GoogleApi.Compute.V1.Api.NodeGroups do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. + * `: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 @@ -691,11 +693,11 @@ defmodule GoogleApi.Compute.V1.Api.NodeGroups do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. + * `: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 @@ -1009,6 +1011,93 @@ defmodule GoogleApi.Compute.V1.Api.NodeGroups do |> Response.decode(opts ++ [struct: %GoogleApi.Compute.V1.Model.Operation{}]) end + @doc """ + Simulates maintenance event on specified nodes from the node 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 for this request. + * `node_group` (*type:* `String.t`) - Name of the NodeGroup resource whose nodes will go under maintenance simulation. + * `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.NodeGroupsSimulateMaintenanceEventRequest.t`) - + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.Compute.V1.Model.Operation{}}` on success + * `{:error, info}` on failure + """ + @spec compute_node_groups_simulate_maintenance_event( + 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_node_groups_simulate_maintenance_event( + connection, + project, + zone, + node_group, + 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}/nodeGroups/{nodeGroup}/simulateMaintenanceEvent", + %{ + "project" => URI.encode(project, &URI.char_unreserved?/1), + "zone" => URI.encode(zone, &URI.char_unreserved?/1), + "nodeGroup" => URI.encode(node_group, &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 """ Returns permissions that a caller has on the specified resource. diff --git a/clients/compute/lib/google_api/compute/v1/api/node_templates.ex b/clients/compute/lib/google_api/compute/v1/api/node_templates.ex index 95a713b806..f1a010d750 100644 --- a/clients/compute/lib/google_api/compute/v1/api/node_templates.ex +++ b/clients/compute/lib/google_api/compute/v1/api/node_templates.ex @@ -26,7 +26,7 @@ defmodule GoogleApi.Compute.V1.Api.NodeTemplates do @library_version Mix.Project.config() |> Keyword.get(:version, "") @doc """ - Retrieves an aggregated list of node templates. + Retrieves an aggregated list of node templates. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. ## Parameters @@ -45,12 +45,13 @@ defmodule GoogleApi.Compute.V1.Api.NodeTemplates do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. * `:includeAllScopes` (*type:* `boolean()`) - Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included. * `: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. + * `: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. + * `:serviceProjectNumber` (*type:* `String.t`) - The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api. * `opts` (*type:* `keyword()`) - Call options ## Returns @@ -92,7 +93,8 @@ defmodule GoogleApi.Compute.V1.Api.NodeTemplates do :maxResults => :query, :orderBy => :query, :pageToken => :query, - :returnPartialSuccess => :query + :returnPartialSuccess => :query, + :serviceProjectNumber => :query } request = @@ -192,7 +194,7 @@ defmodule GoogleApi.Compute.V1.Api.NodeTemplates do end @doc """ - Returns the specified node template. Gets a list of available node templates by making a list() request. + Returns the specified node template. ## Parameters @@ -457,11 +459,11 @@ defmodule GoogleApi.Compute.V1.Api.NodeTemplates do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. + * `: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 diff --git a/clients/compute/lib/google_api/compute/v1/api/node_types.ex b/clients/compute/lib/google_api/compute/v1/api/node_types.ex index f56e0d62ae..a5dc355a7d 100644 --- a/clients/compute/lib/google_api/compute/v1/api/node_types.ex +++ b/clients/compute/lib/google_api/compute/v1/api/node_types.ex @@ -26,7 +26,7 @@ defmodule GoogleApi.Compute.V1.Api.NodeTypes do @library_version Mix.Project.config() |> Keyword.get(:version, "") @doc """ - Retrieves an aggregated list of node types. + Retrieves an aggregated list of node types. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. ## Parameters @@ -45,12 +45,13 @@ defmodule GoogleApi.Compute.V1.Api.NodeTypes do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. * `:includeAllScopes` (*type:* `boolean()`) - Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included. * `: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. + * `: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. + * `:serviceProjectNumber` (*type:* `String.t`) - The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api. * `opts` (*type:* `keyword()`) - Call options ## Returns @@ -82,7 +83,8 @@ defmodule GoogleApi.Compute.V1.Api.NodeTypes do :maxResults => :query, :orderBy => :query, :pageToken => :query, - :returnPartialSuccess => :query + :returnPartialSuccess => :query, + :serviceProjectNumber => :query } request = @@ -100,7 +102,7 @@ defmodule GoogleApi.Compute.V1.Api.NodeTypes do end @doc """ - Returns the specified node type. Gets a list of available node types by making a list() request. + Returns the specified node type. ## Parameters @@ -200,11 +202,11 @@ defmodule GoogleApi.Compute.V1.Api.NodeTypes do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. + * `: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 diff --git a/clients/compute/lib/google_api/compute/v1/api/packet_mirrorings.ex b/clients/compute/lib/google_api/compute/v1/api/packet_mirrorings.ex index 00bf35f9f3..1284b81908 100644 --- a/clients/compute/lib/google_api/compute/v1/api/packet_mirrorings.ex +++ b/clients/compute/lib/google_api/compute/v1/api/packet_mirrorings.ex @@ -26,7 +26,7 @@ defmodule GoogleApi.Compute.V1.Api.PacketMirrorings do @library_version Mix.Project.config() |> Keyword.get(:version, "") @doc """ - Retrieves an aggregated list of packetMirrorings. + Retrieves an aggregated list of packetMirrorings. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. ## Parameters @@ -45,12 +45,13 @@ defmodule GoogleApi.Compute.V1.Api.PacketMirrorings do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. * `:includeAllScopes` (*type:* `boolean()`) - Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included. * `: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. + * `: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. + * `:serviceProjectNumber` (*type:* `String.t`) - The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api. * `opts` (*type:* `keyword()`) - Call options ## Returns @@ -92,7 +93,8 @@ defmodule GoogleApi.Compute.V1.Api.PacketMirrorings do :maxResults => :query, :orderBy => :query, :pageToken => :query, - :returnPartialSuccess => :query + :returnPartialSuccess => :query, + :serviceProjectNumber => :query } request = @@ -374,11 +376,11 @@ defmodule GoogleApi.Compute.V1.Api.PacketMirrorings do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. + * `: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 diff --git a/clients/compute/lib/google_api/compute/v1/api/projects.ex b/clients/compute/lib/google_api/compute/v1/api/projects.ex index 029cbade8e..bf278163ed 100644 --- a/clients/compute/lib/google_api/compute/v1/api/projects.ex +++ b/clients/compute/lib/google_api/compute/v1/api/projects.ex @@ -439,11 +439,11 @@ defmodule GoogleApi.Compute.V1.Api.Projects do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. + * `: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 @@ -511,11 +511,11 @@ defmodule GoogleApi.Compute.V1.Api.Projects do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. + * `: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. * `:body` (*type:* `GoogleApi.Compute.V1.Model.ProjectsListXpnHostsRequest.t`) - * `opts` (*type:* `keyword()`) - Call options @@ -632,7 +632,7 @@ defmodule GoogleApi.Compute.V1.Api.Projects do end @doc """ - Moves an instance and its attached persistent disks from one zone to another. *Note*: Moving VMs or disks by using this method might cause unexpected behavior. For more information, see the [known issue](/compute/docs/troubleshooting/known-issues#moving_vms_or_disks_using_the_moveinstance_api_or_the_causes_unexpected_behavior). + Moves an instance and its attached persistent disks from one zone to another. *Note*: Moving VMs or disks by using this method might cause unexpected behavior. For more information, see the [known issue](/compute/docs/troubleshooting/known-issues#moving_vms_or_disks_using_the_moveinstance_api_or_the_causes_unexpected_behavior). [Deprecated] This method is deprecated. See [moving instance across zones](/compute/docs/instances/moving-instance-across-zones) instead. ## Parameters @@ -697,6 +697,82 @@ defmodule GoogleApi.Compute.V1.Api.Projects do |> Response.decode(opts ++ [struct: %GoogleApi.Compute.V1.Model.Operation{}]) end + @doc """ + Sets the Cloud Armor tier of the project. To set ENTERPRISE or above the billing account of the project must be subscribed to Cloud Armor Enterprise. See Subscribing to Cloud Armor Enterprise for more information. + + ## Parameters + + * `connection` (*type:* `GoogleApi.Compute.V1.Connection.t`) - Connection to server + * `project` (*type:* `String.t`) - Project ID for this request. + * `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.ProjectsSetCloudArmorTierRequest.t`) - + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.Compute.V1.Model.Operation{}}` on success + * `{:error, info}` on failure + """ + @spec compute_projects_set_cloud_armor_tier( + Tesla.Env.client(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.Compute.V1.Model.Operation.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def compute_projects_set_cloud_armor_tier( + connection, + project, + 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}/setCloudArmorTier", %{ + "project" => URI.encode(project, &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 """ Sets metadata common to all instances within the specified project using the data included in the request. diff --git a/clients/compute/lib/google_api/compute/v1/api/public_advertised_prefixes.ex b/clients/compute/lib/google_api/compute/v1/api/public_advertised_prefixes.ex index 21f7fc544d..96dce09899 100644 --- a/clients/compute/lib/google_api/compute/v1/api/public_advertised_prefixes.ex +++ b/clients/compute/lib/google_api/compute/v1/api/public_advertised_prefixes.ex @@ -25,6 +25,88 @@ defmodule GoogleApi.Compute.V1.Api.PublicAdvertisedPrefixes do @library_version Mix.Project.config() |> Keyword.get(:version, "") + @doc """ + Announces the specified PublicAdvertisedPrefix + + ## Parameters + + * `connection` (*type:* `GoogleApi.Compute.V1.Connection.t`) - Connection to server + * `project` (*type:* `String.t`) - Project ID for this request. + * `public_advertised_prefix` (*type:* `String.t`) - The name of the public advertised prefix. It should comply with 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`. + * `: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_public_advertised_prefixes_announce( + Tesla.Env.client(), + String.t(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.Compute.V1.Model.Operation.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def compute_public_advertised_prefixes_announce( + connection, + project, + public_advertised_prefix, + 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}/global/publicAdvertisedPrefixes/{publicAdvertisedPrefix}/announce", + %{ + "project" => URI.encode(project, &URI.char_unreserved?/1), + "publicAdvertisedPrefix" => + URI.encode(public_advertised_prefix, &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 PublicAdvertisedPrefix @@ -283,11 +365,11 @@ defmodule GoogleApi.Compute.V1.Api.PublicAdvertisedPrefixes do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. + * `: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 @@ -428,4 +510,86 @@ defmodule GoogleApi.Compute.V1.Api.PublicAdvertisedPrefixes do |> Connection.execute(request) |> Response.decode(opts ++ [struct: %GoogleApi.Compute.V1.Model.Operation{}]) end + + @doc """ + Withdraws the specified PublicAdvertisedPrefix + + ## Parameters + + * `connection` (*type:* `GoogleApi.Compute.V1.Connection.t`) - Connection to server + * `project` (*type:* `String.t`) - Project ID for this request. + * `public_advertised_prefix` (*type:* `String.t`) - The name of the public advertised prefix. It should comply with 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`. + * `: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_public_advertised_prefixes_withdraw( + Tesla.Env.client(), + String.t(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.Compute.V1.Model.Operation.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def compute_public_advertised_prefixes_withdraw( + connection, + project, + public_advertised_prefix, + 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}/global/publicAdvertisedPrefixes/{publicAdvertisedPrefix}/withdraw", + %{ + "project" => URI.encode(project, &URI.char_unreserved?/1), + "publicAdvertisedPrefix" => + URI.encode(public_advertised_prefix, &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 end diff --git a/clients/compute/lib/google_api/compute/v1/api/public_delegated_prefixes.ex b/clients/compute/lib/google_api/compute/v1/api/public_delegated_prefixes.ex index 185af80b8e..30b605a8df 100644 --- a/clients/compute/lib/google_api/compute/v1/api/public_delegated_prefixes.ex +++ b/clients/compute/lib/google_api/compute/v1/api/public_delegated_prefixes.ex @@ -26,7 +26,7 @@ defmodule GoogleApi.Compute.V1.Api.PublicDelegatedPrefixes do @library_version Mix.Project.config() |> Keyword.get(:version, "") @doc """ - Lists all PublicDelegatedPrefix resources owned by the specific project across all scopes. + Lists all PublicDelegatedPrefix resources owned by the specific project across all scopes. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. ## Parameters @@ -45,12 +45,13 @@ defmodule GoogleApi.Compute.V1.Api.PublicDelegatedPrefixes do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. * `:includeAllScopes` (*type:* `boolean()`) - Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included. * `: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. + * `: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. + * `:serviceProjectNumber` (*type:* `String.t`) - The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api. * `opts` (*type:* `keyword()`) - Call options ## Returns @@ -92,7 +93,8 @@ defmodule GoogleApi.Compute.V1.Api.PublicDelegatedPrefixes do :maxResults => :query, :orderBy => :query, :pageToken => :query, - :returnPartialSuccess => :query + :returnPartialSuccess => :query, + :serviceProjectNumber => :query } request = @@ -111,6 +113,91 @@ defmodule GoogleApi.Compute.V1.Api.PublicDelegatedPrefixes do ) end + @doc """ + Announces the specified PublicDelegatedPrefix in the given region. + + ## Parameters + + * `connection` (*type:* `GoogleApi.Compute.V1.Connection.t`) - Connection to server + * `project` (*type:* `String.t`) - Project ID for this request. + * `region` (*type:* `String.t`) - The name of the region where the public delegated prefix is located. It should comply with RFC1035. + * `public_delegated_prefix` (*type:* `String.t`) - The name of the public delegated prefix. It should comply with 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`. + * `: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_public_delegated_prefixes_announce( + 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_public_delegated_prefixes_announce( + connection, + project, + region, + public_delegated_prefix, + 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}/regions/{region}/publicDelegatedPrefixes/{publicDelegatedPrefix}/announce", + %{ + "project" => URI.encode(project, &URI.char_unreserved?/1), + "region" => URI.encode(region, &URI.char_unreserved?/1), + "publicDelegatedPrefix" => URI.encode(public_delegated_prefix, &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 PublicDelegatedPrefix in the given region. @@ -382,11 +469,11 @@ defmodule GoogleApi.Compute.V1.Api.PublicDelegatedPrefixes do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. + * `: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 @@ -534,4 +621,89 @@ defmodule GoogleApi.Compute.V1.Api.PublicDelegatedPrefixes do |> Connection.execute(request) |> Response.decode(opts ++ [struct: %GoogleApi.Compute.V1.Model.Operation{}]) end + + @doc """ + Withdraws the specified PublicDelegatedPrefix in the given region. + + ## Parameters + + * `connection` (*type:* `GoogleApi.Compute.V1.Connection.t`) - Connection to server + * `project` (*type:* `String.t`) - Project ID for this request. + * `region` (*type:* `String.t`) - The name of the region where the public delegated prefix is located. It should comply with RFC1035. + * `public_delegated_prefix` (*type:* `String.t`) - The name of the public delegated prefix. It should comply with 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`. + * `: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_public_delegated_prefixes_withdraw( + 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_public_delegated_prefixes_withdraw( + connection, + project, + region, + public_delegated_prefix, + 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}/regions/{region}/publicDelegatedPrefixes/{publicDelegatedPrefix}/withdraw", + %{ + "project" => URI.encode(project, &URI.char_unreserved?/1), + "region" => URI.encode(region, &URI.char_unreserved?/1), + "publicDelegatedPrefix" => URI.encode(public_delegated_prefix, &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 end diff --git a/clients/compute/lib/google_api/compute/v1/api/region_autoscalers.ex b/clients/compute/lib/google_api/compute/v1/api/region_autoscalers.ex index 128f2f8a96..b07a49e747 100644 --- a/clients/compute/lib/google_api/compute/v1/api/region_autoscalers.ex +++ b/clients/compute/lib/google_api/compute/v1/api/region_autoscalers.ex @@ -288,11 +288,11 @@ defmodule GoogleApi.Compute.V1.Api.RegionAutoscalers do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. + * `: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 diff --git a/clients/compute/lib/google_api/compute/v1/api/region_backend_services.ex b/clients/compute/lib/google_api/compute/v1/api/region_backend_services.ex index b7c3e69fda..9b09df347e 100644 --- a/clients/compute/lib/google_api/compute/v1/api/region_backend_services.ex +++ b/clients/compute/lib/google_api/compute/v1/api/region_backend_services.ex @@ -458,11 +458,11 @@ defmodule GoogleApi.Compute.V1.Api.RegionBackendServices do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. + * `: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 @@ -523,6 +523,92 @@ defmodule GoogleApi.Compute.V1.Api.RegionBackendServices do |> Response.decode(opts ++ [struct: %GoogleApi.Compute.V1.Model.BackendServiceList{}]) end + @doc """ + Retrieves an aggregated list of all usable backend services in the specified project in the given region. + + ## Parameters + + * `connection` (*type:* `GoogleApi.Compute.V1.Connection.t`) - Connection to server + * `project` (*type:* `String.t`) - Project ID for this request. + * `region` (*type:* `String.t`) - Name of the region scoping this request. It must be a string that meets the requirements in 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.BackendServiceListUsable{}}` on success + * `{:error, info}` on failure + """ + @spec compute_region_backend_services_list_usable( + Tesla.Env.client(), + String.t(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.Compute.V1.Model.BackendServiceListUsable.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def compute_region_backend_services_list_usable( + connection, + project, + region, + 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}/regions/{region}/backendServices/listUsable", %{ + "project" => URI.encode(project, &URI.char_unreserved?/1), + "region" => URI.encode(region, &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.BackendServiceListUsable{}]) + end + @doc """ Updates the specified regional BackendService resource with the data included in the request. For more information, see Understanding backend services This method supports PATCH semantics and uses the JSON merge patch format and processing rules. @@ -692,6 +778,178 @@ defmodule GoogleApi.Compute.V1.Api.RegionBackendServices do |> Response.decode(opts ++ [struct: %GoogleApi.Compute.V1.Model.Policy{}]) end + @doc """ + Sets the Google Cloud Armor security policy for the specified backend service. For more information, see Google Cloud Armor Overview + + ## Parameters + + * `connection` (*type:* `GoogleApi.Compute.V1.Connection.t`) - Connection to server + * `project` (*type:* `String.t`) - Project ID for this request. + * `region` (*type:* `String.t`) - Name of the region scoping this request. + * `backend_service` (*type:* `String.t`) - Name of the BackendService resource to which the security policy should be set. 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`. + * `: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.SecurityPolicyReference.t`) - + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.Compute.V1.Model.Operation{}}` on success + * `{:error, info}` on failure + """ + @spec compute_region_backend_services_set_security_policy( + 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_region_backend_services_set_security_policy( + connection, + project, + region, + backend_service, + 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}/regions/{region}/backendServices/{backendService}/setSecurityPolicy", + %{ + "project" => URI.encode(project, &URI.char_unreserved?/1), + "region" => URI.encode(region, &URI.char_unreserved?/1), + "backendService" => URI.encode(backend_service, &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 """ + Returns permissions that a caller has on the specified resource. + + ## Parameters + + * `connection` (*type:* `GoogleApi.Compute.V1.Connection.t`) - Connection to server + * `project` (*type:* `String.t`) - Project ID for this request. + * `region` (*type:* `String.t`) - The name of the region for this request. + * `resource` (*type:* `String.t`) - Name or id of the resource for this request. + * `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`. + * `:body` (*type:* `GoogleApi.Compute.V1.Model.TestPermissionsRequest.t`) - + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.Compute.V1.Model.TestPermissionsResponse{}}` on success + * `{:error, info}` on failure + """ + @spec compute_region_backend_services_test_iam_permissions( + Tesla.Env.client(), + String.t(), + String.t(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.Compute.V1.Model.TestPermissionsResponse.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def compute_region_backend_services_test_iam_permissions( + connection, + project, + region, + resource, + 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, + :body => :body + } + + request = + Request.new() + |> Request.method(:post) + |> Request.url( + "/projects/{project}/regions/{region}/backendServices/{resource}/testIamPermissions", + %{ + "project" => URI.encode(project, &URI.char_unreserved?/1), + "region" => URI.encode(region, &URI.char_unreserved?/1), + "resource" => URI.encode(resource, &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.TestPermissionsResponse{}]) + end + @doc """ Updates the specified regional BackendService resource with the data included in the request. For more information, see Backend services overview . diff --git a/clients/compute/lib/google_api/compute/v1/api/region_commitments.ex b/clients/compute/lib/google_api/compute/v1/api/region_commitments.ex index 379c54d1da..413ad077c0 100644 --- a/clients/compute/lib/google_api/compute/v1/api/region_commitments.ex +++ b/clients/compute/lib/google_api/compute/v1/api/region_commitments.ex @@ -26,7 +26,7 @@ defmodule GoogleApi.Compute.V1.Api.RegionCommitments do @library_version Mix.Project.config() |> Keyword.get(:version, "") @doc """ - Retrieves an aggregated list of commitments by region. + Retrieves an aggregated list of commitments by region. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. ## Parameters @@ -45,12 +45,13 @@ defmodule GoogleApi.Compute.V1.Api.RegionCommitments do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. * `:includeAllScopes` (*type:* `boolean()`) - Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included. * `: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. + * `: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. + * `:serviceProjectNumber` (*type:* `String.t`) - The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api. * `opts` (*type:* `keyword()`) - Call options ## Returns @@ -92,7 +93,8 @@ defmodule GoogleApi.Compute.V1.Api.RegionCommitments do :maxResults => :query, :orderBy => :query, :pageToken => :query, - :returnPartialSuccess => :query + :returnPartialSuccess => :query, + :serviceProjectNumber => :query } request = @@ -110,7 +112,7 @@ defmodule GoogleApi.Compute.V1.Api.RegionCommitments do end @doc """ - Returns the specified commitment resource. Gets a list of available commitments by making a list() request. + Returns the specified commitment resource. ## Parameters @@ -290,11 +292,11 @@ defmodule GoogleApi.Compute.V1.Api.RegionCommitments do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. + * `: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 diff --git a/clients/compute/lib/google_api/compute/v1/api/region_disk_types.ex b/clients/compute/lib/google_api/compute/v1/api/region_disk_types.ex index cc4adf802f..1d930e5643 100644 --- a/clients/compute/lib/google_api/compute/v1/api/region_disk_types.ex +++ b/clients/compute/lib/google_api/compute/v1/api/region_disk_types.ex @@ -26,7 +26,7 @@ defmodule GoogleApi.Compute.V1.Api.RegionDiskTypes do @library_version Mix.Project.config() |> Keyword.get(:version, "") @doc """ - Returns the specified regional disk type. Gets a list of available disk types by making a list() request. + Returns the specified regional disk type. ## Parameters @@ -126,11 +126,11 @@ defmodule GoogleApi.Compute.V1.Api.RegionDiskTypes do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. + * `: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 diff --git a/clients/compute/lib/google_api/compute/v1/api/region_disks.ex b/clients/compute/lib/google_api/compute/v1/api/region_disks.ex index 4a21790180..d044fbfd01 100644 --- a/clients/compute/lib/google_api/compute/v1/api/region_disks.ex +++ b/clients/compute/lib/google_api/compute/v1/api/region_disks.ex @@ -109,6 +109,86 @@ defmodule GoogleApi.Compute.V1.Api.RegionDisks do |> Response.decode(opts ++ [struct: %GoogleApi.Compute.V1.Model.Operation{}]) end + @doc """ + Bulk create a set of disks. + + ## Parameters + + * `connection` (*type:* `GoogleApi.Compute.V1.Connection.t`) - Connection to server + * `project` (*type:* `String.t`) - Project ID for this request. + * `region` (*type:* `String.t`) - The name of the region for this request. + * `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.BulkInsertDiskResource.t`) - + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.Compute.V1.Model.Operation{}}` on success + * `{:error, info}` on failure + """ + @spec compute_region_disks_bulk_insert( + Tesla.Env.client(), + String.t(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.Compute.V1.Model.Operation.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def compute_region_disks_bulk_insert( + connection, + project, + region, + 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}/regions/{region}/disks/bulkInsert", %{ + "project" => URI.encode(project, &URI.char_unreserved?/1), + "region" => URI.encode(region, &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 """ Creates a snapshot of a specified persistent disk. For regular snapshot creation, consider using snapshots.insert instead, as that method supports more features, such as creating snapshots in a project different from the source disk project. @@ -534,11 +614,11 @@ defmodule GoogleApi.Compute.V1.Api.RegionDisks do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. + * `: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 @@ -930,6 +1010,252 @@ defmodule GoogleApi.Compute.V1.Api.RegionDisks do |> Response.decode(opts ++ [struct: %GoogleApi.Compute.V1.Model.Operation{}]) end + @doc """ + Starts asynchronous replication. Must be invoked on the primary disk. + + ## Parameters + + * `connection` (*type:* `GoogleApi.Compute.V1.Connection.t`) - Connection to server + * `project` (*type:* `String.t`) - Project ID for this request. + * `region` (*type:* `String.t`) - The name of the region for this request. + * `disk` (*type:* `String.t`) - The name of the persistent disk. + * `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.RegionDisksStartAsyncReplicationRequest.t`) - + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.Compute.V1.Model.Operation{}}` on success + * `{:error, info}` on failure + """ + @spec compute_region_disks_start_async_replication( + 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_region_disks_start_async_replication( + connection, + project, + region, + disk, + 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}/regions/{region}/disks/{disk}/startAsyncReplication", %{ + "project" => URI.encode(project, &URI.char_unreserved?/1), + "region" => URI.encode(region, &URI.char_unreserved?/1), + "disk" => URI.encode(disk, &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 """ + Stops asynchronous replication. Can be invoked either on the primary or on the secondary disk. + + ## Parameters + + * `connection` (*type:* `GoogleApi.Compute.V1.Connection.t`) - Connection to server + * `project` (*type:* `String.t`) - Project ID for this request. + * `region` (*type:* `String.t`) - The name of the region for this request. + * `disk` (*type:* `String.t`) - The name of the persistent disk. + * `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_region_disks_stop_async_replication( + 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_region_disks_stop_async_replication( + connection, + project, + region, + disk, + 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}/regions/{region}/disks/{disk}/stopAsyncReplication", %{ + "project" => URI.encode(project, &URI.char_unreserved?/1), + "region" => URI.encode(region, &URI.char_unreserved?/1), + "disk" => URI.encode(disk, &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 """ + Stops asynchronous replication for a consistency group of disks. Can be invoked either in the primary or secondary scope. + + ## Parameters + + * `connection` (*type:* `GoogleApi.Compute.V1.Connection.t`) - Connection to server + * `project` (*type:* `String.t`) - Project ID for this request. + * `region` (*type:* `String.t`) - The name of the region for this request. This must be the region of the primary or secondary disks in the consistency group. + * `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.DisksStopGroupAsyncReplicationResource.t`) - + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.Compute.V1.Model.Operation{}}` on success + * `{:error, info}` on failure + """ + @spec compute_region_disks_stop_group_async_replication( + Tesla.Env.client(), + String.t(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.Compute.V1.Model.Operation.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def compute_region_disks_stop_group_async_replication( + connection, + project, + region, + 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}/regions/{region}/disks/stopGroupAsyncReplication", %{ + "project" => URI.encode(project, &URI.char_unreserved?/1), + "region" => URI.encode(region, &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 """ Returns permissions that a caller has on the specified resource. @@ -1014,4 +1340,92 @@ defmodule GoogleApi.Compute.V1.Api.RegionDisks do |> Connection.execute(request) |> Response.decode(opts ++ [struct: %GoogleApi.Compute.V1.Model.TestPermissionsResponse{}]) end + + @doc """ + Update the specified disk with the data included in the request. Update is performed only on selected fields included as part of update-mask. Only the following fields can be modified: user_license. + + ## Parameters + + * `connection` (*type:* `GoogleApi.Compute.V1.Connection.t`) - Connection to server + * `project` (*type:* `String.t`) - Project ID for this request. + * `region` (*type:* `String.t`) - The name of the region for this request. + * `disk` (*type:* `String.t`) - The disk name for this request. + * `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`. + * `:paths` (*type:* `list(String.t)`) - + * `: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). + * `:updateMask` (*type:* `String.t`) - update_mask indicates fields to be updated as part of this request. + * `:body` (*type:* `GoogleApi.Compute.V1.Model.Disk.t`) - + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.Compute.V1.Model.Operation{}}` on success + * `{:error, info}` on failure + """ + @spec compute_region_disks_update( + 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_region_disks_update( + connection, + project, + region, + disk, + 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, + :paths => :query, + :requestId => :query, + :updateMask => :query, + :body => :body + } + + request = + Request.new() + |> Request.method(:patch) + |> Request.url("/projects/{project}/regions/{region}/disks/{disk}", %{ + "project" => URI.encode(project, &URI.char_unreserved?/1), + "region" => URI.encode(region, &URI.char_unreserved?/1), + "disk" => URI.encode(disk, &(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 end diff --git a/clients/compute/lib/google_api/compute/v1/api/region_health_check_services.ex b/clients/compute/lib/google_api/compute/v1/api/region_health_check_services.ex index 2dec717cd4..0537ba00e3 100644 --- a/clients/compute/lib/google_api/compute/v1/api/region_health_check_services.ex +++ b/clients/compute/lib/google_api/compute/v1/api/region_health_check_services.ex @@ -296,11 +296,11 @@ defmodule GoogleApi.Compute.V1.Api.RegionHealthCheckServices do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. + * `: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 diff --git a/clients/compute/lib/google_api/compute/v1/api/region_health_checks.ex b/clients/compute/lib/google_api/compute/v1/api/region_health_checks.ex index 47bff527f0..62827809d4 100644 --- a/clients/compute/lib/google_api/compute/v1/api/region_health_checks.ex +++ b/clients/compute/lib/google_api/compute/v1/api/region_health_checks.ex @@ -108,7 +108,7 @@ defmodule GoogleApi.Compute.V1.Api.RegionHealthChecks do end @doc """ - Returns the specified HealthCheck resource. Gets a list of available health checks by making a list() request. + Returns the specified HealthCheck resource. ## Parameters @@ -288,11 +288,11 @@ defmodule GoogleApi.Compute.V1.Api.RegionHealthChecks do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. + * `: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 diff --git a/clients/compute/lib/google_api/compute/v1/api/region_instance_group_managers.ex b/clients/compute/lib/google_api/compute/v1/api/region_instance_group_managers.ex index f587395768..c6b23afa64 100644 --- a/clients/compute/lib/google_api/compute/v1/api/region_instance_group_managers.ex +++ b/clients/compute/lib/google_api/compute/v1/api/region_instance_group_managers.ex @@ -727,11 +727,11 @@ defmodule GoogleApi.Compute.V1.Api.RegionInstanceGroupManagers do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. + * `: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 @@ -816,11 +816,11 @@ defmodule GoogleApi.Compute.V1.Api.RegionInstanceGroupManagers do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. + * `: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 @@ -891,7 +891,7 @@ defmodule GoogleApi.Compute.V1.Api.RegionInstanceGroupManagers do end @doc """ - Lists the instances in the managed instance group and instances that are scheduled to be created. The list includes any current actions that the group has scheduled for its instances. The orderBy query parameter is not supported. The `pageToken` query parameter is supported only in the alpha and beta API and only if the group's `listManagedInstancesResults` field is set to `PAGINATED`. + Lists the instances in the managed instance group and instances that are scheduled to be created. The list includes any current actions that the group has scheduled for its instances. The orderBy query parameter is not supported. The `pageToken` query parameter is supported only if the group's `listManagedInstancesResults` field is set to `PAGINATED`. ## Parameters @@ -912,11 +912,11 @@ defmodule GoogleApi.Compute.V1.Api.RegionInstanceGroupManagers do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. + * `: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 @@ -1008,11 +1008,11 @@ defmodule GoogleApi.Compute.V1.Api.RegionInstanceGroupManagers do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. + * `: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 diff --git a/clients/compute/lib/google_api/compute/v1/api/region_instance_groups.ex b/clients/compute/lib/google_api/compute/v1/api/region_instance_groups.ex index 5f68cfe0ac..3a93e8e912 100644 --- a/clients/compute/lib/google_api/compute/v1/api/region_instance_groups.ex +++ b/clients/compute/lib/google_api/compute/v1/api/region_instance_groups.ex @@ -126,11 +126,11 @@ defmodule GoogleApi.Compute.V1.Api.RegionInstanceGroups do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. + * `: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 @@ -213,11 +213,11 @@ defmodule GoogleApi.Compute.V1.Api.RegionInstanceGroups do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. + * `: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. * `:body` (*type:* `GoogleApi.Compute.V1.Model.RegionInstanceGroupsListInstancesRequest.t`) - * `opts` (*type:* `keyword()`) - Call options diff --git a/clients/compute/lib/google_api/compute/v1/api/region_instance_templates.ex b/clients/compute/lib/google_api/compute/v1/api/region_instance_templates.ex new file mode 100644 index 0000000000..84aca539ae --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/api/region_instance_templates.ex @@ -0,0 +1,363 @@ +# 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.RegionInstanceTemplates do + @moduledoc """ + API calls for all endpoints tagged `RegionInstanceTemplates`. + """ + + alias GoogleApi.Compute.V1.Connection + alias GoogleApi.Gax.{Request, Response} + + @library_version Mix.Project.config() |> Keyword.get(:version, "") + + @doc """ + Deletes the specified instance template. Deleting an instance template is permanent and cannot be undone. + + ## Parameters + + * `connection` (*type:* `GoogleApi.Compute.V1.Connection.t`) - Connection to server + * `project` (*type:* `String.t`) - Project ID for this request. + * `region` (*type:* `String.t`) - The name of the region for this request. + * `instance_template` (*type:* `String.t`) - The name of the instance template to delete. + * `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_region_instance_templates_delete( + 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_region_instance_templates_delete( + connection, + project, + region, + instance_template, + 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}/regions/{region}/instanceTemplates/{instanceTemplate}", + %{ + "project" => URI.encode(project, &URI.char_unreserved?/1), + "region" => URI.encode(region, &URI.char_unreserved?/1), + "instanceTemplate" => + URI.encode(instance_template, &(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 the specified instance template. + + ## Parameters + + * `connection` (*type:* `GoogleApi.Compute.V1.Connection.t`) - Connection to server + * `project` (*type:* `String.t`) - Project ID for this request. + * `region` (*type:* `String.t`) - The name of the region for this request. + * `instance_template` (*type:* `String.t`) - The name of the instance template. + * `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.InstanceTemplate{}}` on success + * `{:error, info}` on failure + """ + @spec compute_region_instance_templates_get( + Tesla.Env.client(), + String.t(), + String.t(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.Compute.V1.Model.InstanceTemplate.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def compute_region_instance_templates_get( + connection, + project, + region, + instance_template, + 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}/regions/{region}/instanceTemplates/{instanceTemplate}", + %{ + "project" => URI.encode(project, &URI.char_unreserved?/1), + "region" => URI.encode(region, &URI.char_unreserved?/1), + "instanceTemplate" => + URI.encode(instance_template, &(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.InstanceTemplate{}]) + end + + @doc """ + Creates an instance template in the specified project and region using the global instance template whose URL is included in the request. + + ## Parameters + + * `connection` (*type:* `GoogleApi.Compute.V1.Connection.t`) - Connection to server + * `project` (*type:* `String.t`) - Project ID for this request. + * `region` (*type:* `String.t`) - The name of the region for this request. + * `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.InstanceTemplate.t`) - + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.Compute.V1.Model.Operation{}}` on success + * `{:error, info}` on failure + """ + @spec compute_region_instance_templates_insert( + Tesla.Env.client(), + String.t(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.Compute.V1.Model.Operation.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def compute_region_instance_templates_insert( + connection, + project, + region, + 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}/regions/{region}/instanceTemplates", %{ + "project" => URI.encode(project, &URI.char_unreserved?/1), + "region" => URI.encode(region, &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 instance templates that are contained within the specified project and region. + + ## Parameters + + * `connection` (*type:* `GoogleApi.Compute.V1.Connection.t`) - Connection to server + * `project` (*type:* `String.t`) - Project ID for this request. + * `region` (*type:* `String.t`) - The name of the regions for this request. + * `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.InstanceTemplateList{}}` on success + * `{:error, info}` on failure + """ + @spec compute_region_instance_templates_list( + Tesla.Env.client(), + String.t(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.Compute.V1.Model.InstanceTemplateList.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def compute_region_instance_templates_list( + connection, + project, + region, + 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}/regions/{region}/instanceTemplates", %{ + "project" => URI.encode(project, &URI.char_unreserved?/1), + "region" => URI.encode(region, &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.InstanceTemplateList{}]) + end +end diff --git a/clients/compute/lib/google_api/compute/v1/api/region_instant_snapshots.ex b/clients/compute/lib/google_api/compute/v1/api/region_instant_snapshots.ex new file mode 100644 index 0000000000..4e2a1a01b6 --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/api/region_instant_snapshots.ex @@ -0,0 +1,697 @@ +# 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.RegionInstantSnapshots do + @moduledoc """ + API calls for all endpoints tagged `RegionInstantSnapshots`. + """ + + alias GoogleApi.Compute.V1.Connection + alias GoogleApi.Gax.{Request, Response} + + @library_version Mix.Project.config() |> Keyword.get(:version, "") + + @doc """ + Deletes the specified InstantSnapshot resource. Keep in mind that deleting a single instantSnapshot might not necessarily delete all the data on that instantSnapshot. If any data on the instantSnapshot that is marked for deletion is needed for subsequent instantSnapshots, the data will be moved to the next corresponding instantSnapshot. For more information, see Deleting instantSnapshots. + + ## Parameters + + * `connection` (*type:* `GoogleApi.Compute.V1.Connection.t`) - Connection to server + * `project` (*type:* `String.t`) - Project ID for this request. + * `region` (*type:* `String.t`) - The name of the region for this request. + * `instant_snapshot` (*type:* `String.t`) - Name of the InstantSnapshot resource to delete. + * `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_region_instant_snapshots_delete( + 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_region_instant_snapshots_delete( + connection, + project, + region, + instant_snapshot, + 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}/regions/{region}/instantSnapshots/{instantSnapshot}", %{ + "project" => URI.encode(project, &URI.char_unreserved?/1), + "region" => URI.encode(region, &URI.char_unreserved?/1), + "instantSnapshot" => URI.encode(instant_snapshot, &(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 the specified InstantSnapshot resource in the specified region. + + ## Parameters + + * `connection` (*type:* `GoogleApi.Compute.V1.Connection.t`) - Connection to server + * `project` (*type:* `String.t`) - Project ID for this request. + * `region` (*type:* `String.t`) - The name of the region for this request. + * `instant_snapshot` (*type:* `String.t`) - Name of the InstantSnapshot resource to return. + * `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.InstantSnapshot{}}` on success + * `{:error, info}` on failure + """ + @spec compute_region_instant_snapshots_get( + Tesla.Env.client(), + String.t(), + String.t(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.Compute.V1.Model.InstantSnapshot.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def compute_region_instant_snapshots_get( + connection, + project, + region, + instant_snapshot, + 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}/regions/{region}/instantSnapshots/{instantSnapshot}", %{ + "project" => URI.encode(project, &URI.char_unreserved?/1), + "region" => URI.encode(region, &URI.char_unreserved?/1), + "instantSnapshot" => URI.encode(instant_snapshot, &(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.InstantSnapshot{}]) + end + + @doc """ + Gets the access control policy for a resource. May be empty if no such policy or resource exists. + + ## Parameters + + * `connection` (*type:* `GoogleApi.Compute.V1.Connection.t`) - Connection to server + * `project` (*type:* `String.t`) - Project ID for this request. + * `region` (*type:* `String.t`) - The name of the region for this request. + * `resource` (*type:* `String.t`) - Name or id of the resource for this request. + * `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`. + * `:optionsRequestedPolicyVersion` (*type:* `integer()`) - Requested IAM Policy version. + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.Compute.V1.Model.Policy{}}` on success + * `{:error, info}` on failure + """ + @spec compute_region_instant_snapshots_get_iam_policy( + Tesla.Env.client(), + String.t(), + String.t(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.Compute.V1.Model.Policy.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def compute_region_instant_snapshots_get_iam_policy( + connection, + project, + region, + resource, + 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, + :optionsRequestedPolicyVersion => :query + } + + request = + Request.new() + |> Request.method(:get) + |> Request.url( + "/projects/{project}/regions/{region}/instantSnapshots/{resource}/getIamPolicy", + %{ + "project" => URI.encode(project, &URI.char_unreserved?/1), + "region" => URI.encode(region, &URI.char_unreserved?/1), + "resource" => URI.encode(resource, &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.Policy{}]) + end + + @doc """ + Creates an instant snapshot in the specified region. + + ## Parameters + + * `connection` (*type:* `GoogleApi.Compute.V1.Connection.t`) - Connection to server + * `project` (*type:* `String.t`) - Project ID for this request. + * `region` (*type:* `String.t`) - Name of the region for this request. + * `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.InstantSnapshot.t`) - + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.Compute.V1.Model.Operation{}}` on success + * `{:error, info}` on failure + """ + @spec compute_region_instant_snapshots_insert( + Tesla.Env.client(), + String.t(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.Compute.V1.Model.Operation.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def compute_region_instant_snapshots_insert( + connection, + project, + region, + 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}/regions/{region}/instantSnapshots", %{ + "project" => URI.encode(project, &URI.char_unreserved?/1), + "region" => URI.encode(region, &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 the list of InstantSnapshot resources contained within the specified region. + + ## Parameters + + * `connection` (*type:* `GoogleApi.Compute.V1.Connection.t`) - Connection to server + * `project` (*type:* `String.t`) - Project ID for this request. + * `region` (*type:* `String.t`) - The name of the region for this request. + * `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.InstantSnapshotList{}}` on success + * `{:error, info}` on failure + """ + @spec compute_region_instant_snapshots_list( + Tesla.Env.client(), + String.t(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.Compute.V1.Model.InstantSnapshotList.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def compute_region_instant_snapshots_list( + connection, + project, + region, + 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}/regions/{region}/instantSnapshots", %{ + "project" => URI.encode(project, &URI.char_unreserved?/1), + "region" => URI.encode(region, &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.InstantSnapshotList{}]) + end + + @doc """ + Sets the access control policy on the specified resource. Replaces any existing policy. + + ## Parameters + + * `connection` (*type:* `GoogleApi.Compute.V1.Connection.t`) - Connection to server + * `project` (*type:* `String.t`) - Project ID for this request. + * `region` (*type:* `String.t`) - The name of the region for this request. + * `resource` (*type:* `String.t`) - Name or id of the resource for this request. + * `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`. + * `:body` (*type:* `GoogleApi.Compute.V1.Model.RegionSetPolicyRequest.t`) - + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.Compute.V1.Model.Policy{}}` on success + * `{:error, info}` on failure + """ + @spec compute_region_instant_snapshots_set_iam_policy( + Tesla.Env.client(), + String.t(), + String.t(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.Compute.V1.Model.Policy.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def compute_region_instant_snapshots_set_iam_policy( + connection, + project, + region, + resource, + 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, + :body => :body + } + + request = + Request.new() + |> Request.method(:post) + |> Request.url( + "/projects/{project}/regions/{region}/instantSnapshots/{resource}/setIamPolicy", + %{ + "project" => URI.encode(project, &URI.char_unreserved?/1), + "region" => URI.encode(region, &URI.char_unreserved?/1), + "resource" => URI.encode(resource, &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.Policy{}]) + end + + @doc """ + Sets the labels on a instantSnapshot in the given region. To learn more about labels, read the Labeling Resources documentation. + + ## Parameters + + * `connection` (*type:* `GoogleApi.Compute.V1.Connection.t`) - Connection to server + * `project` (*type:* `String.t`) - Project ID for this request. + * `region` (*type:* `String.t`) - The region for this request. + * `resource` (*type:* `String.t`) - Name or id of the resource for this request. + * `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.RegionSetLabelsRequest.t`) - + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.Compute.V1.Model.Operation{}}` on success + * `{:error, info}` on failure + """ + @spec compute_region_instant_snapshots_set_labels( + 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_region_instant_snapshots_set_labels( + connection, + project, + region, + resource, + 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}/regions/{region}/instantSnapshots/{resource}/setLabels", + %{ + "project" => URI.encode(project, &URI.char_unreserved?/1), + "region" => URI.encode(region, &URI.char_unreserved?/1), + "resource" => URI.encode(resource, &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 """ + Returns permissions that a caller has on the specified resource. + + ## Parameters + + * `connection` (*type:* `GoogleApi.Compute.V1.Connection.t`) - Connection to server + * `project` (*type:* `String.t`) - Project ID for this request. + * `region` (*type:* `String.t`) - The name of the region for this request. + * `resource` (*type:* `String.t`) - Name or id of the resource for this request. + * `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`. + * `:body` (*type:* `GoogleApi.Compute.V1.Model.TestPermissionsRequest.t`) - + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.Compute.V1.Model.TestPermissionsResponse{}}` on success + * `{:error, info}` on failure + """ + @spec compute_region_instant_snapshots_test_iam_permissions( + Tesla.Env.client(), + String.t(), + String.t(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.Compute.V1.Model.TestPermissionsResponse.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def compute_region_instant_snapshots_test_iam_permissions( + connection, + project, + region, + resource, + 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, + :body => :body + } + + request = + Request.new() + |> Request.method(:post) + |> Request.url( + "/projects/{project}/regions/{region}/instantSnapshots/{resource}/testIamPermissions", + %{ + "project" => URI.encode(project, &URI.char_unreserved?/1), + "region" => URI.encode(region, &URI.char_unreserved?/1), + "resource" => URI.encode(resource, &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.TestPermissionsResponse{}]) + end +end diff --git a/clients/compute/lib/google_api/compute/v1/api/region_network_endpoint_groups.ex b/clients/compute/lib/google_api/compute/v1/api/region_network_endpoint_groups.ex index 67e613c0c3..f2aceb8246 100644 --- a/clients/compute/lib/google_api/compute/v1/api/region_network_endpoint_groups.ex +++ b/clients/compute/lib/google_api/compute/v1/api/region_network_endpoint_groups.ex @@ -25,6 +25,93 @@ defmodule GoogleApi.Compute.V1.Api.RegionNetworkEndpointGroups do @library_version Mix.Project.config() |> Keyword.get(:version, "") + @doc """ + Attach a list of network endpoints to the specified network endpoint group. + + ## Parameters + + * `connection` (*type:* `GoogleApi.Compute.V1.Connection.t`) - Connection to server + * `project` (*type:* `String.t`) - Project ID for this request. + * `region` (*type:* `String.t`) - The name of the region where you want to create the network endpoint group. It should comply with RFC1035. + * `network_endpoint_group` (*type:* `String.t`) - The name of the network endpoint group where you are attaching network endpoints to. It should comply with 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`. + * `: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.RegionNetworkEndpointGroupsAttachEndpointsRequest.t`) - + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.Compute.V1.Model.Operation{}}` on success + * `{:error, info}` on failure + """ + @spec compute_region_network_endpoint_groups_attach_network_endpoints( + 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_region_network_endpoint_groups_attach_network_endpoints( + connection, + project, + region, + network_endpoint_group, + 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}/regions/{region}/networkEndpointGroups/{networkEndpointGroup}/attachNetworkEndpoints", + %{ + "project" => URI.encode(project, &URI.char_unreserved?/1), + "region" => URI.encode(region, &URI.char_unreserved?/1), + "networkEndpointGroup" => URI.encode(network_endpoint_group, &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 network endpoint group. Note that the NEG cannot be deleted if it is configured as a backend of a backend service. @@ -112,7 +199,94 @@ defmodule GoogleApi.Compute.V1.Api.RegionNetworkEndpointGroups do end @doc """ - Returns the specified network endpoint group. Gets a list of available network endpoint groups by making a list() request. + Detach the network endpoint from the specified network endpoint group. + + ## Parameters + + * `connection` (*type:* `GoogleApi.Compute.V1.Connection.t`) - Connection to server + * `project` (*type:* `String.t`) - Project ID for this request. + * `region` (*type:* `String.t`) - The name of the region where the network endpoint group is located. It should comply with RFC1035. + * `network_endpoint_group` (*type:* `String.t`) - The name of the network endpoint group you are detaching network endpoints from. It should comply with 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`. + * `: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). end_interface: MixerMutationRequestBuilder + * `:body` (*type:* `GoogleApi.Compute.V1.Model.RegionNetworkEndpointGroupsDetachEndpointsRequest.t`) - + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.Compute.V1.Model.Operation{}}` on success + * `{:error, info}` on failure + """ + @spec compute_region_network_endpoint_groups_detach_network_endpoints( + 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_region_network_endpoint_groups_detach_network_endpoints( + connection, + project, + region, + network_endpoint_group, + 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}/regions/{region}/networkEndpointGroups/{networkEndpointGroup}/detachNetworkEndpoints", + %{ + "project" => URI.encode(project, &URI.char_unreserved?/1), + "region" => URI.encode(region, &URI.char_unreserved?/1), + "networkEndpointGroup" => URI.encode(network_endpoint_group, &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 """ + Returns the specified network endpoint group. ## Parameters @@ -296,11 +470,11 @@ defmodule GoogleApi.Compute.V1.Api.RegionNetworkEndpointGroups do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. + * `: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 @@ -360,4 +534,99 @@ defmodule GoogleApi.Compute.V1.Api.RegionNetworkEndpointGroups do |> Connection.execute(request) |> Response.decode(opts ++ [struct: %GoogleApi.Compute.V1.Model.NetworkEndpointGroupList{}]) end + + @doc """ + Lists the network endpoints in the specified network endpoint group. + + ## Parameters + + * `connection` (*type:* `GoogleApi.Compute.V1.Connection.t`) - Connection to server + * `project` (*type:* `String.t`) - Project ID for this request. + * `region` (*type:* `String.t`) - The name of the region where the network endpoint group is located. It should comply with RFC1035. + * `network_endpoint_group` (*type:* `String.t`) - The name of the network endpoint group from which you want to generate a list of included network endpoints. It should comply with 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.NetworkEndpointGroupsListNetworkEndpoints{}}` on success + * `{:error, info}` on failure + """ + @spec compute_region_network_endpoint_groups_list_network_endpoints( + Tesla.Env.client(), + String.t(), + String.t(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.Compute.V1.Model.NetworkEndpointGroupsListNetworkEndpoints.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def compute_region_network_endpoint_groups_list_network_endpoints( + connection, + project, + region, + network_endpoint_group, + 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(:post) + |> Request.url( + "/projects/{project}/regions/{region}/networkEndpointGroups/{networkEndpointGroup}/listNetworkEndpoints", + %{ + "project" => URI.encode(project, &URI.char_unreserved?/1), + "region" => URI.encode(region, &URI.char_unreserved?/1), + "networkEndpointGroup" => URI.encode(network_endpoint_group, &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.NetworkEndpointGroupsListNetworkEndpoints{}] + ) + end end diff --git a/clients/compute/lib/google_api/compute/v1/api/region_network_firewall_policies.ex b/clients/compute/lib/google_api/compute/v1/api/region_network_firewall_policies.ex index be4f537498..8e25092f6f 100644 --- a/clients/compute/lib/google_api/compute/v1/api/region_network_firewall_policies.ex +++ b/clients/compute/lib/google_api/compute/v1/api/region_network_firewall_policies.ex @@ -900,11 +900,11 @@ defmodule GoogleApi.Compute.V1.Api.RegionNetworkFirewallPolicies do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. + * `: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 diff --git a/clients/compute/lib/google_api/compute/v1/api/region_notification_endpoints.ex b/clients/compute/lib/google_api/compute/v1/api/region_notification_endpoints.ex index 3f2149ab21..5f4b824d2e 100644 --- a/clients/compute/lib/google_api/compute/v1/api/region_notification_endpoints.ex +++ b/clients/compute/lib/google_api/compute/v1/api/region_notification_endpoints.ex @@ -296,11 +296,11 @@ defmodule GoogleApi.Compute.V1.Api.RegionNotificationEndpoints do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. + * `: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 diff --git a/clients/compute/lib/google_api/compute/v1/api/region_operations.ex b/clients/compute/lib/google_api/compute/v1/api/region_operations.ex index c3b40070b2..f87f5eedd1 100644 --- a/clients/compute/lib/google_api/compute/v1/api/region_operations.ex +++ b/clients/compute/lib/google_api/compute/v1/api/region_operations.ex @@ -202,11 +202,11 @@ defmodule GoogleApi.Compute.V1.Api.RegionOperations do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. + * `: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 diff --git a/clients/compute/lib/google_api/compute/v1/api/region_security_policies.ex b/clients/compute/lib/google_api/compute/v1/api/region_security_policies.ex index 3849c6f022..f882ca36fc 100644 --- a/clients/compute/lib/google_api/compute/v1/api/region_security_policies.ex +++ b/clients/compute/lib/google_api/compute/v1/api/region_security_policies.ex @@ -25,6 +25,93 @@ defmodule GoogleApi.Compute.V1.Api.RegionSecurityPolicies do @library_version Mix.Project.config() |> Keyword.get(:version, "") + @doc """ + Inserts a rule into a security policy. + + ## Parameters + + * `connection` (*type:* `GoogleApi.Compute.V1.Connection.t`) - Connection to server + * `project` (*type:* `String.t`) - Project ID for this request. + * `region` (*type:* `String.t`) - Name of the region scoping this request. + * `security_policy` (*type:* `String.t`) - Name of the security policy to update. + * `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`. + * `:validateOnly` (*type:* `boolean()`) - If true, the request will not be committed. + * `:body` (*type:* `GoogleApi.Compute.V1.Model.SecurityPolicyRule.t`) - + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.Compute.V1.Model.Operation{}}` on success + * `{:error, info}` on failure + """ + @spec compute_region_security_policies_add_rule( + 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_region_security_policies_add_rule( + connection, + project, + region, + security_policy, + 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, + :validateOnly => :query, + :body => :body + } + + request = + Request.new() + |> Request.method(:post) + |> Request.url( + "/projects/{project}/regions/{region}/securityPolicies/{securityPolicy}/addRule", + %{ + "project" => URI.encode(project, &URI.char_unreserved?/1), + "region" => URI.encode(region, &URI.char_unreserved?/1), + "securityPolicy" => URI.encode(security_policy, &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 policy. @@ -187,6 +274,91 @@ defmodule GoogleApi.Compute.V1.Api.RegionSecurityPolicies do |> Response.decode(opts ++ [struct: %GoogleApi.Compute.V1.Model.SecurityPolicy{}]) end + @doc """ + Gets a rule at the specified priority. + + ## Parameters + + * `connection` (*type:* `GoogleApi.Compute.V1.Connection.t`) - Connection to server + * `project` (*type:* `String.t`) - Project ID for this request. + * `region` (*type:* `String.t`) - Name of the region scoping this request. + * `security_policy` (*type:* `String.t`) - Name of the security policy to which the queried rule belongs. + * `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`. + * `:priority` (*type:* `integer()`) - The priority of the rule to get from the security policy. + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.Compute.V1.Model.SecurityPolicyRule{}}` on success + * `{:error, info}` on failure + """ + @spec compute_region_security_policies_get_rule( + Tesla.Env.client(), + String.t(), + String.t(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.Compute.V1.Model.SecurityPolicyRule.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def compute_region_security_policies_get_rule( + connection, + project, + region, + security_policy, + 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, + :priority => :query + } + + request = + Request.new() + |> Request.method(:get) + |> Request.url( + "/projects/{project}/regions/{region}/securityPolicies/{securityPolicy}/getRule", + %{ + "project" => URI.encode(project, &URI.char_unreserved?/1), + "region" => URI.encode(region, &URI.char_unreserved?/1), + "securityPolicy" => URI.encode(security_policy, &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.SecurityPolicyRule{}]) + end + @doc """ Creates a new policy in the specified project using the data included in the request. @@ -290,11 +462,11 @@ defmodule GoogleApi.Compute.V1.Api.RegionSecurityPolicies do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. + * `: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 @@ -356,7 +528,7 @@ defmodule GoogleApi.Compute.V1.Api.RegionSecurityPolicies do end @doc """ - Patches the specified policy with the data included in the request. To clear fields in the rule, leave the fields empty and specify them in the updateMask. This cannot be used to be update the rules in the policy. Please use the per rule methods like addRule, patchRule, and removeRule instead. + Patches the specified policy with the data included in the request. To clear fields in the policy, leave the fields empty and specify them in the updateMask. This cannot be used to be update the rules in the policy. Please use the per rule methods like addRule, patchRule, and removeRule instead. ## Parameters @@ -378,6 +550,7 @@ defmodule GoogleApi.Compute.V1.Api.RegionSecurityPolicies do * `: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). + * `:updateMask` (*type:* `String.t`) - Indicates fields to be cleared as part of this request. * `:body` (*type:* `GoogleApi.Compute.V1.Model.SecurityPolicy.t`) - * `opts` (*type:* `keyword()`) - Call options @@ -420,6 +593,7 @@ defmodule GoogleApi.Compute.V1.Api.RegionSecurityPolicies do :upload_protocol => :query, :userIp => :query, :requestId => :query, + :updateMask => :query, :body => :body } @@ -438,4 +612,180 @@ defmodule GoogleApi.Compute.V1.Api.RegionSecurityPolicies do |> Connection.execute(request) |> Response.decode(opts ++ [struct: %GoogleApi.Compute.V1.Model.Operation{}]) end + + @doc """ + Patches a rule at the specified priority. To clear fields in the rule, leave the fields empty and specify them in the updateMask. + + ## Parameters + + * `connection` (*type:* `GoogleApi.Compute.V1.Connection.t`) - Connection to server + * `project` (*type:* `String.t`) - Project ID for this request. + * `region` (*type:* `String.t`) - Name of the region scoping this request. + * `security_policy` (*type:* `String.t`) - Name of the security policy to update. + * `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`. + * `:priority` (*type:* `integer()`) - The priority of the rule to patch. + * `:updateMask` (*type:* `String.t`) - Indicates fields to be cleared as part of this request. + * `:validateOnly` (*type:* `boolean()`) - If true, the request will not be committed. + * `:body` (*type:* `GoogleApi.Compute.V1.Model.SecurityPolicyRule.t`) - + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.Compute.V1.Model.Operation{}}` on success + * `{:error, info}` on failure + """ + @spec compute_region_security_policies_patch_rule( + 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_region_security_policies_patch_rule( + connection, + project, + region, + security_policy, + 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, + :priority => :query, + :updateMask => :query, + :validateOnly => :query, + :body => :body + } + + request = + Request.new() + |> Request.method(:post) + |> Request.url( + "/projects/{project}/regions/{region}/securityPolicies/{securityPolicy}/patchRule", + %{ + "project" => URI.encode(project, &URI.char_unreserved?/1), + "region" => URI.encode(region, &URI.char_unreserved?/1), + "securityPolicy" => URI.encode(security_policy, &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 a rule at the specified priority. + + ## Parameters + + * `connection` (*type:* `GoogleApi.Compute.V1.Connection.t`) - Connection to server + * `project` (*type:* `String.t`) - Project ID for this request. + * `region` (*type:* `String.t`) - Name of the region scoping this request. + * `security_policy` (*type:* `String.t`) - Name of the security policy to update. + * `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`. + * `:priority` (*type:* `integer()`) - The priority of the rule to remove from the security policy. + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.Compute.V1.Model.Operation{}}` on success + * `{:error, info}` on failure + """ + @spec compute_region_security_policies_remove_rule( + 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_region_security_policies_remove_rule( + connection, + project, + region, + security_policy, + 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, + :priority => :query + } + + request = + Request.new() + |> Request.method(:post) + |> Request.url( + "/projects/{project}/regions/{region}/securityPolicies/{securityPolicy}/removeRule", + %{ + "project" => URI.encode(project, &URI.char_unreserved?/1), + "region" => URI.encode(region, &URI.char_unreserved?/1), + "securityPolicy" => URI.encode(security_policy, &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 end diff --git a/clients/compute/lib/google_api/compute/v1/api/region_ssl_certificates.ex b/clients/compute/lib/google_api/compute/v1/api/region_ssl_certificates.ex index f4191b06ea..50e9cf443b 100644 --- a/clients/compute/lib/google_api/compute/v1/api/region_ssl_certificates.ex +++ b/clients/compute/lib/google_api/compute/v1/api/region_ssl_certificates.ex @@ -288,11 +288,11 @@ defmodule GoogleApi.Compute.V1.Api.RegionSslCertificates do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. + * `: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 diff --git a/clients/compute/lib/google_api/compute/v1/api/region_ssl_policies.ex b/clients/compute/lib/google_api/compute/v1/api/region_ssl_policies.ex index ea0a2793c3..0e4ffd0bb0 100644 --- a/clients/compute/lib/google_api/compute/v1/api/region_ssl_policies.ex +++ b/clients/compute/lib/google_api/compute/v1/api/region_ssl_policies.ex @@ -288,11 +288,11 @@ defmodule GoogleApi.Compute.V1.Api.RegionSslPolicies do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. + * `: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 @@ -374,11 +374,11 @@ defmodule GoogleApi.Compute.V1.Api.RegionSslPolicies do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. + * `: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 diff --git a/clients/compute/lib/google_api/compute/v1/api/region_target_http_proxies.ex b/clients/compute/lib/google_api/compute/v1/api/region_target_http_proxies.ex index d046ef28a1..5d0fc00292 100644 --- a/clients/compute/lib/google_api/compute/v1/api/region_target_http_proxies.ex +++ b/clients/compute/lib/google_api/compute/v1/api/region_target_http_proxies.ex @@ -112,7 +112,7 @@ defmodule GoogleApi.Compute.V1.Api.RegionTargetHttpProxies do end @doc """ - Returns the specified TargetHttpProxy resource in the specified region. Gets a list of available target HTTP proxies by making a list() request. + Returns the specified TargetHttpProxy resource in the specified region. ## Parameters @@ -296,11 +296,11 @@ defmodule GoogleApi.Compute.V1.Api.RegionTargetHttpProxies do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. + * `: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 diff --git a/clients/compute/lib/google_api/compute/v1/api/region_target_https_proxies.ex b/clients/compute/lib/google_api/compute/v1/api/region_target_https_proxies.ex index a3ac05bc07..4378afeb84 100644 --- a/clients/compute/lib/google_api/compute/v1/api/region_target_https_proxies.ex +++ b/clients/compute/lib/google_api/compute/v1/api/region_target_https_proxies.ex @@ -112,7 +112,7 @@ defmodule GoogleApi.Compute.V1.Api.RegionTargetHttpsProxies do end @doc """ - Returns the specified TargetHttpsProxy resource in the specified region. Gets a list of available target HTTP proxies by making a list() request. + Returns the specified TargetHttpsProxy resource in the specified region. ## Parameters @@ -296,11 +296,11 @@ defmodule GoogleApi.Compute.V1.Api.RegionTargetHttpsProxies do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. + * `: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 diff --git a/clients/compute/lib/google_api/compute/v1/api/region_target_tcp_proxies.ex b/clients/compute/lib/google_api/compute/v1/api/region_target_tcp_proxies.ex index 4a61538dc2..e5ab334a88 100644 --- a/clients/compute/lib/google_api/compute/v1/api/region_target_tcp_proxies.ex +++ b/clients/compute/lib/google_api/compute/v1/api/region_target_tcp_proxies.ex @@ -288,11 +288,11 @@ defmodule GoogleApi.Compute.V1.Api.RegionTargetTcpProxies do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. + * `: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 diff --git a/clients/compute/lib/google_api/compute/v1/api/region_url_maps.ex b/clients/compute/lib/google_api/compute/v1/api/region_url_maps.ex index cc49604587..6d71be1203 100644 --- a/clients/compute/lib/google_api/compute/v1/api/region_url_maps.ex +++ b/clients/compute/lib/google_api/compute/v1/api/region_url_maps.ex @@ -108,7 +108,7 @@ defmodule GoogleApi.Compute.V1.Api.RegionUrlMaps do end @doc """ - Returns the specified UrlMap resource. Gets a list of available URL maps by making a list() request. + Returns the specified UrlMap resource. ## Parameters @@ -288,11 +288,11 @@ defmodule GoogleApi.Compute.V1.Api.RegionUrlMaps do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. + * `: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 diff --git a/clients/compute/lib/google_api/compute/v1/api/region_zones.ex b/clients/compute/lib/google_api/compute/v1/api/region_zones.ex new file mode 100644 index 0000000000..e3ae6c86c9 --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/api/region_zones.ex @@ -0,0 +1,107 @@ +# 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.RegionZones do + @moduledoc """ + API calls for all endpoints tagged `RegionZones`. + """ + + alias GoogleApi.Compute.V1.Connection + alias GoogleApi.Gax.{Request, Response} + + @library_version Mix.Project.config() |> Keyword.get(:version, "") + + @doc """ + Retrieves the list of Zone resources under the specific region available to the specified project. + + ## Parameters + + * `connection` (*type:* `GoogleApi.Compute.V1.Connection.t`) - Connection to server + * `project` (*type:* `String.t`) - Project ID for this request. + * `region` (*type:* `String.t`) - Region for this request. + * `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.ZoneList{}}` on success + * `{:error, info}` on failure + """ + @spec compute_region_zones_list( + Tesla.Env.client(), + String.t(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.Compute.V1.Model.ZoneList.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def compute_region_zones_list(connection, project, region, 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}/regions/{region}/zones", %{ + "project" => URI.encode(project, &URI.char_unreserved?/1), + "region" => URI.encode(region, &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.ZoneList{}]) + end +end diff --git a/clients/compute/lib/google_api/compute/v1/api/regions.ex b/clients/compute/lib/google_api/compute/v1/api/regions.ex index bde7906f61..74a0475c4a 100644 --- a/clients/compute/lib/google_api/compute/v1/api/regions.ex +++ b/clients/compute/lib/google_api/compute/v1/api/regions.ex @@ -26,7 +26,7 @@ defmodule GoogleApi.Compute.V1.Api.Regions do @library_version Mix.Project.config() |> Keyword.get(:version, "") @doc """ - Returns the specified Region resource. Gets a list of available regions by making a list() request. To decrease latency for this method, you can optionally omit any unneeded information from the response by using a field mask. This practice is especially recommended for unused quota information (the `quotas` field). To exclude one or more fields, set your request's `fields` query parameter to only include the fields you need. For example, to only include the `id` and `selfLink` fields, add the query parameter `?fields=id,selfLink` to your request. + Returns the specified Region resource. To decrease latency for this method, you can optionally omit any unneeded information from the response by using a field mask. This practice is especially recommended for unused quota information (the `quotas` field). To exclude one or more fields, set your request's `fields` query parameter to only include the fields you need. For example, to only include the `id` and `selfLink` fields, add the query parameter `?fields=id,selfLink` to your request. ## Parameters @@ -109,11 +109,11 @@ defmodule GoogleApi.Compute.V1.Api.Regions do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. + * `: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 diff --git a/clients/compute/lib/google_api/compute/v1/api/reservations.ex b/clients/compute/lib/google_api/compute/v1/api/reservations.ex index 04d1dd98e7..fa84d33f66 100644 --- a/clients/compute/lib/google_api/compute/v1/api/reservations.ex +++ b/clients/compute/lib/google_api/compute/v1/api/reservations.ex @@ -26,7 +26,7 @@ defmodule GoogleApi.Compute.V1.Api.Reservations do @library_version Mix.Project.config() |> Keyword.get(:version, "") @doc """ - Retrieves an aggregated list of reservations. + Retrieves an aggregated list of reservations. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. ## Parameters @@ -45,12 +45,13 @@ defmodule GoogleApi.Compute.V1.Api.Reservations do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. * `:includeAllScopes` (*type:* `boolean()`) - Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included. * `: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. + * `: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. + * `:serviceProjectNumber` (*type:* `String.t`) - The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api. * `opts` (*type:* `keyword()`) - Call options ## Returns @@ -82,7 +83,8 @@ defmodule GoogleApi.Compute.V1.Api.Reservations do :maxResults => :query, :orderBy => :query, :pageToken => :query, - :returnPartialSuccess => :query + :returnPartialSuccess => :query, + :serviceProjectNumber => :query } request = @@ -438,11 +440,11 @@ defmodule GoogleApi.Compute.V1.Api.Reservations do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. + * `: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 diff --git a/clients/compute/lib/google_api/compute/v1/api/resource_policies.ex b/clients/compute/lib/google_api/compute/v1/api/resource_policies.ex index 06cb75e6ce..b8b70b0f89 100644 --- a/clients/compute/lib/google_api/compute/v1/api/resource_policies.ex +++ b/clients/compute/lib/google_api/compute/v1/api/resource_policies.ex @@ -26,7 +26,7 @@ defmodule GoogleApi.Compute.V1.Api.ResourcePolicies do @library_version Mix.Project.config() |> Keyword.get(:version, "") @doc """ - Retrieves an aggregated list of resource policies. + Retrieves an aggregated list of resource policies. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. ## Parameters @@ -45,12 +45,13 @@ defmodule GoogleApi.Compute.V1.Api.ResourcePolicies do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. * `:includeAllScopes` (*type:* `boolean()`) - Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included. * `: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. + * `: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. + * `:serviceProjectNumber` (*type:* `String.t`) - The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api. * `opts` (*type:* `keyword()`) - Call options ## Returns @@ -92,7 +93,8 @@ defmodule GoogleApi.Compute.V1.Api.ResourcePolicies do :maxResults => :query, :orderBy => :query, :pageToken => :query, - :returnPartialSuccess => :query + :returnPartialSuccess => :query, + :serviceProjectNumber => :query } request = @@ -459,11 +461,11 @@ defmodule GoogleApi.Compute.V1.Api.ResourcePolicies do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. + * `: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 @@ -524,6 +526,92 @@ defmodule GoogleApi.Compute.V1.Api.ResourcePolicies do |> Response.decode(opts ++ [struct: %GoogleApi.Compute.V1.Model.ResourcePolicyList{}]) end + @doc """ + Modify the specified resource policy. + + ## Parameters + + * `connection` (*type:* `GoogleApi.Compute.V1.Connection.t`) - Connection to server + * `project` (*type:* `String.t`) - Project ID for this request. + * `region` (*type:* `String.t`) - Name of the region for this request. + * `resource_policy` (*type:* `String.t`) - Id of the resource policy to patch. + * `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). + * `:updateMask` (*type:* `String.t`) - update_mask indicates fields to be updated as part of this request. + * `:body` (*type:* `GoogleApi.Compute.V1.Model.ResourcePolicy.t`) - + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.Compute.V1.Model.Operation{}}` on success + * `{:error, info}` on failure + """ + @spec compute_resource_policies_patch( + 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_resource_policies_patch( + connection, + project, + region, + resource_policy, + 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, + :updateMask => :query, + :body => :body + } + + request = + Request.new() + |> Request.method(:patch) + |> Request.url("/projects/{project}/regions/{region}/resourcePolicies/{resourcePolicy}", %{ + "project" => URI.encode(project, &URI.char_unreserved?/1), + "region" => URI.encode(region, &URI.char_unreserved?/1), + "resourcePolicy" => URI.encode(resource_policy, &(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 """ Sets the access control policy on the specified resource. Replaces any existing policy. diff --git a/clients/compute/lib/google_api/compute/v1/api/routers.ex b/clients/compute/lib/google_api/compute/v1/api/routers.ex index 00990a3ced..25d54c8500 100644 --- a/clients/compute/lib/google_api/compute/v1/api/routers.ex +++ b/clients/compute/lib/google_api/compute/v1/api/routers.ex @@ -26,7 +26,7 @@ defmodule GoogleApi.Compute.V1.Api.Routers do @library_version Mix.Project.config() |> Keyword.get(:version, "") @doc """ - Retrieves an aggregated list of routers. + Retrieves an aggregated list of routers. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. ## Parameters @@ -45,12 +45,13 @@ defmodule GoogleApi.Compute.V1.Api.Routers do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. * `:includeAllScopes` (*type:* `boolean()`) - Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included. * `: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. + * `: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. + * `:serviceProjectNumber` (*type:* `String.t`) - The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api. * `opts` (*type:* `keyword()`) - Call options ## Returns @@ -82,7 +83,8 @@ defmodule GoogleApi.Compute.V1.Api.Routers do :maxResults => :query, :orderBy => :query, :pageToken => :query, - :returnPartialSuccess => :query + :returnPartialSuccess => :query, + :serviceProjectNumber => :query } request = @@ -182,7 +184,7 @@ defmodule GoogleApi.Compute.V1.Api.Routers do end @doc """ - Returns the specified Router resource. Gets a list of available routers by making a list() request. + Returns the specified Router resource. ## Parameters @@ -254,6 +256,88 @@ defmodule GoogleApi.Compute.V1.Api.Routers do |> Response.decode(opts ++ [struct: %GoogleApi.Compute.V1.Model.Router{}]) end + @doc """ + Retrieves runtime NAT IP information. + + ## Parameters + + * `connection` (*type:* `GoogleApi.Compute.V1.Connection.t`) - Connection to server + * `project` (*type:* `String.t`) - Project ID for this request. + * `region` (*type:* `String.t`) - Name of the region for this request. + * `router` (*type:* `String.t`) - Name of the Router resource to query for Nat IP information. 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`. + * `:natName` (*type:* `String.t`) - Name of the nat service to filter the NAT IP information. If it is omitted, all nats for this router will be returned. Name should conform to RFC1035. + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.Compute.V1.Model.NatIpInfoResponse{}}` on success + * `{:error, info}` on failure + """ + @spec compute_routers_get_nat_ip_info( + Tesla.Env.client(), + String.t(), + String.t(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.Compute.V1.Model.NatIpInfoResponse.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def compute_routers_get_nat_ip_info( + connection, + project, + region, + router, + 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, + :natName => :query + } + + request = + Request.new() + |> Request.method(:get) + |> Request.url("/projects/{project}/regions/{region}/routers/{router}/getNatIpInfo", %{ + "project" => URI.encode(project, &URI.char_unreserved?/1), + "region" => URI.encode(region, &URI.char_unreserved?/1), + "router" => URI.encode(router, &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.NatIpInfoResponse{}]) + end + @doc """ Retrieves runtime Nat mapping information of VM endpoints. @@ -276,11 +360,12 @@ defmodule GoogleApi.Compute.V1.Api.Routers do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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`) + * `:natName` (*type:* `String.t`) - Name of the nat service to filter the Nat Mapping information. If it is omitted, all nats for this router will be returned. Name should conform to RFC1035. * `: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. + * `: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 @@ -323,6 +408,7 @@ defmodule GoogleApi.Compute.V1.Api.Routers do :userIp => :query, :filter => :query, :maxResults => :query, + :natName => :query, :orderBy => :query, :pageToken => :query, :returnPartialSuccess => :query @@ -513,11 +599,11 @@ defmodule GoogleApi.Compute.V1.Api.Routers do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. + * `: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 diff --git a/clients/compute/lib/google_api/compute/v1/api/routes.ex b/clients/compute/lib/google_api/compute/v1/api/routes.ex index ae7fb411c3..3d96ede62d 100644 --- a/clients/compute/lib/google_api/compute/v1/api/routes.ex +++ b/clients/compute/lib/google_api/compute/v1/api/routes.ex @@ -92,7 +92,7 @@ defmodule GoogleApi.Compute.V1.Api.Routes do end @doc """ - Returns the specified Route resource. Gets a list of available routes by making a list() request. + Returns the specified Route resource. ## Parameters @@ -241,11 +241,11 @@ defmodule GoogleApi.Compute.V1.Api.Routes do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. + * `: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 diff --git a/clients/compute/lib/google_api/compute/v1/api/security_policies.ex b/clients/compute/lib/google_api/compute/v1/api/security_policies.ex index f9244e20af..9b68939d16 100644 --- a/clients/compute/lib/google_api/compute/v1/api/security_policies.ex +++ b/clients/compute/lib/google_api/compute/v1/api/security_policies.ex @@ -106,7 +106,7 @@ defmodule GoogleApi.Compute.V1.Api.SecurityPolicies do end @doc """ - Retrieves the list of all SecurityPolicy resources, regional and global, available to the specified project. + Retrieves the list of all SecurityPolicy resources, regional and global, available to the specified project. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. ## Parameters @@ -125,12 +125,13 @@ defmodule GoogleApi.Compute.V1.Api.SecurityPolicies do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. * `:includeAllScopes` (*type:* `boolean()`) - Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included. * `: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. + * `: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. + * `:serviceProjectNumber` (*type:* `String.t`) - The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api. * `opts` (*type:* `keyword()`) - Call options ## Returns @@ -172,7 +173,8 @@ defmodule GoogleApi.Compute.V1.Api.SecurityPolicies do :maxResults => :query, :orderBy => :query, :pageToken => :query, - :returnPartialSuccess => :query + :returnPartialSuccess => :query, + :serviceProjectNumber => :query } request = @@ -511,11 +513,11 @@ defmodule GoogleApi.Compute.V1.Api.SecurityPolicies do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. + * `: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 @@ -583,11 +585,11 @@ defmodule GoogleApi.Compute.V1.Api.SecurityPolicies do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. + * `: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 @@ -656,7 +658,7 @@ defmodule GoogleApi.Compute.V1.Api.SecurityPolicies do end @doc """ - Patches the specified policy with the data included in the request. To clear fields in the rule, leave the fields empty and specify them in the updateMask. This cannot be used to be update the rules in the policy. Please use the per rule methods like addRule, patchRule, and removeRule instead. + Patches the specified policy with the data included in the request. To clear fields in the policy, leave the fields empty and specify them in the updateMask. This cannot be used to be update the rules in the policy. Please use the per rule methods like addRule, patchRule, and removeRule instead. ## Parameters @@ -677,6 +679,7 @@ defmodule GoogleApi.Compute.V1.Api.SecurityPolicies do * `: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). + * `:updateMask` (*type:* `String.t`) - Indicates fields to be cleared as part of this request. * `:body` (*type:* `GoogleApi.Compute.V1.Model.SecurityPolicy.t`) - * `opts` (*type:* `keyword()`) - Call options @@ -717,6 +720,7 @@ defmodule GoogleApi.Compute.V1.Api.SecurityPolicies do :upload_protocol => :query, :userIp => :query, :requestId => :query, + :updateMask => :query, :body => :body } @@ -736,7 +740,7 @@ defmodule GoogleApi.Compute.V1.Api.SecurityPolicies do end @doc """ - Patches a rule at the specified priority. + Patches a rule at the specified priority. To clear fields in the rule, leave the fields empty and specify them in the updateMask. ## Parameters @@ -757,6 +761,7 @@ defmodule GoogleApi.Compute.V1.Api.SecurityPolicies do * `: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`. * `:priority` (*type:* `integer()`) - The priority of the rule to patch. + * `:updateMask` (*type:* `String.t`) - Indicates fields to be cleared as part of this request. * `:validateOnly` (*type:* `boolean()`) - If true, the request will not be committed. * `:body` (*type:* `GoogleApi.Compute.V1.Model.SecurityPolicyRule.t`) - * `opts` (*type:* `keyword()`) - Call options @@ -798,6 +803,7 @@ defmodule GoogleApi.Compute.V1.Api.SecurityPolicies do :upload_protocol => :query, :userIp => :query, :priority => :query, + :updateMask => :query, :validateOnly => :query, :body => :body } diff --git a/clients/compute/lib/google_api/compute/v1/api/service_attachments.ex b/clients/compute/lib/google_api/compute/v1/api/service_attachments.ex index efd739a4e4..c6bb4a4d52 100644 --- a/clients/compute/lib/google_api/compute/v1/api/service_attachments.ex +++ b/clients/compute/lib/google_api/compute/v1/api/service_attachments.ex @@ -26,7 +26,7 @@ defmodule GoogleApi.Compute.V1.Api.ServiceAttachments do @library_version Mix.Project.config() |> Keyword.get(:version, "") @doc """ - Retrieves the list of all ServiceAttachment resources, regional and global, available to the specified project. + Retrieves the list of all ServiceAttachment resources, regional and global, available to the specified project. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. ## Parameters @@ -45,12 +45,13 @@ defmodule GoogleApi.Compute.V1.Api.ServiceAttachments do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. * `:includeAllScopes` (*type:* `boolean()`) - Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included. * `: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. + * `: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. + * `:serviceProjectNumber` (*type:* `String.t`) - The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api. * `opts` (*type:* `keyword()`) - Call options ## Returns @@ -92,7 +93,8 @@ defmodule GoogleApi.Compute.V1.Api.ServiceAttachments do :maxResults => :query, :orderBy => :query, :pageToken => :query, - :returnPartialSuccess => :query + :returnPartialSuccess => :query, + :serviceProjectNumber => :query } request = @@ -467,11 +469,11 @@ defmodule GoogleApi.Compute.V1.Api.ServiceAttachments do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. + * `: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 diff --git a/clients/compute/lib/google_api/compute/v1/api/snapshot_settings.ex b/clients/compute/lib/google_api/compute/v1/api/snapshot_settings.ex new file mode 100644 index 0000000000..26312b255d --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/api/snapshot_settings.ex @@ -0,0 +1,157 @@ +# 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.SnapshotSettings do + @moduledoc """ + API calls for all endpoints tagged `SnapshotSettings`. + """ + + alias GoogleApi.Compute.V1.Connection + alias GoogleApi.Gax.{Request, Response} + + @library_version Mix.Project.config() |> Keyword.get(:version, "") + + @doc """ + Get snapshot settings. + + ## Parameters + + * `connection` (*type:* `GoogleApi.Compute.V1.Connection.t`) - Connection to server + * `project` (*type:* `String.t`) - Project ID for this request. + * `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.SnapshotSettings{}}` on success + * `{:error, info}` on failure + """ + @spec compute_snapshot_settings_get(Tesla.Env.client(), String.t(), keyword(), keyword()) :: + {:ok, GoogleApi.Compute.V1.Model.SnapshotSettings.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def compute_snapshot_settings_get(connection, project, 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}/global/snapshotSettings", %{ + "project" => URI.encode(project, &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.SnapshotSettings{}]) + end + + @doc """ + Patch snapshot settings. + + ## Parameters + + * `connection` (*type:* `GoogleApi.Compute.V1.Connection.t`) - Connection to server + * `project` (*type:* `String.t`) - Project ID for this request. + * `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). + * `:updateMask` (*type:* `String.t`) - update_mask indicates fields to be updated as part of this request. + * `:body` (*type:* `GoogleApi.Compute.V1.Model.SnapshotSettings.t`) - + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.Compute.V1.Model.Operation{}}` on success + * `{:error, info}` on failure + """ + @spec compute_snapshot_settings_patch(Tesla.Env.client(), String.t(), keyword(), keyword()) :: + {:ok, GoogleApi.Compute.V1.Model.Operation.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def compute_snapshot_settings_patch(connection, project, 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, + :updateMask => :query, + :body => :body + } + + request = + Request.new() + |> Request.method(:patch) + |> Request.url("/projects/{project}/global/snapshotSettings", %{ + "project" => URI.encode(project, &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 +end diff --git a/clients/compute/lib/google_api/compute/v1/api/snapshots.ex b/clients/compute/lib/google_api/compute/v1/api/snapshots.ex index da0b89fa80..e3ed997430 100644 --- a/clients/compute/lib/google_api/compute/v1/api/snapshots.ex +++ b/clients/compute/lib/google_api/compute/v1/api/snapshots.ex @@ -92,7 +92,7 @@ defmodule GoogleApi.Compute.V1.Api.Snapshots do end @doc """ - Returns the specified Snapshot resource. Gets a list of available snapshots by making a list() request. + Returns the specified Snapshot resource. ## Parameters @@ -319,11 +319,11 @@ defmodule GoogleApi.Compute.V1.Api.Snapshots do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. + * `: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 diff --git a/clients/compute/lib/google_api/compute/v1/api/ssl_certificates.ex b/clients/compute/lib/google_api/compute/v1/api/ssl_certificates.ex index 8c8da9dae1..1628cf941f 100644 --- a/clients/compute/lib/google_api/compute/v1/api/ssl_certificates.ex +++ b/clients/compute/lib/google_api/compute/v1/api/ssl_certificates.ex @@ -26,7 +26,7 @@ defmodule GoogleApi.Compute.V1.Api.SslCertificates do @library_version Mix.Project.config() |> Keyword.get(:version, "") @doc """ - Retrieves the list of all SslCertificate resources, regional and global, available to the specified project. + Retrieves the list of all SslCertificate resources, regional and global, available to the specified project. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. ## Parameters @@ -45,12 +45,13 @@ defmodule GoogleApi.Compute.V1.Api.SslCertificates do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. * `:includeAllScopes` (*type:* `boolean()`) - Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included. * `: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. + * `: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. + * `:serviceProjectNumber` (*type:* `String.t`) - The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api. * `opts` (*type:* `keyword()`) - Call options ## Returns @@ -92,7 +93,8 @@ defmodule GoogleApi.Compute.V1.Api.SslCertificates do :maxResults => :query, :orderBy => :query, :pageToken => :query, - :returnPartialSuccess => :query + :returnPartialSuccess => :query, + :serviceProjectNumber => :query } request = @@ -190,7 +192,7 @@ defmodule GoogleApi.Compute.V1.Api.SslCertificates do end @doc """ - Returns the specified SslCertificate resource. Gets a list of available SSL certificates by making a list() request. + Returns the specified SslCertificate resource. ## Parameters @@ -351,11 +353,11 @@ defmodule GoogleApi.Compute.V1.Api.SslCertificates do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. + * `: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 diff --git a/clients/compute/lib/google_api/compute/v1/api/ssl_policies.ex b/clients/compute/lib/google_api/compute/v1/api/ssl_policies.ex index 4e585ef170..5589f9171c 100644 --- a/clients/compute/lib/google_api/compute/v1/api/ssl_policies.ex +++ b/clients/compute/lib/google_api/compute/v1/api/ssl_policies.ex @@ -26,7 +26,7 @@ defmodule GoogleApi.Compute.V1.Api.SslPolicies do @library_version Mix.Project.config() |> Keyword.get(:version, "") @doc """ - Retrieves the list of all SslPolicy resources, regional and global, available to the specified project. + Retrieves the list of all SslPolicy resources, regional and global, available to the specified project. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. ## Parameters @@ -45,12 +45,13 @@ defmodule GoogleApi.Compute.V1.Api.SslPolicies do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. * `:includeAllScopes` (*type:* `boolean()`) - Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included. * `: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. + * `: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. + * `:serviceProjectNumber` (*type:* `String.t`) - The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api. * `opts` (*type:* `keyword()`) - Call options ## Returns @@ -82,7 +83,8 @@ defmodule GoogleApi.Compute.V1.Api.SslPolicies do :maxResults => :query, :orderBy => :query, :pageToken => :query, - :returnPartialSuccess => :query + :returnPartialSuccess => :query, + :serviceProjectNumber => :query } request = @@ -242,7 +244,7 @@ defmodule GoogleApi.Compute.V1.Api.SslPolicies do end @doc """ - Returns the specified SSL policy resource. Gets a list of available SSL policies by making a list() request. + Returns the specified SSL policy resource. ## Parameters @@ -327,11 +329,11 @@ defmodule GoogleApi.Compute.V1.Api.SslPolicies do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. + * `: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 @@ -399,11 +401,11 @@ defmodule GoogleApi.Compute.V1.Api.SslPolicies do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. + * `: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 diff --git a/clients/compute/lib/google_api/compute/v1/api/storage_pool_types.ex b/clients/compute/lib/google_api/compute/v1/api/storage_pool_types.ex new file mode 100644 index 0000000000..6895115e02 --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/api/storage_pool_types.ex @@ -0,0 +1,282 @@ +# 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.StoragePoolTypes do + @moduledoc """ + API calls for all endpoints tagged `StoragePoolTypes`. + """ + + alias GoogleApi.Compute.V1.Connection + alias GoogleApi.Gax.{Request, Response} + + @library_version Mix.Project.config() |> Keyword.get(:version, "") + + @doc """ + Retrieves an aggregated list of storage pool types. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. + + ## Parameters + + * `connection` (*type:* `GoogleApi.Compute.V1.Connection.t`) - Connection to server + * `project` (*type:* `String.t`) - Project ID for this request. + * `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. + * `:includeAllScopes` (*type:* `boolean()`) - Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included. + * `: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. + * `:serviceProjectNumber` (*type:* `String.t`) - The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api. + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.Compute.V1.Model.StoragePoolTypeAggregatedList{}}` on success + * `{:error, info}` on failure + """ + @spec compute_storage_pool_types_aggregated_list( + Tesla.Env.client(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.Compute.V1.Model.StoragePoolTypeAggregatedList.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def compute_storage_pool_types_aggregated_list( + connection, + project, + 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, + :includeAllScopes => :query, + :maxResults => :query, + :orderBy => :query, + :pageToken => :query, + :returnPartialSuccess => :query, + :serviceProjectNumber => :query + } + + request = + Request.new() + |> Request.method(:get) + |> Request.url("/projects/{project}/aggregated/storagePoolTypes", %{ + "project" => URI.encode(project, &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.StoragePoolTypeAggregatedList{}] + ) + end + + @doc """ + Returns the specified storage pool type. + + ## 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 for this request. + * `storage_pool_type` (*type:* `String.t`) - Name of the storage pool type to return. + * `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.StoragePoolType{}}` on success + * `{:error, info}` on failure + """ + @spec compute_storage_pool_types_get( + Tesla.Env.client(), + String.t(), + String.t(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.Compute.V1.Model.StoragePoolType.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def compute_storage_pool_types_get( + connection, + project, + zone, + storage_pool_type, + 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}/storagePoolTypes/{storagePoolType}", %{ + "project" => URI.encode(project, &URI.char_unreserved?/1), + "zone" => URI.encode(zone, &URI.char_unreserved?/1), + "storagePoolType" => + URI.encode(storage_pool_type, &(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.StoragePoolType{}]) + end + + @doc """ + Retrieves a list of storage pool types available to the specified project. + + ## 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 for this request. + * `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.StoragePoolTypeList{}}` on success + * `{:error, info}` on failure + """ + @spec compute_storage_pool_types_list( + Tesla.Env.client(), + String.t(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.Compute.V1.Model.StoragePoolTypeList.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def compute_storage_pool_types_list( + connection, + project, + zone, + 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}/storagePoolTypes", %{ + "project" => URI.encode(project, &URI.char_unreserved?/1), + "zone" => URI.encode(zone, &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.StoragePoolTypeList{}]) + end +end diff --git a/clients/compute/lib/google_api/compute/v1/api/storage_pools.ex b/clients/compute/lib/google_api/compute/v1/api/storage_pools.ex new file mode 100644 index 0000000000..93f0001206 --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/api/storage_pools.ex @@ -0,0 +1,854 @@ +# 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.StoragePools do + @moduledoc """ + API calls for all endpoints tagged `StoragePools`. + """ + + alias GoogleApi.Compute.V1.Connection + alias GoogleApi.Gax.{Request, Response} + + @library_version Mix.Project.config() |> Keyword.get(:version, "") + + @doc """ + Retrieves an aggregated list of storage pools. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. + + ## Parameters + + * `connection` (*type:* `GoogleApi.Compute.V1.Connection.t`) - Connection to server + * `project` (*type:* `String.t`) - Project ID for this request. + * `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. + * `:includeAllScopes` (*type:* `boolean()`) - Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included. + * `: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. + * `:serviceProjectNumber` (*type:* `String.t`) - The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api. + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.Compute.V1.Model.StoragePoolAggregatedList{}}` on success + * `{:error, info}` on failure + """ + @spec compute_storage_pools_aggregated_list( + Tesla.Env.client(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.Compute.V1.Model.StoragePoolAggregatedList.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def compute_storage_pools_aggregated_list( + connection, + project, + 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, + :includeAllScopes => :query, + :maxResults => :query, + :orderBy => :query, + :pageToken => :query, + :returnPartialSuccess => :query, + :serviceProjectNumber => :query + } + + request = + Request.new() + |> Request.method(:get) + |> Request.url("/projects/{project}/aggregated/storagePools", %{ + "project" => URI.encode(project, &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.StoragePoolAggregatedList{}]) + end + + @doc """ + Deletes the specified storage pool. Deleting a storagePool removes its data permanently and is irreversible. However, deleting a storagePool does not delete any snapshots previously made from the storagePool. You must separately delete snapshots. + + ## 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 for this request. + * `storage_pool` (*type:* `String.t`) - Name of the storage pool to delete. + * `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_storage_pools_delete( + 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_storage_pools_delete( + connection, + project, + zone, + storage_pool, + 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}/storagePools/{storagePool}", %{ + "project" => URI.encode(project, &URI.char_unreserved?/1), + "zone" => URI.encode(zone, &URI.char_unreserved?/1), + "storagePool" => URI.encode(storage_pool, &(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 a specified storage pool. Gets a list of available storage pools by making a list() 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`) - The name of the zone for this request. + * `storage_pool` (*type:* `String.t`) - Name of the storage pool to return. + * `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.StoragePool{}}` on success + * `{:error, info}` on failure + """ + @spec compute_storage_pools_get( + Tesla.Env.client(), + String.t(), + String.t(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.Compute.V1.Model.StoragePool.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def compute_storage_pools_get( + connection, + project, + zone, + storage_pool, + 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}/storagePools/{storagePool}", %{ + "project" => URI.encode(project, &URI.char_unreserved?/1), + "zone" => URI.encode(zone, &URI.char_unreserved?/1), + "storagePool" => URI.encode(storage_pool, &(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.StoragePool{}]) + end + + @doc """ + Gets the access control policy for a resource. May be empty if no such policy or resource exists. + + ## 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 for this request. + * `resource` (*type:* `String.t`) - Name or id of the resource for this request. + * `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`. + * `:optionsRequestedPolicyVersion` (*type:* `integer()`) - Requested IAM Policy version. + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.Compute.V1.Model.Policy{}}` on success + * `{:error, info}` on failure + """ + @spec compute_storage_pools_get_iam_policy( + Tesla.Env.client(), + String.t(), + String.t(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.Compute.V1.Model.Policy.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def compute_storage_pools_get_iam_policy( + connection, + project, + zone, + resource, + 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, + :optionsRequestedPolicyVersion => :query + } + + request = + Request.new() + |> Request.method(:get) + |> Request.url("/projects/{project}/zones/{zone}/storagePools/{resource}/getIamPolicy", %{ + "project" => URI.encode(project, &URI.char_unreserved?/1), + "zone" => URI.encode(zone, &URI.char_unreserved?/1), + "resource" => URI.encode(resource, &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.Policy{}]) + end + + @doc """ + Creates a storage pool in the specified project using the data in the 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`) - The name of the zone for this request. + * `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.StoragePool.t`) - + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.Compute.V1.Model.Operation{}}` on success + * `{:error, info}` on failure + """ + @spec compute_storage_pools_insert( + Tesla.Env.client(), + String.t(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.Compute.V1.Model.Operation.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def compute_storage_pools_insert(connection, project, zone, 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}/storagePools", %{ + "project" => URI.encode(project, &URI.char_unreserved?/1), + "zone" => URI.encode(zone, &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 storage pools contained within the specified zone. + + ## 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 for this request. + * `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.StoragePoolList{}}` on success + * `{:error, info}` on failure + """ + @spec compute_storage_pools_list( + Tesla.Env.client(), + String.t(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.Compute.V1.Model.StoragePoolList.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def compute_storage_pools_list(connection, project, zone, 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}/storagePools", %{ + "project" => URI.encode(project, &URI.char_unreserved?/1), + "zone" => URI.encode(zone, &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.StoragePoolList{}]) + end + + @doc """ + Lists the disks in a specified storage pool. + + ## 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 for this request. + * `storage_pool` (*type:* `String.t`) - Name of the storage pool to list disks of. + * `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.StoragePoolListDisks{}}` on success + * `{:error, info}` on failure + """ + @spec compute_storage_pools_list_disks( + Tesla.Env.client(), + String.t(), + String.t(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.Compute.V1.Model.StoragePoolListDisks.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def compute_storage_pools_list_disks( + connection, + project, + zone, + storage_pool, + 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}/storagePools/{storagePool}/listDisks", %{ + "project" => URI.encode(project, &URI.char_unreserved?/1), + "zone" => URI.encode(zone, &URI.char_unreserved?/1), + "storagePool" => URI.encode(storage_pool, &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.StoragePoolListDisks{}]) + end + + @doc """ + Sets the access control policy on the specified resource. Replaces any existing policy. + + ## 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 for this request. + * `resource` (*type:* `String.t`) - Name or id of the resource for this request. + * `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`. + * `:body` (*type:* `GoogleApi.Compute.V1.Model.ZoneSetPolicyRequest.t`) - + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.Compute.V1.Model.Policy{}}` on success + * `{:error, info}` on failure + """ + @spec compute_storage_pools_set_iam_policy( + Tesla.Env.client(), + String.t(), + String.t(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.Compute.V1.Model.Policy.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def compute_storage_pools_set_iam_policy( + connection, + project, + zone, + resource, + 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, + :body => :body + } + + request = + Request.new() + |> Request.method(:post) + |> Request.url("/projects/{project}/zones/{zone}/storagePools/{resource}/setIamPolicy", %{ + "project" => URI.encode(project, &URI.char_unreserved?/1), + "zone" => URI.encode(zone, &URI.char_unreserved?/1), + "resource" => URI.encode(resource, &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.Policy{}]) + end + + @doc """ + Returns permissions that a caller has on the specified resource. + + ## 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 for this request. + * `resource` (*type:* `String.t`) - Name or id of the resource for this request. + * `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`. + * `:body` (*type:* `GoogleApi.Compute.V1.Model.TestPermissionsRequest.t`) - + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.Compute.V1.Model.TestPermissionsResponse{}}` on success + * `{:error, info}` on failure + """ + @spec compute_storage_pools_test_iam_permissions( + Tesla.Env.client(), + String.t(), + String.t(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.Compute.V1.Model.TestPermissionsResponse.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def compute_storage_pools_test_iam_permissions( + connection, + project, + zone, + resource, + 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, + :body => :body + } + + request = + Request.new() + |> Request.method(:post) + |> Request.url( + "/projects/{project}/zones/{zone}/storagePools/{resource}/testIamPermissions", + %{ + "project" => URI.encode(project, &URI.char_unreserved?/1), + "zone" => URI.encode(zone, &URI.char_unreserved?/1), + "resource" => URI.encode(resource, &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.TestPermissionsResponse{}]) + end + + @doc """ + Updates the specified storagePool with the data included in the request. The update is performed only on selected fields included as part of update-mask. Only the following fields can be modified: size_tb and provisioned_iops. + + ## 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 for this request. + * `storage_pool` (*type:* `String.t`) - The storagePool name for this request. + * `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). + * `:updateMask` (*type:* `String.t`) - update_mask indicates fields to be updated as part of this request. + * `:body` (*type:* `GoogleApi.Compute.V1.Model.StoragePool.t`) - + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.Compute.V1.Model.Operation{}}` on success + * `{:error, info}` on failure + """ + @spec compute_storage_pools_update( + 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_storage_pools_update( + connection, + project, + zone, + storage_pool, + 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, + :updateMask => :query, + :body => :body + } + + request = + Request.new() + |> Request.method(:patch) + |> Request.url("/projects/{project}/zones/{zone}/storagePools/{storagePool}", %{ + "project" => URI.encode(project, &URI.char_unreserved?/1), + "zone" => URI.encode(zone, &URI.char_unreserved?/1), + "storagePool" => URI.encode(storage_pool, &(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 +end diff --git a/clients/compute/lib/google_api/compute/v1/api/subnetworks.ex b/clients/compute/lib/google_api/compute/v1/api/subnetworks.ex index 3bb301a053..30a7c73a47 100644 --- a/clients/compute/lib/google_api/compute/v1/api/subnetworks.ex +++ b/clients/compute/lib/google_api/compute/v1/api/subnetworks.ex @@ -26,7 +26,7 @@ defmodule GoogleApi.Compute.V1.Api.Subnetworks do @library_version Mix.Project.config() |> Keyword.get(:version, "") @doc """ - Retrieves an aggregated list of subnetworks. + Retrieves an aggregated list of subnetworks. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. ## Parameters @@ -45,12 +45,13 @@ defmodule GoogleApi.Compute.V1.Api.Subnetworks do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. * `:includeAllScopes` (*type:* `boolean()`) - Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included. * `: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. + * `: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. + * `:serviceProjectNumber` (*type:* `String.t`) - The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api. * `opts` (*type:* `keyword()`) - Call options ## Returns @@ -82,7 +83,8 @@ defmodule GoogleApi.Compute.V1.Api.Subnetworks do :maxResults => :query, :orderBy => :query, :pageToken => :query, - :returnPartialSuccess => :query + :returnPartialSuccess => :query, + :serviceProjectNumber => :query } request = @@ -269,7 +271,7 @@ defmodule GoogleApi.Compute.V1.Api.Subnetworks do end @doc """ - Returns the specified subnetwork. Gets a list of available subnetworks list() request. + Returns the specified subnetwork. ## Parameters @@ -528,11 +530,11 @@ defmodule GoogleApi.Compute.V1.Api.Subnetworks do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. + * `: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 @@ -601,11 +603,11 @@ defmodule GoogleApi.Compute.V1.Api.Subnetworks do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. + * `: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 diff --git a/clients/compute/lib/google_api/compute/v1/api/target_grpc_proxies.ex b/clients/compute/lib/google_api/compute/v1/api/target_grpc_proxies.ex index 62299a1610..8cd1c88c34 100644 --- a/clients/compute/lib/google_api/compute/v1/api/target_grpc_proxies.ex +++ b/clients/compute/lib/google_api/compute/v1/api/target_grpc_proxies.ex @@ -267,11 +267,11 @@ defmodule GoogleApi.Compute.V1.Api.TargetGrpcProxies do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. + * `: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 diff --git a/clients/compute/lib/google_api/compute/v1/api/target_http_proxies.ex b/clients/compute/lib/google_api/compute/v1/api/target_http_proxies.ex index 0b7f128dd5..1ecd323f5b 100644 --- a/clients/compute/lib/google_api/compute/v1/api/target_http_proxies.ex +++ b/clients/compute/lib/google_api/compute/v1/api/target_http_proxies.ex @@ -26,7 +26,7 @@ defmodule GoogleApi.Compute.V1.Api.TargetHttpProxies do @library_version Mix.Project.config() |> Keyword.get(:version, "") @doc """ - Retrieves the list of all TargetHttpProxy resources, regional and global, available to the specified project. + Retrieves the list of all TargetHttpProxy resources, regional and global, available to the specified project. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. ## Parameters @@ -45,12 +45,13 @@ defmodule GoogleApi.Compute.V1.Api.TargetHttpProxies do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. * `:includeAllScopes` (*type:* `boolean()`) - Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included. * `: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. + * `: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. + * `:serviceProjectNumber` (*type:* `String.t`) - The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api. * `opts` (*type:* `keyword()`) - Call options ## Returns @@ -92,7 +93,8 @@ defmodule GoogleApi.Compute.V1.Api.TargetHttpProxies do :maxResults => :query, :orderBy => :query, :pageToken => :query, - :returnPartialSuccess => :query + :returnPartialSuccess => :query, + :serviceProjectNumber => :query } request = @@ -191,7 +193,7 @@ defmodule GoogleApi.Compute.V1.Api.TargetHttpProxies do end @doc """ - Returns the specified TargetHttpProxy resource. Gets a list of available target HTTP proxies by making a list() request. + Returns the specified TargetHttpProxy resource. ## Parameters @@ -353,11 +355,11 @@ defmodule GoogleApi.Compute.V1.Api.TargetHttpProxies do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. + * `: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 diff --git a/clients/compute/lib/google_api/compute/v1/api/target_https_proxies.ex b/clients/compute/lib/google_api/compute/v1/api/target_https_proxies.ex index 05f2c3837d..fb0489e81e 100644 --- a/clients/compute/lib/google_api/compute/v1/api/target_https_proxies.ex +++ b/clients/compute/lib/google_api/compute/v1/api/target_https_proxies.ex @@ -26,7 +26,7 @@ defmodule GoogleApi.Compute.V1.Api.TargetHttpsProxies do @library_version Mix.Project.config() |> Keyword.get(:version, "") @doc """ - Retrieves the list of all TargetHttpsProxy resources, regional and global, available to the specified project. + Retrieves the list of all TargetHttpsProxy resources, regional and global, available to the specified project. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. ## Parameters @@ -45,12 +45,13 @@ defmodule GoogleApi.Compute.V1.Api.TargetHttpsProxies do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. * `:includeAllScopes` (*type:* `boolean()`) - Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included. * `: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. + * `: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. + * `:serviceProjectNumber` (*type:* `String.t`) - The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api. * `opts` (*type:* `keyword()`) - Call options ## Returns @@ -92,7 +93,8 @@ defmodule GoogleApi.Compute.V1.Api.TargetHttpsProxies do :maxResults => :query, :orderBy => :query, :pageToken => :query, - :returnPartialSuccess => :query + :returnPartialSuccess => :query, + :serviceProjectNumber => :query } request = @@ -191,7 +193,7 @@ defmodule GoogleApi.Compute.V1.Api.TargetHttpsProxies do end @doc """ - Returns the specified TargetHttpsProxy resource. Gets a list of available target HTTPS proxies by making a list() request. + Returns the specified TargetHttpsProxy resource. ## Parameters @@ -353,11 +355,11 @@ defmodule GoogleApi.Compute.V1.Api.TargetHttpsProxies do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. + * `: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 diff --git a/clients/compute/lib/google_api/compute/v1/api/target_instances.ex b/clients/compute/lib/google_api/compute/v1/api/target_instances.ex index e21fad7e1b..becb8f09df 100644 --- a/clients/compute/lib/google_api/compute/v1/api/target_instances.ex +++ b/clients/compute/lib/google_api/compute/v1/api/target_instances.ex @@ -26,7 +26,7 @@ defmodule GoogleApi.Compute.V1.Api.TargetInstances do @library_version Mix.Project.config() |> Keyword.get(:version, "") @doc """ - Retrieves an aggregated list of target instances. + Retrieves an aggregated list of target instances. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. ## Parameters @@ -45,12 +45,13 @@ defmodule GoogleApi.Compute.V1.Api.TargetInstances do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. * `:includeAllScopes` (*type:* `boolean()`) - Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included. * `: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. + * `: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. + * `:serviceProjectNumber` (*type:* `String.t`) - The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api. * `opts` (*type:* `keyword()`) - Call options ## Returns @@ -92,7 +93,8 @@ defmodule GoogleApi.Compute.V1.Api.TargetInstances do :maxResults => :query, :orderBy => :query, :pageToken => :query, - :returnPartialSuccess => :query + :returnPartialSuccess => :query, + :serviceProjectNumber => :query } request = @@ -194,7 +196,7 @@ defmodule GoogleApi.Compute.V1.Api.TargetInstances do end @doc """ - Returns the specified TargetInstance resource. Gets a list of available target instances by making a list() request. + Returns the specified TargetInstance resource. ## Parameters @@ -374,11 +376,11 @@ defmodule GoogleApi.Compute.V1.Api.TargetInstances do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. + * `: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 @@ -432,4 +434,91 @@ defmodule GoogleApi.Compute.V1.Api.TargetInstances do |> Connection.execute(request) |> Response.decode(opts ++ [struct: %GoogleApi.Compute.V1.Model.TargetInstanceList{}]) end + + @doc """ + Sets the Google Cloud Armor security policy for the specified target instance. For more information, see Google Cloud Armor Overview + + ## 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 zone scoping this request. + * `target_instance` (*type:* `String.t`) - Name of the TargetInstance resource to which the security policy should be set. 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`. + * `: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.SecurityPolicyReference.t`) - + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.Compute.V1.Model.Operation{}}` on success + * `{:error, info}` on failure + """ + @spec compute_target_instances_set_security_policy( + 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_target_instances_set_security_policy( + connection, + project, + zone, + target_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, + :userIp => :query, + :requestId => :query, + :body => :body + } + + request = + Request.new() + |> Request.method(:post) + |> Request.url( + "/projects/{project}/zones/{zone}/targetInstances/{targetInstance}/setSecurityPolicy", + %{ + "project" => URI.encode(project, &URI.char_unreserved?/1), + "zone" => URI.encode(zone, &URI.char_unreserved?/1), + "targetInstance" => URI.encode(target_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.Compute.V1.Model.Operation{}]) + end end diff --git a/clients/compute/lib/google_api/compute/v1/api/target_pools.ex b/clients/compute/lib/google_api/compute/v1/api/target_pools.ex index 16271e0c28..03c37e6694 100644 --- a/clients/compute/lib/google_api/compute/v1/api/target_pools.ex +++ b/clients/compute/lib/google_api/compute/v1/api/target_pools.ex @@ -200,7 +200,7 @@ defmodule GoogleApi.Compute.V1.Api.TargetPools do end @doc """ - Retrieves an aggregated list of target pools. + Retrieves an aggregated list of target pools. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. ## Parameters @@ -219,12 +219,13 @@ defmodule GoogleApi.Compute.V1.Api.TargetPools do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. * `:includeAllScopes` (*type:* `boolean()`) - Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included. * `: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. + * `: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. + * `:serviceProjectNumber` (*type:* `String.t`) - The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api. * `opts` (*type:* `keyword()`) - Call options ## Returns @@ -256,7 +257,8 @@ defmodule GoogleApi.Compute.V1.Api.TargetPools do :maxResults => :query, :orderBy => :query, :pageToken => :query, - :returnPartialSuccess => :query + :returnPartialSuccess => :query, + :serviceProjectNumber => :query } request = @@ -356,7 +358,7 @@ defmodule GoogleApi.Compute.V1.Api.TargetPools do end @doc """ - Returns the specified target pool. Gets a list of available target pools by making a list() request. + Returns the specified target pool. ## Parameters @@ -612,11 +614,11 @@ defmodule GoogleApi.Compute.V1.Api.TargetPools do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. + * `: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 @@ -930,4 +932,91 @@ defmodule GoogleApi.Compute.V1.Api.TargetPools do |> Connection.execute(request) |> Response.decode(opts ++ [struct: %GoogleApi.Compute.V1.Model.Operation{}]) end + + @doc """ + Sets the Google Cloud Armor security policy for the specified target pool. For more information, see Google Cloud Armor Overview + + ## Parameters + + * `connection` (*type:* `GoogleApi.Compute.V1.Connection.t`) - Connection to server + * `project` (*type:* `String.t`) - Project ID for this request. + * `region` (*type:* `String.t`) - Name of the region scoping this request. + * `target_pool` (*type:* `String.t`) - Name of the TargetPool resource to which the security policy should be set. 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`. + * `: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.SecurityPolicyReference.t`) - + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.Compute.V1.Model.Operation{}}` on success + * `{:error, info}` on failure + """ + @spec compute_target_pools_set_security_policy( + 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_target_pools_set_security_policy( + connection, + project, + region, + target_pool, + 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}/regions/{region}/targetPools/{targetPool}/setSecurityPolicy", + %{ + "project" => URI.encode(project, &URI.char_unreserved?/1), + "region" => URI.encode(region, &URI.char_unreserved?/1), + "targetPool" => URI.encode(target_pool, &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 end diff --git a/clients/compute/lib/google_api/compute/v1/api/target_ssl_proxies.ex b/clients/compute/lib/google_api/compute/v1/api/target_ssl_proxies.ex index 40de8cbc90..d380a29118 100644 --- a/clients/compute/lib/google_api/compute/v1/api/target_ssl_proxies.ex +++ b/clients/compute/lib/google_api/compute/v1/api/target_ssl_proxies.ex @@ -104,7 +104,7 @@ defmodule GoogleApi.Compute.V1.Api.TargetSslProxies do end @doc """ - Returns the specified TargetSslProxy resource. Gets a list of available target SSL proxies by making a list() request. + Returns the specified TargetSslProxy resource. ## Parameters @@ -265,11 +265,11 @@ defmodule GoogleApi.Compute.V1.Api.TargetSslProxies do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. + * `: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 @@ -650,7 +650,7 @@ defmodule GoogleApi.Compute.V1.Api.TargetSslProxies do end @doc """ - Sets the SSL policy for TargetSslProxy. The SSL policy specifies the server-side support for SSL features. This affects connections between clients and the SSL proxy load balancer. They do not affect the connection between the load balancer and the backends. + Sets the SSL policy for TargetSslProxy. The SSL policy specifies the server-side support for SSL features. This affects connections between clients and the load balancer. They do not affect the connection between the load balancer and the backends. ## Parameters diff --git a/clients/compute/lib/google_api/compute/v1/api/target_tcp_proxies.ex b/clients/compute/lib/google_api/compute/v1/api/target_tcp_proxies.ex index 8494d8d310..618555eca9 100644 --- a/clients/compute/lib/google_api/compute/v1/api/target_tcp_proxies.ex +++ b/clients/compute/lib/google_api/compute/v1/api/target_tcp_proxies.ex @@ -26,7 +26,7 @@ defmodule GoogleApi.Compute.V1.Api.TargetTcpProxies do @library_version Mix.Project.config() |> Keyword.get(:version, "") @doc """ - Retrieves the list of all TargetTcpProxy resources, regional and global, available to the specified project. + Retrieves the list of all TargetTcpProxy resources, regional and global, available to the specified project. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. ## Parameters @@ -45,12 +45,13 @@ defmodule GoogleApi.Compute.V1.Api.TargetTcpProxies do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. * `:includeAllScopes` (*type:* `boolean()`) - Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included. * `: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. + * `: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. + * `:serviceProjectNumber` (*type:* `String.t`) - The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api. * `opts` (*type:* `keyword()`) - Call options ## Returns @@ -92,7 +93,8 @@ defmodule GoogleApi.Compute.V1.Api.TargetTcpProxies do :maxResults => :query, :orderBy => :query, :pageToken => :query, - :returnPartialSuccess => :query + :returnPartialSuccess => :query, + :serviceProjectNumber => :query } request = @@ -190,7 +192,7 @@ defmodule GoogleApi.Compute.V1.Api.TargetTcpProxies do end @doc """ - Returns the specified TargetTcpProxy resource. Gets a list of available target TCP proxies by making a list() request. + Returns the specified TargetTcpProxy resource. ## Parameters @@ -351,11 +353,11 @@ defmodule GoogleApi.Compute.V1.Api.TargetTcpProxies do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. + * `: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 diff --git a/clients/compute/lib/google_api/compute/v1/api/target_vpn_gateways.ex b/clients/compute/lib/google_api/compute/v1/api/target_vpn_gateways.ex index 1a16d735a6..92d031ea6a 100644 --- a/clients/compute/lib/google_api/compute/v1/api/target_vpn_gateways.ex +++ b/clients/compute/lib/google_api/compute/v1/api/target_vpn_gateways.ex @@ -26,7 +26,7 @@ defmodule GoogleApi.Compute.V1.Api.TargetVpnGateways do @library_version Mix.Project.config() |> Keyword.get(:version, "") @doc """ - Retrieves an aggregated list of target VPN gateways. + Retrieves an aggregated list of target VPN gateways. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. ## Parameters @@ -45,12 +45,13 @@ defmodule GoogleApi.Compute.V1.Api.TargetVpnGateways do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. * `:includeAllScopes` (*type:* `boolean()`) - Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included. * `: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. + * `: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. + * `:serviceProjectNumber` (*type:* `String.t`) - The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api. * `opts` (*type:* `keyword()`) - Call options ## Returns @@ -92,7 +93,8 @@ defmodule GoogleApi.Compute.V1.Api.TargetVpnGateways do :maxResults => :query, :orderBy => :query, :pageToken => :query, - :returnPartialSuccess => :query + :returnPartialSuccess => :query, + :serviceProjectNumber => :query } request = @@ -198,7 +200,7 @@ defmodule GoogleApi.Compute.V1.Api.TargetVpnGateways do end @doc """ - Returns the specified target VPN gateway. Gets a list of available target VPN gateways by making a list() request. + Returns the specified target VPN gateway. ## Parameters @@ -382,11 +384,11 @@ defmodule GoogleApi.Compute.V1.Api.TargetVpnGateways do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. + * `: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 diff --git a/clients/compute/lib/google_api/compute/v1/api/url_maps.ex b/clients/compute/lib/google_api/compute/v1/api/url_maps.ex index f8773a44e8..3ae66a1e30 100644 --- a/clients/compute/lib/google_api/compute/v1/api/url_maps.ex +++ b/clients/compute/lib/google_api/compute/v1/api/url_maps.ex @@ -26,7 +26,7 @@ defmodule GoogleApi.Compute.V1.Api.UrlMaps do @library_version Mix.Project.config() |> Keyword.get(:version, "") @doc """ - Retrieves the list of all UrlMap resources, regional and global, available to the specified project. + Retrieves the list of all UrlMap resources, regional and global, available to the specified project. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. ## Parameters @@ -45,12 +45,13 @@ defmodule GoogleApi.Compute.V1.Api.UrlMaps do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. * `:includeAllScopes` (*type:* `boolean()`) - Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included. * `: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. + * `: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. + * `:serviceProjectNumber` (*type:* `String.t`) - The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api. * `opts` (*type:* `keyword()`) - Call options ## Returns @@ -82,7 +83,8 @@ defmodule GoogleApi.Compute.V1.Api.UrlMaps do :maxResults => :query, :orderBy => :query, :pageToken => :query, - :returnPartialSuccess => :query + :returnPartialSuccess => :query, + :serviceProjectNumber => :query } request = @@ -166,7 +168,7 @@ defmodule GoogleApi.Compute.V1.Api.UrlMaps do end @doc """ - Returns the specified UrlMap resource. Gets a list of available URL maps by making a list() request. + Returns the specified UrlMap resource. ## Parameters @@ -395,11 +397,11 @@ defmodule GoogleApi.Compute.V1.Api.UrlMaps do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. + * `: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 diff --git a/clients/compute/lib/google_api/compute/v1/api/vpn_gateways.ex b/clients/compute/lib/google_api/compute/v1/api/vpn_gateways.ex index b7d3beafaa..1de09e893f 100644 --- a/clients/compute/lib/google_api/compute/v1/api/vpn_gateways.ex +++ b/clients/compute/lib/google_api/compute/v1/api/vpn_gateways.ex @@ -26,7 +26,7 @@ defmodule GoogleApi.Compute.V1.Api.VpnGateways do @library_version Mix.Project.config() |> Keyword.get(:version, "") @doc """ - Retrieves an aggregated list of VPN gateways. + Retrieves an aggregated list of VPN gateways. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. ## Parameters @@ -45,12 +45,13 @@ defmodule GoogleApi.Compute.V1.Api.VpnGateways do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. * `:includeAllScopes` (*type:* `boolean()`) - Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included. * `: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. + * `: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. + * `:serviceProjectNumber` (*type:* `String.t`) - The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api. * `opts` (*type:* `keyword()`) - Call options ## Returns @@ -82,7 +83,8 @@ defmodule GoogleApi.Compute.V1.Api.VpnGateways do :maxResults => :query, :orderBy => :query, :pageToken => :query, - :returnPartialSuccess => :query + :returnPartialSuccess => :query, + :serviceProjectNumber => :query } request = @@ -182,7 +184,7 @@ defmodule GoogleApi.Compute.V1.Api.VpnGateways do end @doc """ - Returns the specified VPN gateway. Gets a list of available VPN gateways by making a list() request. + Returns the specified VPN gateway. ## Parameters @@ -438,11 +440,11 @@ defmodule GoogleApi.Compute.V1.Api.VpnGateways do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. + * `: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 diff --git a/clients/compute/lib/google_api/compute/v1/api/vpn_tunnels.ex b/clients/compute/lib/google_api/compute/v1/api/vpn_tunnels.ex index 0678cc4a4b..bb0d285326 100644 --- a/clients/compute/lib/google_api/compute/v1/api/vpn_tunnels.ex +++ b/clients/compute/lib/google_api/compute/v1/api/vpn_tunnels.ex @@ -26,7 +26,7 @@ defmodule GoogleApi.Compute.V1.Api.VpnTunnels do @library_version Mix.Project.config() |> Keyword.get(:version, "") @doc """ - Retrieves an aggregated list of VPN tunnels. + Retrieves an aggregated list of VPN tunnels. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. ## Parameters @@ -45,12 +45,13 @@ defmodule GoogleApi.Compute.V1.Api.VpnTunnels do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. * `:includeAllScopes` (*type:* `boolean()`) - Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included. * `: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. + * `: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. + * `:serviceProjectNumber` (*type:* `String.t`) - The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api. * `opts` (*type:* `keyword()`) - Call options ## Returns @@ -82,7 +83,8 @@ defmodule GoogleApi.Compute.V1.Api.VpnTunnels do :maxResults => :query, :orderBy => :query, :pageToken => :query, - :returnPartialSuccess => :query + :returnPartialSuccess => :query, + :serviceProjectNumber => :query } request = @@ -182,7 +184,7 @@ defmodule GoogleApi.Compute.V1.Api.VpnTunnels do end @doc """ - Returns the specified VpnTunnel resource. Gets a list of available VPN tunnels by making a list() request. + Returns the specified VpnTunnel resource. ## Parameters @@ -356,11 +358,11 @@ defmodule GoogleApi.Compute.V1.Api.VpnTunnels do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. + * `: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 diff --git a/clients/compute/lib/google_api/compute/v1/api/zone_operations.ex b/clients/compute/lib/google_api/compute/v1/api/zone_operations.ex index f7408a1767..7cb7ccedd4 100644 --- a/clients/compute/lib/google_api/compute/v1/api/zone_operations.ex +++ b/clients/compute/lib/google_api/compute/v1/api/zone_operations.ex @@ -202,11 +202,11 @@ defmodule GoogleApi.Compute.V1.Api.ZoneOperations do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. + * `: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 diff --git a/clients/compute/lib/google_api/compute/v1/api/zones.ex b/clients/compute/lib/google_api/compute/v1/api/zones.ex index 073c298fdc..ce1062972c 100644 --- a/clients/compute/lib/google_api/compute/v1/api/zones.ex +++ b/clients/compute/lib/google_api/compute/v1/api/zones.ex @@ -26,7 +26,7 @@ defmodule GoogleApi.Compute.V1.Api.Zones do @library_version Mix.Project.config() |> Keyword.get(:version, "") @doc """ - Returns the specified Zone resource. Gets a list of available zones by making a list() request. + Returns the specified Zone resource. ## Parameters @@ -109,11 +109,11 @@ defmodule GoogleApi.Compute.V1.Api.Zones do * `: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. 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 `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. 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`. + * `: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. + * `: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 diff --git a/clients/compute/lib/google_api/compute/v1/metadata.ex b/clients/compute/lib/google_api/compute/v1/metadata.ex index 8d02a21f05..c31a08c0fa 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 "20221026" + @discovery_revision "20240227" def discovery_revision(), do: @discovery_revision end diff --git a/clients/compute/lib/google_api/compute/v1/model/access_config.ex b/clients/compute/lib/google_api/compute/v1/model/access_config.ex index c46a2ac02a..56b9bf0721 100644 --- a/clients/compute/lib/google_api/compute/v1/model/access_config.ex +++ b/clients/compute/lib/google_api/compute/v1/model/access_config.ex @@ -21,15 +21,16 @@ defmodule GoogleApi.Compute.V1.Model.AccessConfig do ## Attributes - * `externalIpv6` (*type:* `String.t`, *default:* `nil`) - The first IPv6 address of the external IPv6 range associated with this instance, prefix length is stored in externalIpv6PrefixLength in ipv6AccessConfig. The field is output only, an IPv6 address from a subnetwork associated with the instance will be allocated dynamically. - * `externalIpv6PrefixLength` (*type:* `integer()`, *default:* `nil`) - The prefix length of the external IPv6 range. + * `externalIpv6` (*type:* `String.t`, *default:* `nil`) - Applies to ipv6AccessConfigs only. The first IPv6 address of the external IPv6 range associated with this instance, prefix length is stored in externalIpv6PrefixLength in ipv6AccessConfig. To use a static external IP address, it must be unused and in the same region as the instance's zone. If not specified, Google Cloud will automatically assign an external IPv6 address from the instance's subnetwork. + * `externalIpv6PrefixLength` (*type:* `integer()`, *default:* `nil`) - Applies to ipv6AccessConfigs only. The prefix length of the external IPv6 range. * `kind` (*type:* `String.t`, *default:* `compute#accessConfig`) - [Output Only] Type of the resource. Always compute#accessConfig for access configs. - * `name` (*type:* `String.t`, *default:* `nil`) - The name of this access configuration. The default and recommended name is External NAT, but you can use any arbitrary string, such as My external IP or Network Access. - * `natIP` (*type:* `String.t`, *default:* `nil`) - An external IP address associated with this instance. Specify an unused static external IP address available to the project or leave this field undefined to use an IP from a shared ephemeral IP address pool. If you specify a static external IP address, it must live in the same region as the zone of the instance. + * `name` (*type:* `String.t`, *default:* `nil`) - The name of this access configuration. In accessConfigs (IPv4), the default and recommended name is External NAT, but you can use any arbitrary string, such as My external IP or Network Access. In ipv6AccessConfigs, the recommend name is External IPv6. + * `natIP` (*type:* `String.t`, *default:* `nil`) - Applies to accessConfigs (IPv4) only. An external IP address associated with this instance. Specify an unused static external IP address available to the project or leave this field undefined to use an IP from a shared ephemeral IP address pool. If you specify a static external IP address, it must live in the same region as the zone of the instance. * `networkTier` (*type:* `String.t`, *default:* `nil`) - This signifies the networking tier used for configuring this access configuration and can only take the following values: PREMIUM, STANDARD. If an AccessConfig is specified without a valid external IP address, an ephemeral IP will be created with this networkTier. If an AccessConfig with a valid external IP address is specified, it must match that of the networkTier associated with the Address resource owning that IP. * `publicPtrDomainName` (*type:* `String.t`, *default:* `nil`) - The DNS domain name for the public PTR record. You can set this field only if the `setPublicPtr` field is enabled in accessConfig. If this field is unspecified in ipv6AccessConfig, a default PTR record will be createc for first IP in associated external IPv6 range. + * `securityPolicy` (*type:* `String.t`, *default:* `nil`) - [Output Only] The resource URL for the security policy associated with this access config. * `setPublicPtr` (*type:* `boolean()`, *default:* `nil`) - Specifies whether a public DNS 'PTR' record should be created to map the external IP address of the instance to a DNS domain name. This field is not used in ipv6AccessConfig. A default PTR record will be created if the VM has external IPv6 range associated. - * `type` (*type:* `String.t`, *default:* `ONE_TO_ONE_NAT`) - The type of configuration. The default and only option is ONE_TO_ONE_NAT. + * `type` (*type:* `String.t`, *default:* `nil`) - The type of configuration. In accessConfigs (IPv4), the default and only option is ONE_TO_ONE_NAT. In ipv6AccessConfigs, the default and only option is DIRECT_IPV6. """ use GoogleApi.Gax.ModelBase @@ -42,6 +43,7 @@ defmodule GoogleApi.Compute.V1.Model.AccessConfig do :natIP => String.t() | nil, :networkTier => String.t() | nil, :publicPtrDomainName => String.t() | nil, + :securityPolicy => String.t() | nil, :setPublicPtr => boolean() | nil, :type => String.t() | nil } @@ -53,6 +55,7 @@ defmodule GoogleApi.Compute.V1.Model.AccessConfig do field(:natIP) field(:networkTier) field(:publicPtrDomainName) + field(:securityPolicy) field(:setPublicPtr) field(:type) end diff --git a/clients/compute/lib/google_api/compute/v1/model/address.ex b/clients/compute/lib/google_api/compute/v1/model/address.ex index 2381b14cbd..66cc92ca85 100644 --- a/clients/compute/lib/google_api/compute/v1/model/address.ex +++ b/clients/compute/lib/google_api/compute/v1/model/address.ex @@ -26,9 +26,11 @@ defmodule GoogleApi.Compute.V1.Model.Address do * `creationTimestamp` (*type:* `String.t`, *default:* `nil`) - [Output Only] Creation timestamp in RFC3339 text format. * `description` (*type:* `String.t`, *default:* `nil`) - An optional description of this resource. Provide this field when you create the resource. * `id` (*type:* `String.t`, *default:* `nil`) - [Output Only] The unique identifier for the resource. This identifier is defined by the server. - * `ipVersion` (*type:* `String.t`, *default:* `nil`) - The IP version that will be used by this address. Valid options are IPV4 or IPV6. This can only be specified for a global address. + * `ipVersion` (*type:* `String.t`, *default:* `nil`) - The IP version that will be used by this address. Valid options are IPV4 or IPV6. * `ipv6EndpointType` (*type:* `String.t`, *default:* `nil`) - The endpoint type of this address, which should be VM or NETLB. This is used for deciding which type of endpoint this address can be used after the external IPv6 address reservation. * `kind` (*type:* `String.t`, *default:* `compute#address`) - [Output Only] Type of the resource. Always compute#address for addresses. + * `labelFingerprint` (*type:* `String.t`, *default:* `nil`) - A fingerprint for the labels being applied to this Address, which is essentially a hash of the labels set used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve an Address. + * `labels` (*type:* `map()`, *default:* `nil`) - Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty. * `name` (*type:* `String.t`, *default:* `nil`) - Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?`. The first character must be a lowercase letter, and all following characters (except for the last character) must be a dash, lowercase letter, or digit. The last character must be a lowercase letter or digit. * `network` (*type:* `String.t`, *default:* `nil`) - The URL of the network in which to reserve the address. This field can only be used with INTERNAL type with the VPC_PEERING purpose. * `networkTier` (*type:* `String.t`, *default:* `nil`) - This signifies the networking tier used for configuring this address and can only take the following values: PREMIUM or STANDARD. Internal IP addresses are always Premium Tier; global external IP addresses are always Premium Tier; regional external IP addresses can be either Standard or Premium Tier. If this field is not specified, it is assumed to be PREMIUM. @@ -52,6 +54,8 @@ defmodule GoogleApi.Compute.V1.Model.Address do :ipVersion => String.t() | nil, :ipv6EndpointType => String.t() | nil, :kind => String.t() | nil, + :labelFingerprint => String.t() | nil, + :labels => map() | nil, :name => String.t() | nil, :network => String.t() | nil, :networkTier => String.t() | nil, @@ -72,6 +76,8 @@ defmodule GoogleApi.Compute.V1.Model.Address do field(:ipVersion) field(:ipv6EndpointType) field(:kind) + field(:labelFingerprint) + field(:labels, type: :map) field(:name) field(:network) field(:networkTier) diff --git a/clients/compute/lib/google_api/compute/v1/model/allocation_aggregate_reservation.ex b/clients/compute/lib/google_api/compute/v1/model/allocation_aggregate_reservation.ex new file mode 100644 index 0000000000..9a95e4f0b5 --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/allocation_aggregate_reservation.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.AllocationAggregateReservation do + @moduledoc """ + This reservation type is specified by total resource amounts (e.g. total count of CPUs) and can account for multiple instance SKUs. In other words, one can create instances of varying shapes against this reservation. + + ## Attributes + + * `inUseResources` (*type:* `list(GoogleApi.Compute.V1.Model.AllocationAggregateReservationReservedResourceInfo.t)`, *default:* `nil`) - [Output only] List of resources currently in use. + * `reservedResources` (*type:* `list(GoogleApi.Compute.V1.Model.AllocationAggregateReservationReservedResourceInfo.t)`, *default:* `nil`) - List of reserved resources (CPUs, memory, accelerators). + * `vmFamily` (*type:* `String.t`, *default:* `nil`) - The VM family that all instances scheduled against this reservation must belong to. + * `workloadType` (*type:* `String.t`, *default:* `nil`) - The workload type of the instances that will target this reservation. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :inUseResources => + list( + GoogleApi.Compute.V1.Model.AllocationAggregateReservationReservedResourceInfo.t() + ) + | nil, + :reservedResources => + list( + GoogleApi.Compute.V1.Model.AllocationAggregateReservationReservedResourceInfo.t() + ) + | nil, + :vmFamily => String.t() | nil, + :workloadType => String.t() | nil + } + + field(:inUseResources, + as: GoogleApi.Compute.V1.Model.AllocationAggregateReservationReservedResourceInfo, + type: :list + ) + + field(:reservedResources, + as: GoogleApi.Compute.V1.Model.AllocationAggregateReservationReservedResourceInfo, + type: :list + ) + + field(:vmFamily) + field(:workloadType) +end + +defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.AllocationAggregateReservation do + def decode(value, options) do + GoogleApi.Compute.V1.Model.AllocationAggregateReservation.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.AllocationAggregateReservation 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/allocation_aggregate_reservation_reserved_resource_info.ex b/clients/compute/lib/google_api/compute/v1/model/allocation_aggregate_reservation_reserved_resource_info.ex new file mode 100644 index 0000000000..9fc3055c3a --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/allocation_aggregate_reservation_reserved_resource_info.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.AllocationAggregateReservationReservedResourceInfo do + @moduledoc """ + + + ## Attributes + + * `accelerator` (*type:* `GoogleApi.Compute.V1.Model.AllocationAggregateReservationReservedResourceInfoAccelerator.t`, *default:* `nil`) - Properties of accelerator resources in this reservation. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :accelerator => + GoogleApi.Compute.V1.Model.AllocationAggregateReservationReservedResourceInfoAccelerator.t() + | nil + } + + field(:accelerator, + as: GoogleApi.Compute.V1.Model.AllocationAggregateReservationReservedResourceInfoAccelerator + ) +end + +defimpl Poison.Decoder, + for: GoogleApi.Compute.V1.Model.AllocationAggregateReservationReservedResourceInfo do + def decode(value, options) do + GoogleApi.Compute.V1.Model.AllocationAggregateReservationReservedResourceInfo.decode( + value, + options + ) + end +end + +defimpl Poison.Encoder, + for: GoogleApi.Compute.V1.Model.AllocationAggregateReservationReservedResourceInfo 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/allocation_aggregate_reservation_reserved_resource_info_accelerator.ex b/clients/compute/lib/google_api/compute/v1/model/allocation_aggregate_reservation_reserved_resource_info_accelerator.ex new file mode 100644 index 0000000000..081faead97 --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/allocation_aggregate_reservation_reserved_resource_info_accelerator.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.AllocationAggregateReservationReservedResourceInfoAccelerator do + @moduledoc """ + + + ## Attributes + + * `acceleratorCount` (*type:* `integer()`, *default:* `nil`) - Number of accelerators of specified type. + * `acceleratorType` (*type:* `String.t`, *default:* `nil`) - Full or partial URL to accelerator type. e.g. "projects/{PROJECT}/zones/{ZONE}/acceleratorTypes/ct4l" + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :acceleratorCount => integer() | nil, + :acceleratorType => String.t() | nil + } + + field(:acceleratorCount) + field(:acceleratorType) +end + +defimpl Poison.Decoder, + for: GoogleApi.Compute.V1.Model.AllocationAggregateReservationReservedResourceInfoAccelerator do + def decode(value, options) do + GoogleApi.Compute.V1.Model.AllocationAggregateReservationReservedResourceInfoAccelerator.decode( + value, + options + ) + end +end + +defimpl Poison.Encoder, + for: GoogleApi.Compute.V1.Model.AllocationAggregateReservationReservedResourceInfoAccelerator 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/allocation_resource_status.ex b/clients/compute/lib/google_api/compute/v1/model/allocation_resource_status.ex new file mode 100644 index 0000000000..924e17b50d --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/allocation_resource_status.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.Compute.V1.Model.AllocationResourceStatus do + @moduledoc """ + [Output Only] Contains output only fields. + + ## Attributes + + * `specificSkuAllocation` (*type:* `GoogleApi.Compute.V1.Model.AllocationResourceStatusSpecificSKUAllocation.t`, *default:* `nil`) - Allocation Properties of this reservation. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :specificSkuAllocation => + GoogleApi.Compute.V1.Model.AllocationResourceStatusSpecificSKUAllocation.t() | nil + } + + field(:specificSkuAllocation, + as: GoogleApi.Compute.V1.Model.AllocationResourceStatusSpecificSKUAllocation + ) +end + +defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.AllocationResourceStatus do + def decode(value, options) do + GoogleApi.Compute.V1.Model.AllocationResourceStatus.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.AllocationResourceStatus 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/allocation_resource_status_specific_sku_allocation.ex b/clients/compute/lib/google_api/compute/v1/model/allocation_resource_status_specific_sku_allocation.ex new file mode 100644 index 0000000000..531bef7d79 --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/allocation_resource_status_specific_sku_allocation.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.Compute.V1.Model.AllocationResourceStatusSpecificSKUAllocation do + @moduledoc """ + Contains Properties set for the reservation. + + ## Attributes + + * `sourceInstanceTemplateId` (*type:* `String.t`, *default:* `nil`) - ID of the instance template used to populate reservation properties. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :sourceInstanceTemplateId => String.t() | nil + } + + field(:sourceInstanceTemplateId) +end + +defimpl Poison.Decoder, + for: GoogleApi.Compute.V1.Model.AllocationResourceStatusSpecificSKUAllocation do + def decode(value, options) do + GoogleApi.Compute.V1.Model.AllocationResourceStatusSpecificSKUAllocation.decode( + value, + options + ) + end +end + +defimpl Poison.Encoder, + for: GoogleApi.Compute.V1.Model.AllocationResourceStatusSpecificSKUAllocation 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/allocation_specific_sku_reservation.ex b/clients/compute/lib/google_api/compute/v1/model/allocation_specific_sku_reservation.ex index 99d065c3df..95965717ac 100644 --- a/clients/compute/lib/google_api/compute/v1/model/allocation_specific_sku_reservation.ex +++ b/clients/compute/lib/google_api/compute/v1/model/allocation_specific_sku_reservation.ex @@ -25,6 +25,7 @@ defmodule GoogleApi.Compute.V1.Model.AllocationSpecificSKUReservation do * `count` (*type:* `String.t`, *default:* `nil`) - Specifies the number of resources that are allocated. * `inUseCount` (*type:* `String.t`, *default:* `nil`) - [Output Only] Indicates how many instances are in use. * `instanceProperties` (*type:* `GoogleApi.Compute.V1.Model.AllocationSpecificSKUAllocationReservedInstanceProperties.t`, *default:* `nil`) - The instance properties for the reservation. + * `sourceInstanceTemplate` (*type:* `String.t`, *default:* `nil`) - Specifies the instance template to create the reservation. If you use this field, you must exclude the instanceProperties field. This field is optional, and it can be a full or partial URL. For example, the following are all valid URLs to an instance template: - https://www.googleapis.com/compute/v1/projects/project /global/instanceTemplates/instanceTemplate - projects/project/global/instanceTemplates/instanceTemplate - global/instanceTemplates/instanceTemplate """ use GoogleApi.Gax.ModelBase @@ -35,7 +36,8 @@ defmodule GoogleApi.Compute.V1.Model.AllocationSpecificSKUReservation do :inUseCount => String.t() | nil, :instanceProperties => GoogleApi.Compute.V1.Model.AllocationSpecificSKUAllocationReservedInstanceProperties.t() - | nil + | nil, + :sourceInstanceTemplate => String.t() | nil } field(:assuredCount) @@ -45,6 +47,8 @@ defmodule GoogleApi.Compute.V1.Model.AllocationSpecificSKUReservation do field(:instanceProperties, as: GoogleApi.Compute.V1.Model.AllocationSpecificSKUAllocationReservedInstanceProperties ) + + field(:sourceInstanceTemplate) end defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.AllocationSpecificSKUReservation do diff --git a/clients/compute/lib/google_api/compute/v1/model/attached_disk.ex b/clients/compute/lib/google_api/compute/v1/model/attached_disk.ex index 332d53a496..4b5879919b 100644 --- a/clients/compute/lib/google_api/compute/v1/model/attached_disk.ex +++ b/clients/compute/lib/google_api/compute/v1/model/attached_disk.ex @@ -35,6 +35,7 @@ defmodule GoogleApi.Compute.V1.Model.AttachedDisk do * `kind` (*type:* `String.t`, *default:* `compute#attachedDisk`) - [Output Only] Type of the resource. Always compute#attachedDisk for attached disks. * `licenses` (*type:* `list(String.t)`, *default:* `nil`) - [Output Only] Any valid publicly visible licenses. * `mode` (*type:* `String.t`, *default:* `nil`) - The mode in which to attach this disk, either READ_WRITE or READ_ONLY. If not specified, the default is to attach the disk in READ_WRITE mode. + * `savedState` (*type:* `String.t`, *default:* `nil`) - For LocalSSD disks on VM Instances in STOPPED or SUSPENDED state, this field is set to PRESERVED if the LocalSSD data has been saved to a persistent location by customer request. (see the discard_local_ssd option on Stop/Suspend). Read-only in the api. * `shieldedInstanceInitialState` (*type:* `GoogleApi.Compute.V1.Model.InitialStateConfig.t`, *default:* `nil`) - [Output Only] shielded vm initial state stored on disk * `source` (*type:* `String.t`, *default:* `nil`) - Specifies a valid partial or full URL to an existing Persistent Disk resource. When creating a new instance, one of initializeParams.sourceImage or initializeParams.sourceSnapshot or disks.source is required except for local SSD. If desired, you can also attach existing non-root persistent disks using this property. This field is only applicable for persistent disks. Note that for InstanceTemplate, specify the disk name for zonal disk, and the URL for regional disk. * `type` (*type:* `String.t`, *default:* `nil`) - Specifies the type of the disk, either SCRATCH or PERSISTENT. If not specified, the default is PERSISTENT. @@ -57,6 +58,7 @@ defmodule GoogleApi.Compute.V1.Model.AttachedDisk do :kind => String.t() | nil, :licenses => list(String.t()) | nil, :mode => String.t() | nil, + :savedState => String.t() | nil, :shieldedInstanceInitialState => GoogleApi.Compute.V1.Model.InitialStateConfig.t() | nil, :source => String.t() | nil, @@ -77,6 +79,7 @@ defmodule GoogleApi.Compute.V1.Model.AttachedDisk do field(:kind) field(:licenses, type: :list) field(:mode) + field(:savedState) field(:shieldedInstanceInitialState, as: GoogleApi.Compute.V1.Model.InitialStateConfig) field(:source) field(:type) diff --git a/clients/compute/lib/google_api/compute/v1/model/attached_disk_initialize_params.ex b/clients/compute/lib/google_api/compute/v1/model/attached_disk_initialize_params.ex index 19a2be2110..7f0dde7f11 100644 --- a/clients/compute/lib/google_api/compute/v1/model/attached_disk_initialize_params.ex +++ b/clients/compute/lib/google_api/compute/v1/model/attached_disk_initialize_params.ex @@ -26,16 +26,20 @@ defmodule GoogleApi.Compute.V1.Model.AttachedDiskInitializeParams do * `diskName` (*type:* `String.t`, *default:* `nil`) - Specifies the disk name. If not specified, the default is to use the name of the instance. If a disk with the same name already exists in the given region, the existing disk is attached to the new instance and the new disk is not created. * `diskSizeGb` (*type:* `String.t`, *default:* `nil`) - Specifies the size of the disk in base-2 GB. The size must be at least 10 GB. If you specify a sourceImage, which is required for boot disks, the default size is the size of the sourceImage. If you do not specify a sourceImage, the default disk size is 500 GB. * `diskType` (*type:* `String.t`, *default:* `nil`) - Specifies the disk type to use to create the instance. If not specified, the default is pd-standard, specified using the full URL. For example: https://www.googleapis.com/compute/v1/projects/project/zones/zone /diskTypes/pd-standard For a full list of acceptable values, see Persistent disk types. If you specify this field when creating a VM, you can provide either the full or partial URL. For example, the following values are valid: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /diskTypes/diskType - projects/project/zones/zone/diskTypes/diskType - zones/zone/diskTypes/diskType If you specify this field when creating or updating an instance template or all-instances configuration, specify the type of the disk, not the URL. For example: pd-standard. + * `enableConfidentialCompute` (*type:* `boolean()`, *default:* `nil`) - Whether this disk is using confidential compute mode. * `labels` (*type:* `map()`, *default:* `nil`) - Labels to apply to this disk. These can be later modified by the disks.setLabels method. This field is only applicable for persistent disks. * `licenses` (*type:* `list(String.t)`, *default:* `nil`) - A list of publicly visible licenses. Reserved for Google's use. * `onUpdateAction` (*type:* `String.t`, *default:* `nil`) - Specifies which action to take on instance update with this disk. Default is to use the existing disk. * `provisionedIops` (*type:* `String.t`, *default:* `nil`) - Indicates how many IOPS to provision for the disk. This sets the number of I/O operations per second that the disk can handle. Values must be between 10,000 and 120,000. For more details, see the Extreme persistent disk documentation. + * `provisionedThroughput` (*type:* `String.t`, *default:* `nil`) - Indicates how much throughput to provision for the disk. This sets the number of throughput mb per second that the disk can handle. Values must greater than or equal to 1. + * `replicaZones` (*type:* `list(String.t)`, *default:* `nil`) - Required for each regional disk associated with the instance. Specify the URLs of the zones where the disk should be replicated to. You must provide exactly two replica zones, and one zone must be the same as the instance zone. * `resourceManagerTags` (*type:* `map()`, *default:* `nil`) - Resource manager tags to be bound to the disk. Tag keys and values have the same definition as resource manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and values are in the format `tagValues/456`. The field is ignored (both PUT & PATCH) when empty. * `resourcePolicies` (*type:* `list(String.t)`, *default:* `nil`) - Resource policies applied to this disk for automatic snapshot creations. Specified using the full or partial URL. For instance template, specify only the resource policy name. * `sourceImage` (*type:* `String.t`, *default:* `nil`) - The source image to create this disk. When creating a new instance, one of initializeParams.sourceImage or initializeParams.sourceSnapshot or disks.source is required except for local SSD. To create a disk with one of the public operating system images, specify the image by its family name. For example, specify family/debian-9 to use the latest Debian 9 image: projects/debian-cloud/global/images/family/debian-9 Alternatively, use a specific version of a public operating system image: projects/debian-cloud/global/images/debian-9-stretch-vYYYYMMDD To create a disk with a custom image that you created, specify the image name in the following format: global/images/my-custom-image You can also specify a custom image by its image family, which returns the latest version of the image in that family. Replace the image name with family/family-name: global/images/family/my-image-family If the source image is deleted later, this field will not be set. * `sourceImageEncryptionKey` (*type:* `GoogleApi.Compute.V1.Model.CustomerEncryptionKey.t`, *default:* `nil`) - The customer-supplied encryption key of the source image. Required if the source image is protected by a customer-supplied encryption key. InstanceTemplate and InstancePropertiesPatch do not store customer-supplied encryption keys, so you cannot create disks for instances in a managed instance group if the source images are encrypted with your own keys. * `sourceSnapshot` (*type:* `String.t`, *default:* `nil`) - The source snapshot to create this disk. When creating a new instance, one of initializeParams.sourceSnapshot or initializeParams.sourceImage or disks.source is required except for local SSD. To create a disk with a snapshot that you created, specify the snapshot name in the following format: global/snapshots/my-backup If the source snapshot is deleted later, this field will not be set. * `sourceSnapshotEncryptionKey` (*type:* `GoogleApi.Compute.V1.Model.CustomerEncryptionKey.t`, *default:* `nil`) - The customer-supplied encryption key of the source snapshot. + * `storagePool` (*type:* `String.t`, *default:* `nil`) - The storage pool in which the new disk is created. You can provide this as a partial or full URL to the resource. For example, the following are valid values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /storagePools/storagePool - projects/project/zones/zone/storagePools/storagePool - zones/zone/storagePools/storagePool """ use GoogleApi.Gax.ModelBase @@ -46,17 +50,21 @@ defmodule GoogleApi.Compute.V1.Model.AttachedDiskInitializeParams do :diskName => String.t() | nil, :diskSizeGb => String.t() | nil, :diskType => String.t() | nil, + :enableConfidentialCompute => boolean() | nil, :labels => map() | nil, :licenses => list(String.t()) | nil, :onUpdateAction => String.t() | nil, :provisionedIops => String.t() | nil, + :provisionedThroughput => String.t() | nil, + :replicaZones => list(String.t()) | nil, :resourceManagerTags => map() | nil, :resourcePolicies => list(String.t()) | nil, :sourceImage => String.t() | nil, :sourceImageEncryptionKey => GoogleApi.Compute.V1.Model.CustomerEncryptionKey.t() | nil, :sourceSnapshot => String.t() | nil, :sourceSnapshotEncryptionKey => - GoogleApi.Compute.V1.Model.CustomerEncryptionKey.t() | nil + GoogleApi.Compute.V1.Model.CustomerEncryptionKey.t() | nil, + :storagePool => String.t() | nil } field(:architecture) @@ -64,16 +72,20 @@ defmodule GoogleApi.Compute.V1.Model.AttachedDiskInitializeParams do field(:diskName) field(:diskSizeGb) field(:diskType) + field(:enableConfidentialCompute) field(:labels, type: :map) field(:licenses, type: :list) field(:onUpdateAction) field(:provisionedIops) + field(:provisionedThroughput) + field(:replicaZones, type: :list) field(:resourceManagerTags, type: :map) field(:resourcePolicies, type: :list) field(:sourceImage) field(:sourceImageEncryptionKey, as: GoogleApi.Compute.V1.Model.CustomerEncryptionKey) field(:sourceSnapshot) field(:sourceSnapshotEncryptionKey, as: GoogleApi.Compute.V1.Model.CustomerEncryptionKey) + field(:storagePool) end defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.AttachedDiskInitializeParams do diff --git a/clients/compute/lib/google_api/compute/v1/model/autoscaling_policy.ex b/clients/compute/lib/google_api/compute/v1/model/autoscaling_policy.ex index c6788422e4..8978cf3b04 100644 --- a/clients/compute/lib/google_api/compute/v1/model/autoscaling_policy.ex +++ b/clients/compute/lib/google_api/compute/v1/model/autoscaling_policy.ex @@ -21,13 +21,13 @@ defmodule GoogleApi.Compute.V1.Model.AutoscalingPolicy do ## Attributes - * `coolDownPeriodSec` (*type:* `integer()`, *default:* `nil`) - The number of seconds that the autoscaler waits before it starts collecting information from a new instance. This prevents the autoscaler from collecting information when the instance is initializing, during which the collected usage would not be reliable. The default time autoscaler waits is 60 seconds. Virtual machine initialization times might vary because of numerous factors. We recommend that you test how long an instance may take to initialize. To do this, create an instance and time the startup process. + * `coolDownPeriodSec` (*type:* `integer()`, *default:* `nil`) - The number of seconds that your application takes to initialize on a VM instance. This is referred to as the [initialization period](/compute/docs/autoscaler#cool_down_period). Specifying an accurate initialization period improves autoscaler decisions. For example, when scaling out, the autoscaler ignores data from VMs that are still initializing because those VMs might not yet represent normal usage of your application. The default initialization period is 60 seconds. Initialization periods might vary because of numerous factors. We recommend that you test how long your application takes to initialize. To do this, create a VM and time your application's startup process. * `cpuUtilization` (*type:* `GoogleApi.Compute.V1.Model.AutoscalingPolicyCpuUtilization.t`, *default:* `nil`) - Defines the CPU utilization policy that allows the autoscaler to scale based on the average CPU utilization of a managed instance group. * `customMetricUtilizations` (*type:* `list(GoogleApi.Compute.V1.Model.AutoscalingPolicyCustomMetricUtilization.t)`, *default:* `nil`) - Configuration parameters of autoscaling based on a custom metric. * `loadBalancingUtilization` (*type:* `GoogleApi.Compute.V1.Model.AutoscalingPolicyLoadBalancingUtilization.t`, *default:* `nil`) - Configuration parameters of autoscaling based on load balancer. * `maxNumReplicas` (*type:* `integer()`, *default:* `nil`) - The maximum number of instances that the autoscaler can scale out to. This is required when creating or updating an autoscaler. The maximum number of replicas must not be lower than minimal number of replicas. * `minNumReplicas` (*type:* `integer()`, *default:* `nil`) - The minimum number of replicas that the autoscaler can scale in to. This cannot be less than 0. If not provided, autoscaler chooses a default value depending on maximum number of instances allowed. - * `mode` (*type:* `String.t`, *default:* `nil`) - Defines operating mode for this policy. + * `mode` (*type:* `String.t`, *default:* `nil`) - Defines the operating mode for this policy. The following modes are available: - OFF: Disables the autoscaler but maintains its configuration. - ONLY_SCALE_OUT: Restricts the autoscaler to add VM instances only. - ON: Enables all autoscaler activities according to its policy. For more information, see "Turning off or restricting an autoscaler" * `scaleInControl` (*type:* `GoogleApi.Compute.V1.Model.AutoscalingPolicyScaleInControl.t`, *default:* `nil`) - * `scalingSchedules` (*type:* `%{optional(String.t) => GoogleApi.Compute.V1.Model.AutoscalingPolicyScalingSchedule.t}`, *default:* `nil`) - Scaling schedules defined for an autoscaler. Multiple schedules can be set on an autoscaler, and they can overlap. During overlapping periods the greatest min_required_replicas of all scaling schedules is applied. Up to 128 scaling schedules are allowed. """ diff --git a/clients/compute/lib/google_api/compute/v1/model/autoscaling_policy_scaling_schedule.ex b/clients/compute/lib/google_api/compute/v1/model/autoscaling_policy_scaling_schedule.ex index f857f6480d..05ee04551b 100644 --- a/clients/compute/lib/google_api/compute/v1/model/autoscaling_policy_scaling_schedule.ex +++ b/clients/compute/lib/google_api/compute/v1/model/autoscaling_policy_scaling_schedule.ex @@ -26,7 +26,7 @@ defmodule GoogleApi.Compute.V1.Model.AutoscalingPolicyScalingSchedule do * `durationSec` (*type:* `integer()`, *default:* `nil`) - The duration of time intervals, in seconds, for which this scaling schedule is to run. The minimum allowed value is 300. This field is required. * `minRequiredReplicas` (*type:* `integer()`, *default:* `nil`) - The minimum number of VM instances that the autoscaler will recommend in time intervals starting according to schedule. This field is required. * `schedule` (*type:* `String.t`, *default:* `nil`) - The start timestamps of time intervals when this scaling schedule is to provide a scaling signal. This field uses the extended cron format (with an optional year field). The expression can describe a single timestamp if the optional year is set, in which case the scaling schedule runs once. The schedule is interpreted with respect to time_zone. This field is required. Note: These timestamps only describe when autoscaler starts providing the scaling signal. The VMs need additional time to become serving. - * `timeZone` (*type:* `String.t`, *default:* `nil`) - The time zone to use when interpreting the schedule. The value of this field must be a time zone name from the tz database: http://en.wikipedia.org/wiki/Tz_database. This field is assigned a default value of “UTC” if left empty. + * `timeZone` (*type:* `String.t`, *default:* `nil`) - The time zone to use when interpreting the schedule. The value of this field must be a time zone name from the tz database: https://en.wikipedia.org/wiki/Tz_database. This field is assigned a default value of "UTC" if left empty. """ use GoogleApi.Gax.ModelBase diff --git a/clients/compute/lib/google_api/compute/v1/model/awsv4_signature.ex b/clients/compute/lib/google_api/compute/v1/model/awsv4_signature.ex new file mode 100644 index 0000000000..26d5fa9e83 --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/awsv4_signature.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.AWSV4Signature do + @moduledoc """ + Contains the configurations necessary to generate a signature for access to private storage buckets that support Signature Version 4 for authentication. The service name for generating the authentication header will always default to 's3'. + + ## Attributes + + * `accessKey` (*type:* `String.t`, *default:* `nil`) - The access key used for s3 bucket authentication. Required for updating or creating a backend that uses AWS v4 signature authentication, but will not be returned as part of the configuration when queried with a REST API GET request. @InputOnly + * `accessKeyId` (*type:* `String.t`, *default:* `nil`) - The identifier of an access key used for s3 bucket authentication. + * `accessKeyVersion` (*type:* `String.t`, *default:* `nil`) - The optional version identifier for the access key. You can use this to keep track of different iterations of your access key. + * `originRegion` (*type:* `String.t`, *default:* `nil`) - The name of the cloud region of your origin. This is a free-form field with the name of the region your cloud uses to host your origin. For example, "us-east-1" for AWS or "us-ashburn-1" for OCI. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :accessKey => String.t() | nil, + :accessKeyId => String.t() | nil, + :accessKeyVersion => String.t() | nil, + :originRegion => String.t() | nil + } + + field(:accessKey) + field(:accessKeyId) + field(:accessKeyVersion) + field(:originRegion) +end + +defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.AWSV4Signature do + def decode(value, options) do + GoogleApi.Compute.V1.Model.AWSV4Signature.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.AWSV4Signature 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/backend.ex b/clients/compute/lib/google_api/compute/v1/model/backend.ex index 1a69417858..2d82105d3c 100644 --- a/clients/compute/lib/google_api/compute/v1/model/backend.ex +++ b/clients/compute/lib/google_api/compute/v1/model/backend.ex @@ -22,7 +22,7 @@ defmodule GoogleApi.Compute.V1.Model.Backend do ## Attributes * `balancingMode` (*type:* `String.t`, *default:* `nil`) - Specifies how to determine whether the backend of a load balancer can handle additional traffic or is fully loaded. For usage guidelines, see Connection balancing mode. Backends must use compatible balancing modes. For more information, see Supported balancing modes and target capacity settings and Restrictions and guidance for instance groups. Note: Currently, if you use the API to configure incompatible balancing modes, the configuration might be accepted even though it has no impact and is ignored. Specifically, Backend.maxUtilization is ignored when Backend.balancingMode is RATE. In the future, this incompatible combination will be rejected. - * `capacityScaler` (*type:* `number()`, *default:* `nil`) - A multiplier applied to the backend's target capacity of its balancing mode. The default value is 1, which means the group serves up to 100% of its configured capacity (depending on balancingMode). A setting of 0 means the group is completely drained, offering 0% of its available capacity. The valid ranges are 0.0 and [0.1,1.0]. You cannot configure a setting larger than 0 and smaller than 0.1. You cannot configure a setting of 0 when there is only one backend attached to the backend service. + * `capacityScaler` (*type:* `number()`, *default:* `nil`) - A multiplier applied to the backend's target capacity of its balancing mode. The default value is 1, which means the group serves up to 100% of its configured capacity (depending on balancingMode). A setting of 0 means the group is completely drained, offering 0% of its available capacity. The valid ranges are 0.0 and [0.1,1.0]. You cannot configure a setting larger than 0 and smaller than 0.1. You cannot configure a setting of 0 when there is only one backend attached to the backend service. Not available with backends that don't support using a balancingMode. This includes backends such as global internet NEGs, regional serverless NEGs, and PSC NEGs. * `description` (*type:* `String.t`, *default:* `nil`) - An optional description of this resource. Provide this property when you create the resource. * `failover` (*type:* `boolean()`, *default:* `nil`) - This field designates whether this is a failover backend. More than one failover backend can be configured for a given BackendService. * `group` (*type:* `String.t`, *default:* `nil`) - The fully-qualified URL of an instance group or network endpoint group (NEG) resource. To determine what types of backends a load balancer supports, see the [Backend services overview](https://cloud.google.com/load-balancing/docs/backend-service#backends). You must use the *fully-qualified* URL (starting with https://www.googleapis.com/) to specify the instance group or NEG. Partial URLs are not supported. @@ -33,6 +33,7 @@ defmodule GoogleApi.Compute.V1.Model.Backend do * `maxRatePerEndpoint` (*type:* `number()`, *default:* `nil`) - Defines a maximum target for requests per second (RPS). For usage guidelines, see Rate balancing mode and Utilization balancing mode. Not available if the backend's balancingMode is CONNECTION. * `maxRatePerInstance` (*type:* `number()`, *default:* `nil`) - Defines a maximum target for requests per second (RPS). For usage guidelines, see Rate balancing mode and Utilization balancing mode. Not available if the backend's balancingMode is CONNECTION. * `maxUtilization` (*type:* `number()`, *default:* `nil`) - Optional parameter to define a target capacity for the UTILIZATION balancing mode. The valid range is [0.0, 1.0]. For usage guidelines, see Utilization balancing mode. + * `preference` (*type:* `String.t`, *default:* `nil`) - This field indicates whether this backend should be fully utilized before sending traffic to backends with default preference. The possible values are: - PREFERRED: Backends with this preference level will be filled up to their capacity limits first, based on RTT. - DEFAULT: If preferred backends don't have enough capacity, backends in this layer would be used and traffic would be assigned based on the load balancing algorithm you use. This is the default """ use GoogleApi.Gax.ModelBase @@ -49,7 +50,8 @@ defmodule GoogleApi.Compute.V1.Model.Backend do :maxRate => integer() | nil, :maxRatePerEndpoint => number() | nil, :maxRatePerInstance => number() | nil, - :maxUtilization => number() | nil + :maxUtilization => number() | nil, + :preference => String.t() | nil } field(:balancingMode) @@ -64,6 +66,7 @@ defmodule GoogleApi.Compute.V1.Model.Backend do field(:maxRatePerEndpoint) field(:maxRatePerInstance) field(:maxUtilization) + field(:preference) end defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.Backend do diff --git a/clients/compute/lib/google_api/compute/v1/model/backend_bucket.ex b/clients/compute/lib/google_api/compute/v1/model/backend_bucket.ex index 2a81f919d0..3f20c1316b 100644 --- a/clients/compute/lib/google_api/compute/v1/model/backend_bucket.ex +++ b/clients/compute/lib/google_api/compute/v1/model/backend_bucket.ex @@ -25,7 +25,7 @@ defmodule GoogleApi.Compute.V1.Model.BackendBucket do * `cdnPolicy` (*type:* `GoogleApi.Compute.V1.Model.BackendBucketCdnPolicy.t`, *default:* `nil`) - Cloud CDN configuration for this BackendBucket. * `compressionMode` (*type:* `String.t`, *default:* `nil`) - Compress text responses using Brotli or gzip compression, based on the client's Accept-Encoding header. * `creationTimestamp` (*type:* `String.t`, *default:* `nil`) - [Output Only] Creation timestamp in RFC3339 text format. - * `customResponseHeaders` (*type:* `list(String.t)`, *default:* `nil`) - Headers that the HTTP/S load balancer should add to proxied responses. + * `customResponseHeaders` (*type:* `list(String.t)`, *default:* `nil`) - Headers that the Application Load Balancer should add to proxied responses. * `description` (*type:* `String.t`, *default:* `nil`) - An optional textual description of the resource; provided by the client when the resource is created. * `edgeSecurityPolicy` (*type:* `String.t`, *default:* `nil`) - [Output Only] The resource URL for the edge security policy associated with this backend bucket. * `enableCdn` (*type:* `boolean()`, *default:* `nil`) - If true, enable Cloud CDN for this BackendBucket. diff --git a/clients/compute/lib/google_api/compute/v1/model/backend_service.ex b/clients/compute/lib/google_api/compute/v1/model/backend_service.ex index 49832f0132..e449045e6b 100644 --- a/clients/compute/lib/google_api/compute/v1/model/backend_service.ex +++ b/clients/compute/lib/google_api/compute/v1/model/backend_service.ex @@ -21,15 +21,17 @@ defmodule GoogleApi.Compute.V1.Model.BackendService do ## Attributes - * `port` (*type:* `integer()`, *default:* `nil`) - Deprecated in favor of portName. The TCP port to connect on the backend. The default value is 80. For Internal TCP/UDP Load Balancing and Network Load Balancing, omit port. + * `port` (*type:* `integer()`, *default:* `nil`) - Deprecated in favor of portName. The TCP port to connect on the backend. The default value is 80. For internal passthrough Network Load Balancers and external passthrough Network Load Balancers, omit port. + * `metadatas` (*type:* `map()`, *default:* `nil`) - Deployment metadata associated with the resource to be set by a GKE hub controller and read by the backend RCTH * `protocol` (*type:* `String.t`, *default:* `nil`) - The protocol this BackendService uses to communicate with backends. Possible values are HTTP, HTTPS, HTTP2, TCP, SSL, UDP or GRPC. depending on the chosen load balancer or Traffic Director configuration. Refer to the documentation for the load balancers or for Traffic Director for more information. Must be set to GRPC when the backend service is referenced by a URL map that is bound to target gRPC proxy. - * `enableCDN` (*type:* `boolean()`, *default:* `nil`) - If true, enables Cloud CDN for the backend service of an external HTTP(S) load balancer. + * `enableCDN` (*type:* `boolean()`, *default:* `nil`) - If true, enables Cloud CDN for the backend service of a global external Application Load Balancer. * `securitySettings` (*type:* `GoogleApi.Compute.V1.Model.SecuritySettings.t`, *default:* `nil`) - This field specifies the security settings that apply to this backend service. This field is applicable to a global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED. * `customRequestHeaders` (*type:* `list(String.t)`, *default:* `nil`) - Headers that the load balancer adds to proxied requests. See [Creating custom headers](https://cloud.google.com/load-balancing/docs/custom-headers). + * `usedBy` (*type:* `list(GoogleApi.Compute.V1.Model.BackendServiceUsedBy.t)`, *default:* `nil`) - * `subsetting` (*type:* `GoogleApi.Compute.V1.Model.Subsetting.t`, *default:* `nil`) - * `timeoutSec` (*type:* `integer()`, *default:* `nil`) - The backend service timeout has a different meaning depending on the type of load balancer. For more information see, Backend service settings. The default is 30 seconds. The full range of timeout values allowed goes from 1 through 2,147,483,647 seconds. This value can be overridden in the PathMatcher configuration of the UrlMap that references this backend service. Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. Instead, use maxStreamDuration. - * `portName` (*type:* `String.t`, *default:* `nil`) - A named port on a backend instance group representing the port for communication to the backend VMs in that group. The named port must be [defined on each backend instance group](https://cloud.google.com/load-balancing/docs/backend-service#named_ports). This parameter has no meaning if the backends are NEGs. For Internal TCP/UDP Load Balancing and Network Load Balancing, omit port_name. - * `localityLbPolicies` (*type:* `list(GoogleApi.Compute.V1.Model.BackendServiceLocalityLoadBalancingPolicyConfig.t)`, *default:* `nil`) - A list of locality load balancing policies to be used in order of preference. Either the policy or the customPolicy field should be set. Overrides any value set in the localityLbPolicy field. localityLbPolicies is only supported when the BackendService is referenced by a URL Map that is referenced by a target gRPC proxy that has the validateForProxyless field set to true. + * `portName` (*type:* `String.t`, *default:* `nil`) - A named port on a backend instance group representing the port for communication to the backend VMs in that group. The named port must be [defined on each backend instance group](https://cloud.google.com/load-balancing/docs/backend-service#named_ports). This parameter has no meaning if the backends are NEGs. For internal passthrough Network Load Balancers and external passthrough Network Load Balancers, omit port_name. + * `localityLbPolicies` (*type:* `list(GoogleApi.Compute.V1.Model.BackendServiceLocalityLoadBalancingPolicyConfig.t)`, *default:* `nil`) - A list of locality load-balancing policies to be used in order of preference. When you use localityLbPolicies, you must set at least one value for either the localityLbPolicies[].policy or the localityLbPolicies[].customPolicy field. localityLbPolicies overrides any value set in the localityLbPolicy field. For an example of how to use this field, see Define a list of preferred policies. Caution: This field and its children are intended for use in a service mesh that includes gRPC clients only. Envoy proxies can't use backend services that have this configuration. * `description` (*type:* `String.t`, *default:* `nil`) - An optional description of this resource. Provide this property when you create the resource. * `kind` (*type:* `String.t`, *default:* `compute#backendService`) - [Output Only] Type of resource. Always compute#backendService for backend services. * `sessionAffinity` (*type:* `String.t`, *default:* `nil`) - Type of session affinity to use. The default is NONE. Only NONE and HEADER_FIELD are supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. For more details, see: [Session Affinity](https://cloud.google.com/load-balancing/docs/backend-service#session_affinity). @@ -43,20 +45,21 @@ defmodule GoogleApi.Compute.V1.Model.BackendService do * `securityPolicy` (*type:* `String.t`, *default:* `nil`) - [Output Only] The resource URL for the security policy associated with this backend service. * `region` (*type:* `String.t`, *default:* `nil`) - [Output Only] URL of the region where the regional backend service resides. This field is not applicable to global backend services. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body. * `network` (*type:* `String.t`, *default:* `nil`) - The URL of the network to which this backend service belongs. This field can only be specified when the load balancing scheme is set to INTERNAL. - * `affinityCookieTtlSec` (*type:* `integer()`, *default:* `nil`) - Lifetime of cookies in seconds. This setting is applicable to external and internal HTTP(S) load balancers and Traffic Director and requires GENERATED_COOKIE or HTTP_COOKIE session affinity. If set to 0, the cookie is non-persistent and lasts only until the end of the browser session (or equivalent). The maximum allowed value is two weeks (1,209,600). Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. + * `affinityCookieTtlSec` (*type:* `integer()`, *default:* `nil`) - Lifetime of cookies in seconds. This setting is applicable to Application Load Balancers and Traffic Director and requires GENERATED_COOKIE or HTTP_COOKIE session affinity. If set to 0, the cookie is non-persistent and lasts only until the end of the browser session (or equivalent). The maximum allowed value is two weeks (1,209,600). Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. * `edgeSecurityPolicy` (*type:* `String.t`, *default:* `nil`) - [Output Only] The resource URL for the edge security policy associated with this backend service. - * `outlierDetection` (*type:* `GoogleApi.Compute.V1.Model.OutlierDetection.t`, *default:* `nil`) - Settings controlling the eviction of unhealthy hosts from the load balancing pool for the backend service. If not set, this feature is considered disabled. This field is applicable to either: - A regional backend service with the service_protocol set to HTTP, HTTPS, HTTP2, or GRPC, and load_balancing_scheme set to INTERNAL_MANAGED. - A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED. + * `outlierDetection` (*type:* `GoogleApi.Compute.V1.Model.OutlierDetection.t`, *default:* `nil`) - Settings controlling the ejection of unhealthy backend endpoints from the load balancing pool of each individual proxy instance that processes the traffic for the given backend service. If not set, this feature is considered disabled. Results of the outlier detection algorithm (ejection of endpoints from the load balancing pool and returning them back to the pool) are executed independently by each proxy instance of the load balancer. In most cases, more than one proxy instance handles the traffic received by a backend service. Thus, it is possible that an unhealthy endpoint is detected and ejected by only some of the proxies, and while this happens, other proxies may continue to send requests to the same unhealthy endpoint until they detect and eject the unhealthy endpoint. Applicable backend endpoints can be: - VM instances in an Instance Group - Endpoints in a Zonal NEG (GCE_VM_IP, GCE_VM_IP_PORT) - Endpoints in a Hybrid Connectivity NEG (NON_GCP_PRIVATE_IP_PORT) - Serverless NEGs, that resolve to Cloud Run, App Engine, or Cloud Functions Services - Private Service Connect NEGs, that resolve to Google-managed regional API endpoints or managed services published using Private Service Connect Applicable backend service types can be: - A global backend service with the loadBalancingScheme set to INTERNAL_SELF_MANAGED or EXTERNAL_MANAGED. - A regional backend service with the serviceProtocol set to HTTP, HTTPS, or HTTP2, and loadBalancingScheme set to INTERNAL_MANAGED or EXTERNAL_MANAGED. Not supported for Serverless NEGs. Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. * `loadBalancingScheme` (*type:* `String.t`, *default:* `nil`) - Specifies the load balancer type. A backend service created for one type of load balancer cannot be used with another. For more information, refer to Choosing a load balancer. * `creationTimestamp` (*type:* `String.t`, *default:* `nil`) - [Output Only] Creation timestamp in RFC3339 text format. - * `localityLbPolicy` (*type:* `String.t`, *default:* `nil`) - The load balancing algorithm used within the scope of the locality. The possible values are: - ROUND_ROBIN: This is a simple policy in which each healthy backend is selected in round robin order. This is the default. - LEAST_REQUEST: An O(1) algorithm which selects two random healthy hosts and picks the host which has fewer active requests. - RING_HASH: The ring/modulo hash load balancer implements consistent hashing to backends. The algorithm has the property that the addition/removal of a host from a set of N hosts only affects 1/N of the requests. - RANDOM: The load balancer selects a random healthy host. - ORIGINAL_DESTINATION: Backend host is selected based on the client connection metadata, i.e., connections are opened to the same address as the destination address of the incoming connection before the connection was redirected to the load balancer. - MAGLEV: used as a drop in replacement for the ring hash load balancer. Maglev is not as stable as ring hash but has faster table lookup build times and host selection times. For more information about Maglev, see https://ai.google/research/pubs/pub44824 This field is applicable to either: - A regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2, and load_balancing_scheme set to INTERNAL_MANAGED. - A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED. If sessionAffinity is not NONE, and this field is not set to MAGLEV or RING_HASH, session affinity settings will not take effect. Only ROUND_ROBIN and RING_HASH are supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. + * `localityLbPolicy` (*type:* `String.t`, *default:* `nil`) - The load balancing algorithm used within the scope of the locality. The possible values are: - ROUND_ROBIN: This is a simple policy in which each healthy backend is selected in round robin order. This is the default. - LEAST_REQUEST: An O(1) algorithm which selects two random healthy hosts and picks the host which has fewer active requests. - RING_HASH: The ring/modulo hash load balancer implements consistent hashing to backends. The algorithm has the property that the addition/removal of a host from a set of N hosts only affects 1/N of the requests. - RANDOM: The load balancer selects a random healthy host. - ORIGINAL_DESTINATION: Backend host is selected based on the client connection metadata, i.e., connections are opened to the same address as the destination address of the incoming connection before the connection was redirected to the load balancer. - MAGLEV: used as a drop in replacement for the ring hash load balancer. Maglev is not as stable as ring hash but has faster table lookup build times and host selection times. For more information about Maglev, see https://ai.google/research/pubs/pub44824 This field is applicable to either: - A regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2, and load_balancing_scheme set to INTERNAL_MANAGED. - A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED, INTERNAL_MANAGED, or EXTERNAL_MANAGED. If sessionAffinity is not NONE, and this field is not set to MAGLEV or RING_HASH, session affinity settings will not take effect. Only ROUND_ROBIN and RING_HASH are supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. * `connectionDraining` (*type:* `GoogleApi.Compute.V1.Model.ConnectionDraining.t`, *default:* `nil`) - * `logConfig` (*type:* `GoogleApi.Compute.V1.Model.BackendServiceLogConfig.t`, *default:* `nil`) - This field denotes the logging options for the load balancer traffic served by this backend service. If logging is enabled, logs will be exported to Stackdriver. - * `iap` (*type:* `GoogleApi.Compute.V1.Model.BackendServiceIAP.t`, *default:* `nil`) - The configurations for Identity-Aware Proxy on this resource. Not available for Internal TCP/UDP Load Balancing and Network Load Balancing. + * `iap` (*type:* `GoogleApi.Compute.V1.Model.BackendServiceIAP.t`, *default:* `nil`) - The configurations for Identity-Aware Proxy on this resource. Not available for internal passthrough Network Load Balancers and external passthrough Network Load Balancers. * `healthChecks` (*type:* `list(String.t)`, *default:* `nil`) - The list of URLs to the healthChecks, httpHealthChecks (legacy), or httpsHealthChecks (legacy) resource for health checking this backend service. Not all backend services support legacy health checks. See Load balancer guide. Currently, at most one health check can be specified for each backend service. Backend services with instance group or zonal NEG backends must have a health check. Backend services with internet or serverless NEG backends must not have a health check. * `id` (*type:* `String.t`, *default:* `nil`) - [Output Only] The unique identifier for the resource. This identifier is defined by the server. * `selfLink` (*type:* `String.t`, *default:* `nil`) - [Output Only] Server-defined URL for the resource. - * `failoverPolicy` (*type:* `GoogleApi.Compute.V1.Model.BackendServiceFailoverPolicy.t`, *default:* `nil`) - Requires at least one backend instance group to be defined as a backup (failover) backend. For load balancers that have configurable failover: [Internal TCP/UDP Load Balancing](https://cloud.google.com/load-balancing/docs/internal/failover-overview) and [external TCP/UDP Load Balancing](https://cloud.google.com/load-balancing/docs/network/networklb-failover-overview). - * `connectionTrackingPolicy` (*type:* `GoogleApi.Compute.V1.Model.BackendServiceConnectionTrackingPolicy.t`, *default:* `nil`) - Connection Tracking configuration for this BackendService. Connection tracking policy settings are only available for Network Load Balancing and Internal TCP/UDP Load Balancing. + * `failoverPolicy` (*type:* `GoogleApi.Compute.V1.Model.BackendServiceFailoverPolicy.t`, *default:* `nil`) - Requires at least one backend instance group to be defined as a backup (failover) backend. For load balancers that have configurable failover: [Internal passthrough Network Load Balancers](https://cloud.google.com/load-balancing/docs/internal/failover-overview) and [external passthrough Network Load Balancers](https://cloud.google.com/load-balancing/docs/network/networklb-failover-overview). + * `serviceLbPolicy` (*type:* `String.t`, *default:* `nil`) - URL to networkservices.ServiceLbPolicy resource. Can only be set if load balancing scheme is EXTERNAL, EXTERNAL_MANAGED, INTERNAL_MANAGED or INTERNAL_SELF_MANAGED and the scope is global. + * `connectionTrackingPolicy` (*type:* `GoogleApi.Compute.V1.Model.BackendServiceConnectionTrackingPolicy.t`, *default:* `nil`) - Connection Tracking configuration for this BackendService. Connection tracking policy settings are only available for external passthrough Network Load Balancers and internal passthrough Network Load Balancers. * `circuitBreakers` (*type:* `GoogleApi.Compute.V1.Model.CircuitBreakers.t`, *default:* `nil`) - * `compressionMode` (*type:* `String.t`, *default:* `nil`) - Compress text responses using Brotli or gzip compression, based on the client's Accept-Encoding header. * `serviceBindings` (*type:* `list(String.t)`, *default:* `nil`) - URLs of networkservices.ServiceBinding resources. Can only be set if load balancing scheme is INTERNAL_SELF_MANAGED. If set, lists of backends and health checks must be both empty. @@ -66,10 +69,12 @@ defmodule GoogleApi.Compute.V1.Model.BackendService do @type t :: %__MODULE__{ :port => integer() | nil, + :metadatas => map() | nil, :protocol => String.t() | nil, :enableCDN => boolean() | nil, :securitySettings => GoogleApi.Compute.V1.Model.SecuritySettings.t() | nil, :customRequestHeaders => list(String.t()) | nil, + :usedBy => list(GoogleApi.Compute.V1.Model.BackendServiceUsedBy.t()) | nil, :subsetting => GoogleApi.Compute.V1.Model.Subsetting.t() | nil, :timeoutSec => integer() | nil, :portName => String.t() | nil, @@ -103,6 +108,7 @@ defmodule GoogleApi.Compute.V1.Model.BackendService do :id => String.t() | nil, :selfLink => String.t() | nil, :failoverPolicy => GoogleApi.Compute.V1.Model.BackendServiceFailoverPolicy.t() | nil, + :serviceLbPolicy => String.t() | nil, :connectionTrackingPolicy => GoogleApi.Compute.V1.Model.BackendServiceConnectionTrackingPolicy.t() | nil, :circuitBreakers => GoogleApi.Compute.V1.Model.CircuitBreakers.t() | nil, @@ -111,10 +117,12 @@ defmodule GoogleApi.Compute.V1.Model.BackendService do } field(:port) + field(:metadatas, type: :map) field(:protocol) field(:enableCDN) field(:securitySettings, as: GoogleApi.Compute.V1.Model.SecuritySettings) field(:customRequestHeaders, type: :list) + field(:usedBy, as: GoogleApi.Compute.V1.Model.BackendServiceUsedBy, type: :list) field(:subsetting, as: GoogleApi.Compute.V1.Model.Subsetting) field(:timeoutSec) field(:portName) @@ -150,6 +158,7 @@ defmodule GoogleApi.Compute.V1.Model.BackendService do field(:id) field(:selfLink) field(:failoverPolicy, as: GoogleApi.Compute.V1.Model.BackendServiceFailoverPolicy) + field(:serviceLbPolicy) field(:connectionTrackingPolicy, as: GoogleApi.Compute.V1.Model.BackendServiceConnectionTrackingPolicy diff --git a/clients/compute/lib/google_api/compute/v1/model/backend_service_connection_tracking_policy.ex b/clients/compute/lib/google_api/compute/v1/model/backend_service_connection_tracking_policy.ex index d0a06741f8..97dd1e48a5 100644 --- a/clients/compute/lib/google_api/compute/v1/model/backend_service_connection_tracking_policy.ex +++ b/clients/compute/lib/google_api/compute/v1/model/backend_service_connection_tracking_policy.ex @@ -22,8 +22,8 @@ defmodule GoogleApi.Compute.V1.Model.BackendServiceConnectionTrackingPolicy do ## Attributes * `connectionPersistenceOnUnhealthyBackends` (*type:* `String.t`, *default:* `nil`) - Specifies connection persistence when backends are unhealthy. The default value is DEFAULT_FOR_PROTOCOL. If set to DEFAULT_FOR_PROTOCOL, the existing connections persist on unhealthy backends only for connection-oriented protocols (TCP and SCTP) and only if the Tracking Mode is PER_CONNECTION (default tracking mode) or the Session Affinity is configured for 5-tuple. They do not persist for UDP. If set to NEVER_PERSIST, after a backend becomes unhealthy, the existing connections on the unhealthy backend are never persisted on the unhealthy backend. They are always diverted to newly selected healthy backends (unless all backends are unhealthy). If set to ALWAYS_PERSIST, existing connections always persist on unhealthy backends regardless of protocol and session affinity. It is generally not recommended to use this mode overriding the default. For more details, see [Connection Persistence for Network Load Balancing](https://cloud.google.com/load-balancing/docs/network/networklb-backend-service#connection-persistence) and [Connection Persistence for Internal TCP/UDP Load Balancing](https://cloud.google.com/load-balancing/docs/internal#connection-persistence). - * `enableStrongAffinity` (*type:* `boolean()`, *default:* `nil`) - Enable Strong Session Affinity for Network Load Balancing. This option is not available publicly. - * `idleTimeoutSec` (*type:* `integer()`, *default:* `nil`) - Specifies how long to keep a Connection Tracking entry while there is no matching traffic (in seconds). For Internal TCP/UDP Load Balancing: - The minimum (default) is 10 minutes and the maximum is 16 hours. - It can be set only if Connection Tracking is less than 5-tuple (i.e. Session Affinity is CLIENT_IP_NO_DESTINATION, CLIENT_IP or CLIENT_IP_PROTO, and Tracking Mode is PER_SESSION). For Network Load Balancer the default is 60 seconds. This option is not available publicly. + * `enableStrongAffinity` (*type:* `boolean()`, *default:* `nil`) - Enable Strong Session Affinity for external passthrough Network Load Balancers. This option is not available publicly. + * `idleTimeoutSec` (*type:* `integer()`, *default:* `nil`) - Specifies how long to keep a Connection Tracking entry while there is no matching traffic (in seconds). For internal passthrough Network Load Balancers: - The minimum (default) is 10 minutes and the maximum is 16 hours. - It can be set only if Connection Tracking is less than 5-tuple (i.e. Session Affinity is CLIENT_IP_NO_DESTINATION, CLIENT_IP or CLIENT_IP_PROTO, and Tracking Mode is PER_SESSION). For external passthrough Network Load Balancers the default is 60 seconds. This option is not available publicly. * `trackingMode` (*type:* `String.t`, *default:* `nil`) - Specifies the key used for connection tracking. There are two options: - PER_CONNECTION: This is the default mode. The Connection Tracking is performed as per the Connection Key (default Hash Method) for the specific protocol. - PER_SESSION: The Connection Tracking is performed as per the configured Session Affinity. It matches the configured Session Affinity. For more details, see [Tracking Mode for Network Load Balancing](https://cloud.google.com/load-balancing/docs/network/networklb-backend-service#tracking-mode) and [Tracking Mode for Internal TCP/UDP Load Balancing](https://cloud.google.com/load-balancing/docs/internal#tracking-mode). """ diff --git a/clients/compute/lib/google_api/compute/v1/model/backend_service_failover_policy.ex b/clients/compute/lib/google_api/compute/v1/model/backend_service_failover_policy.ex index 4b264d61b5..f2f0e0ce0e 100644 --- a/clients/compute/lib/google_api/compute/v1/model/backend_service_failover_policy.ex +++ b/clients/compute/lib/google_api/compute/v1/model/backend_service_failover_policy.ex @@ -17,12 +17,12 @@ defmodule GoogleApi.Compute.V1.Model.BackendServiceFailoverPolicy do @moduledoc """ - For load balancers that have configurable failover: [Internal TCP/UDP Load Balancing](https://cloud.google.com/load-balancing/docs/internal/failover-overview) and [external TCP/UDP Load Balancing](https://cloud.google.com/load-balancing/docs/network/networklb-failover-overview). On failover or failback, this field indicates whether connection draining will be honored. Google Cloud has a fixed connection draining timeout of 10 minutes. A setting of true terminates existing TCP connections to the active pool during failover and failback, immediately draining traffic. A setting of false allows existing TCP connections to persist, even on VMs no longer in the active pool, for up to the duration of the connection draining timeout (10 minutes). + For load balancers that have configurable failover: [Internal passthrough Network Load Balancers](https://cloud.google.com/load-balancing/docs/internal/failover-overview) and [external passthrough Network Load Balancers](https://cloud.google.com/load-balancing/docs/network/networklb-failover-overview). On failover or failback, this field indicates whether connection draining will be honored. Google Cloud has a fixed connection draining timeout of 10 minutes. A setting of true terminates existing TCP connections to the active pool during failover and failback, immediately draining traffic. A setting of false allows existing TCP connections to persist, even on VMs no longer in the active pool, for up to the duration of the connection draining timeout (10 minutes). ## Attributes * `disableConnectionDrainOnFailover` (*type:* `boolean()`, *default:* `nil`) - This can be set to true only if the protocol is TCP. The default is false. - * `dropTrafficIfUnhealthy` (*type:* `boolean()`, *default:* `nil`) - If set to true, connections to the load balancer are dropped when all primary and all backup backend VMs are unhealthy.If set to false, connections are distributed among all primary VMs when all primary and all backup backend VMs are unhealthy. For load balancers that have configurable failover: [Internal TCP/UDP Load Balancing](https://cloud.google.com/load-balancing/docs/internal/failover-overview) and [external TCP/UDP Load Balancing](https://cloud.google.com/load-balancing/docs/network/networklb-failover-overview). The default is false. + * `dropTrafficIfUnhealthy` (*type:* `boolean()`, *default:* `nil`) - If set to true, connections to the load balancer are dropped when all primary and all backup backend VMs are unhealthy.If set to false, connections are distributed among all primary VMs when all primary and all backup backend VMs are unhealthy. For load balancers that have configurable failover: [Internal passthrough Network Load Balancers](https://cloud.google.com/load-balancing/docs/internal/failover-overview) and [external passthrough Network Load Balancers](https://cloud.google.com/load-balancing/docs/network/networklb-failover-overview). The default is false. * `failoverRatio` (*type:* `number()`, *default:* `nil`) - The value of the field must be in the range [0, 1]. If the value is 0, the load balancer performs a failover when the number of healthy primary VMs equals zero. For all other values, the load balancer performs a failover when the total number of healthy primary VMs is less than this ratio. For load balancers that have configurable failover: [Internal TCP/UDP Load Balancing](https://cloud.google.com/load-balancing/docs/internal/failover-overview) and [external TCP/UDP Load Balancing](https://cloud.google.com/load-balancing/docs/network/networklb-failover-overview). """ diff --git a/clients/compute/lib/google_api/compute/v1/model/backend_service_iap.ex b/clients/compute/lib/google_api/compute/v1/model/backend_service_iap.ex index edf8344f89..9291c4a321 100644 --- a/clients/compute/lib/google_api/compute/v1/model/backend_service_iap.ex +++ b/clients/compute/lib/google_api/compute/v1/model/backend_service_iap.ex @@ -21,7 +21,7 @@ defmodule GoogleApi.Compute.V1.Model.BackendServiceIAP do ## Attributes - * `enabled` (*type:* `boolean()`, *default:* `nil`) - Whether the serving infrastructure will authenticate and authorize all incoming requests. If true, the oauth2ClientId and oauth2ClientSecret fields must be non-empty. + * `enabled` (*type:* `boolean()`, *default:* `nil`) - Whether the serving infrastructure will authenticate and authorize all incoming requests. * `oauth2ClientId` (*type:* `String.t`, *default:* `nil`) - OAuth2 client ID to use for the authentication flow. * `oauth2ClientSecret` (*type:* `String.t`, *default:* `nil`) - OAuth2 client secret to use for the authentication flow. For security reasons, this value cannot be retrieved via the API. Instead, the SHA-256 hash of the value is returned in the oauth2ClientSecretSha256 field. @InputOnly * `oauth2ClientSecretSha256` (*type:* `String.t`, *default:* `nil`) - [Output Only] SHA256 hash value for the field oauth2_client_secret above. diff --git a/clients/compute/lib/google_api/compute/v1/model/backend_service_list_usable.ex b/clients/compute/lib/google_api/compute/v1/model/backend_service_list_usable.ex new file mode 100644 index 0000000000..03c850401e --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/backend_service_list_usable.ex @@ -0,0 +1,61 @@ +# 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.BackendServiceListUsable do + @moduledoc """ + Contains a list of usable BackendService resources. + + ## 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.BackendService.t)`, *default:* `nil`) - A list of BackendService resources. + * `kind` (*type:* `String.t`, *default:* `compute#usableBackendServiceList`) - [Output Only] Type of resource. Always compute#usableBackendServiceList for lists of usable backend services. + * `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.BackendServiceListUsableWarning.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.BackendService.t()) | nil, + :kind => String.t() | nil, + :nextPageToken => String.t() | nil, + :selfLink => String.t() | nil, + :warning => GoogleApi.Compute.V1.Model.BackendServiceListUsableWarning.t() | nil + } + + field(:id) + field(:items, as: GoogleApi.Compute.V1.Model.BackendService, type: :list) + field(:kind) + field(:nextPageToken) + field(:selfLink) + field(:warning, as: GoogleApi.Compute.V1.Model.BackendServiceListUsableWarning) +end + +defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.BackendServiceListUsable do + def decode(value, options) do + GoogleApi.Compute.V1.Model.BackendServiceListUsable.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.BackendServiceListUsable 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/backend_service_list_usable_warning.ex b/clients/compute/lib/google_api/compute/v1/model/backend_service_list_usable_warning.ex new file mode 100644 index 0000000000..6e01f7f90c --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/backend_service_list_usable_warning.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.Compute.V1.Model.BackendServiceListUsableWarning 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.BackendServiceListUsableWarningData.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.BackendServiceListUsableWarningData.t()) | nil, + :message => String.t() | nil + } + + field(:code) + field(:data, as: GoogleApi.Compute.V1.Model.BackendServiceListUsableWarningData, type: :list) + field(:message) +end + +defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.BackendServiceListUsableWarning do + def decode(value, options) do + GoogleApi.Compute.V1.Model.BackendServiceListUsableWarning.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.BackendServiceListUsableWarning 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/backend_service_list_usable_warning_data.ex b/clients/compute/lib/google_api/compute/v1/model/backend_service_list_usable_warning_data.ex new file mode 100644 index 0000000000..897df87527 --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/backend_service_list_usable_warning_data.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.Compute.V1.Model.BackendServiceListUsableWarningData 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.BackendServiceListUsableWarningData do + def decode(value, options) do + GoogleApi.Compute.V1.Model.BackendServiceListUsableWarningData.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.BackendServiceListUsableWarningData 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/backend_service_locality_load_balancing_policy_config_custom_policy.ex b/clients/compute/lib/google_api/compute/v1/model/backend_service_locality_load_balancing_policy_config_custom_policy.ex index dd62f4b78b..26519d82fb 100644 --- a/clients/compute/lib/google_api/compute/v1/model/backend_service_locality_load_balancing_policy_config_custom_policy.ex +++ b/clients/compute/lib/google_api/compute/v1/model/backend_service_locality_load_balancing_policy_config_custom_policy.ex @@ -22,7 +22,7 @@ defmodule GoogleApi.Compute.V1.Model.BackendServiceLocalityLoadBalancingPolicyCo ## Attributes * `data` (*type:* `String.t`, *default:* `nil`) - An optional, arbitrary JSON object with configuration data, understood by a locally installed custom policy implementation. - * `name` (*type:* `String.t`, *default:* `nil`) - Identifies the custom policy. The value should match the type the custom implementation is registered with on the gRPC clients. It should follow protocol buffer message naming conventions and include the full path (e.g. myorg.CustomLbPolicy). The maximum length is 256 characters. Note that specifying the same custom policy more than once for a backend is not a valid configuration and will be rejected. + * `name` (*type:* `String.t`, *default:* `nil`) - Identifies the custom policy. The value should match the name of a custom implementation registered on the gRPC clients. It should follow protocol buffer message naming conventions and include the full path (for example, myorg.CustomLbPolicy). The maximum length is 256 characters. Do not specify the same custom policy more than once for a backend. If you do, the configuration is rejected. For an example of how to use this field, see Use a custom policy. """ use GoogleApi.Gax.ModelBase diff --git a/clients/compute/lib/google_api/compute/v1/model/backend_service_locality_load_balancing_policy_config_policy.ex b/clients/compute/lib/google_api/compute/v1/model/backend_service_locality_load_balancing_policy_config_policy.ex index a47ae926f2..70104dc55e 100644 --- a/clients/compute/lib/google_api/compute/v1/model/backend_service_locality_load_balancing_policy_config_policy.ex +++ b/clients/compute/lib/google_api/compute/v1/model/backend_service_locality_load_balancing_policy_config_policy.ex @@ -21,7 +21,7 @@ defmodule GoogleApi.Compute.V1.Model.BackendServiceLocalityLoadBalancingPolicyCo ## Attributes - * `name` (*type:* `String.t`, *default:* `nil`) - The name of a locality load balancer policy to be used. The value should be one of the predefined ones as supported by localityLbPolicy, although at the moment only ROUND_ROBIN is supported. This field should only be populated when the customPolicy field is not used. Note that specifying the same policy more than once for a backend is not a valid configuration and will be rejected. + * `name` (*type:* `String.t`, *default:* `nil`) - The name of a locality load-balancing policy. Valid values include ROUND_ROBIN and, for Java clients, LEAST_REQUEST. For information about these values, see the description of localityLbPolicy. Do not specify the same policy more than once for a backend. If you do, the configuration is rejected. """ use GoogleApi.Gax.ModelBase diff --git a/clients/compute/lib/google_api/compute/v1/model/backend_service_log_config.ex b/clients/compute/lib/google_api/compute/v1/model/backend_service_log_config.ex index 3a2efacfcb..dfc652b797 100644 --- a/clients/compute/lib/google_api/compute/v1/model/backend_service_log_config.ex +++ b/clients/compute/lib/google_api/compute/v1/model/backend_service_log_config.ex @@ -22,6 +22,8 @@ defmodule GoogleApi.Compute.V1.Model.BackendServiceLogConfig do ## Attributes * `enable` (*type:* `boolean()`, *default:* `nil`) - Denotes whether to enable logging for the load balancer traffic served by this backend service. The default value is false. + * `optionalFields` (*type:* `list(String.t)`, *default:* `nil`) - This field can only be specified if logging is enabled for this backend service and "logConfig.optionalMode" was set to CUSTOM. Contains a list of optional fields you want to include in the logs. For example: serverInstance, serverGkeDetails.cluster, serverGkeDetails.pod.podNamespace + * `optionalMode` (*type:* `String.t`, *default:* `nil`) - This field can only be specified if logging is enabled for this backend service. Configures whether all, none or a subset of optional fields should be added to the reported logs. One of [INCLUDE_ALL_OPTIONAL, EXCLUDE_ALL_OPTIONAL, CUSTOM]. Default is EXCLUDE_ALL_OPTIONAL. * `sampleRate` (*type:* `number()`, *default:* `nil`) - This field can only be specified if logging is enabled for this backend service. The value of the field must be in [0, 1]. This configures the sampling rate of requests to the load balancer where 1.0 means all logged requests are reported and 0.0 means no logged requests are reported. The default value is 1.0. """ @@ -29,10 +31,14 @@ defmodule GoogleApi.Compute.V1.Model.BackendServiceLogConfig do @type t :: %__MODULE__{ :enable => boolean() | nil, + :optionalFields => list(String.t()) | nil, + :optionalMode => String.t() | nil, :sampleRate => number() | nil } field(:enable) + field(:optionalFields, type: :list) + field(:optionalMode) field(:sampleRate) end diff --git a/clients/compute/lib/google_api/compute/v1/model/backend_service_used_by.ex b/clients/compute/lib/google_api/compute/v1/model/backend_service_used_by.ex new file mode 100644 index 0000000000..ae11c428fe --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/backend_service_used_by.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.Compute.V1.Model.BackendServiceUsedBy do + @moduledoc """ + + + ## Attributes + + * `reference` (*type:* `String.t`, *default:* `nil`) - + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :reference => String.t() | nil + } + + field(:reference) +end + +defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.BackendServiceUsedBy do + def decode(value, options) do + GoogleApi.Compute.V1.Model.BackendServiceUsedBy.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.BackendServiceUsedBy 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/binding.ex b/clients/compute/lib/google_api/compute/v1/model/binding.ex index 39c886b4d7..ab90f2d916 100644 --- a/clients/compute/lib/google_api/compute/v1/model/binding.ex +++ b/clients/compute/lib/google_api/compute/v1/model/binding.ex @@ -23,8 +23,8 @@ defmodule GoogleApi.Compute.V1.Model.Binding do * `bindingId` (*type:* `String.t`, *default:* `nil`) - This is deprecated and has no effect. Do not use. * `condition` (*type:* `GoogleApi.Compute.V1.Model.Expr.t`, *default:* `nil`) - The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). - * `members` (*type:* `list(String.t)`, *default:* `nil`) - Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. - * `role` (*type:* `String.t`, *default:* `nil`) - Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. + * `members` (*type:* `list(String.t)`, *default:* `nil`) - Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. + * `role` (*type:* `String.t`, *default:* `nil`) - Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). """ use GoogleApi.Gax.ModelBase diff --git a/clients/compute/lib/google_api/compute/v1/model/bulk_insert_disk_resource.ex b/clients/compute/lib/google_api/compute/v1/model/bulk_insert_disk_resource.ex new file mode 100644 index 0000000000..a279b3d2c6 --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/bulk_insert_disk_resource.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.Compute.V1.Model.BulkInsertDiskResource do + @moduledoc """ + A transient resource used in compute.disks.bulkInsert and compute.regionDisks.bulkInsert. It is only used to process requests and is not persisted. + + ## Attributes + + * `sourceConsistencyGroupPolicy` (*type:* `String.t`, *default:* `nil`) - The URL of the DiskConsistencyGroupPolicy for the group of disks to clone. This may be a full or partial URL, such as: - https://www.googleapis.com/compute/v1/projects/project/regions/region /resourcePolicies/resourcePolicy - projects/project/regions/region/resourcePolicies/resourcePolicy - regions/region/resourcePolicies/resourcePolicy + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :sourceConsistencyGroupPolicy => String.t() | nil + } + + field(:sourceConsistencyGroupPolicy) +end + +defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.BulkInsertDiskResource do + def decode(value, options) do + GoogleApi.Compute.V1.Model.BulkInsertDiskResource.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.BulkInsertDiskResource 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/bulk_insert_instance_resource_per_instance_properties.ex b/clients/compute/lib/google_api/compute/v1/model/bulk_insert_instance_resource_per_instance_properties.ex index a740557211..1b22a1397a 100644 --- a/clients/compute/lib/google_api/compute/v1/model/bulk_insert_instance_resource_per_instance_properties.ex +++ b/clients/compute/lib/google_api/compute/v1/model/bulk_insert_instance_resource_per_instance_properties.ex @@ -21,15 +21,18 @@ defmodule GoogleApi.Compute.V1.Model.BulkInsertInstanceResourcePerInstanceProper ## Attributes + * `hostname` (*type:* `String.t`, *default:* `nil`) - Specifies the hostname of the instance. More details in: https://cloud.google.com/compute/docs/instances/custom-hostname-vm#naming_convention * `name` (*type:* `String.t`, *default:* `nil`) - This field is only temporary. It will be removed. Do not use it. """ use GoogleApi.Gax.ModelBase @type t :: %__MODULE__{ + :hostname => String.t() | nil, :name => String.t() | nil } + field(:hostname) field(:name) end diff --git a/clients/compute/lib/google_api/compute/v1/model/bulk_insert_operation_status.ex b/clients/compute/lib/google_api/compute/v1/model/bulk_insert_operation_status.ex new file mode 100644 index 0000000000..10f88a6a3d --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/bulk_insert_operation_status.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.BulkInsertOperationStatus do + @moduledoc """ + + + ## Attributes + + * `createdVmCount` (*type:* `integer()`, *default:* `nil`) - [Output Only] Count of VMs successfully created so far. + * `deletedVmCount` (*type:* `integer()`, *default:* `nil`) - [Output Only] Count of VMs that got deleted during rollback. + * `failedToCreateVmCount` (*type:* `integer()`, *default:* `nil`) - [Output Only] Count of VMs that started creating but encountered an error. + * `status` (*type:* `String.t`, *default:* `nil`) - [Output Only] Creation status of BulkInsert operation - information if the flow is rolling forward or rolling back. + * `targetVmCount` (*type:* `integer()`, *default:* `nil`) - [Output Only] Count of VMs originally planned to be created. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :createdVmCount => integer() | nil, + :deletedVmCount => integer() | nil, + :failedToCreateVmCount => integer() | nil, + :status => String.t() | nil, + :targetVmCount => integer() | nil + } + + field(:createdVmCount) + field(:deletedVmCount) + field(:failedToCreateVmCount) + field(:status) + field(:targetVmCount) +end + +defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.BulkInsertOperationStatus do + def decode(value, options) do + GoogleApi.Compute.V1.Model.BulkInsertOperationStatus.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.BulkInsertOperationStatus 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/commitment.ex b/clients/compute/lib/google_api/compute/v1/model/commitment.ex index f8529fcf97..e8ac775c35 100644 --- a/clients/compute/lib/google_api/compute/v1/model/commitment.ex +++ b/clients/compute/lib/google_api/compute/v1/model/commitment.ex @@ -26,6 +26,7 @@ defmodule GoogleApi.Compute.V1.Model.Commitment do * `creationTimestamp` (*type:* `String.t`, *default:* `nil`) - [Output Only] Creation timestamp in RFC3339 text format. * `description` (*type:* `String.t`, *default:* `nil`) - An optional description of this resource. Provide this property when you create the resource. * `endTimestamp` (*type:* `String.t`, *default:* `nil`) - [Output Only] Commitment end time in RFC3339 text format. + * `existingReservations` (*type:* `list(String.t)`, *default:* `nil`) - Specifies the already existing reservations to attach to the Commitment. This field is optional, and it can be a full or partial URL. For example, the following are valid URLs to an reservation: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /reservations/reservation - projects/project/zones/zone/reservations/reservation * `id` (*type:* `String.t`, *default:* `nil`) - [Output Only] The unique identifier for the resource. This identifier is defined by the server. * `kind` (*type:* `String.t`, *default:* `compute#commitment`) - [Output Only] Type of the resource. Always compute#commitment for commitments. * `licenseResource` (*type:* `GoogleApi.Compute.V1.Model.LicenseResourceCommitment.t`, *default:* `nil`) - The license specification required as part of a license commitment. @@ -33,10 +34,10 @@ defmodule GoogleApi.Compute.V1.Model.Commitment do * `name` (*type:* `String.t`, *default:* `nil`) - Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. * `plan` (*type:* `String.t`, *default:* `nil`) - The plan for this commitment, which determines duration and discount rate. The currently supported plans are TWELVE_MONTH (1 year), and THIRTY_SIX_MONTH (3 years). * `region` (*type:* `String.t`, *default:* `nil`) - [Output Only] URL of the region where this commitment may be used. - * `reservations` (*type:* `list(GoogleApi.Compute.V1.Model.Reservation.t)`, *default:* `nil`) - List of reservations in this commitment. + * `reservations` (*type:* `list(GoogleApi.Compute.V1.Model.Reservation.t)`, *default:* `nil`) - List of create-on-create reservations for this commitment. * `resources` (*type:* `list(GoogleApi.Compute.V1.Model.ResourceCommitment.t)`, *default:* `nil`) - A list of commitment amounts for particular resources. Note that VCPU and MEMORY resource commitments must occur together. * `selfLink` (*type:* `String.t`, *default:* `nil`) - [Output Only] Server-defined URL for the resource. - * `splitSourceCommitment` (*type:* `String.t`, *default:* `nil`) - Source commitment to be splitted into a new commitment. + * `splitSourceCommitment` (*type:* `String.t`, *default:* `nil`) - Source commitment to be split into a new commitment. * `startTimestamp` (*type:* `String.t`, *default:* `nil`) - [Output Only] Commitment start time in RFC3339 text format. * `status` (*type:* `String.t`, *default:* `nil`) - [Output Only] Status of the commitment with regards to eventual expiration (each commitment has an end date defined). One of the following values: NOT_YET_ACTIVE, ACTIVE, EXPIRED. * `statusMessage` (*type:* `String.t`, *default:* `nil`) - [Output Only] An optional, human-readable explanation of the status. @@ -51,6 +52,7 @@ defmodule GoogleApi.Compute.V1.Model.Commitment do :creationTimestamp => String.t() | nil, :description => String.t() | nil, :endTimestamp => String.t() | nil, + :existingReservations => list(String.t()) | nil, :id => String.t() | nil, :kind => String.t() | nil, :licenseResource => GoogleApi.Compute.V1.Model.LicenseResourceCommitment.t() | nil, @@ -73,6 +75,7 @@ defmodule GoogleApi.Compute.V1.Model.Commitment do field(:creationTimestamp) field(:description) field(:endTimestamp) + field(:existingReservations, type: :list) field(:id) field(:kind) field(:licenseResource, as: GoogleApi.Compute.V1.Model.LicenseResourceCommitment) diff --git a/clients/compute/lib/google_api/compute/v1/model/customer_encryption_key.ex b/clients/compute/lib/google_api/compute/v1/model/customer_encryption_key.ex index 38078f6a92..d0e5f7b08f 100644 --- a/clients/compute/lib/google_api/compute/v1/model/customer_encryption_key.ex +++ b/clients/compute/lib/google_api/compute/v1/model/customer_encryption_key.ex @@ -21,7 +21,7 @@ defmodule GoogleApi.Compute.V1.Model.CustomerEncryptionKey do ## Attributes - * `kmsKeyName` (*type:* `String.t`, *default:* `nil`) - The name of the encryption key that is stored in Google Cloud KMS. For example: "kmsKeyName": "projects/kms_project_id/locations/region/keyRings/ key_region/cryptoKeys/key + * `kmsKeyName` (*type:* `String.t`, *default:* `nil`) - The name of the encryption key that is stored in Google Cloud KMS. For example: "kmsKeyName": "projects/kms_project_id/locations/region/keyRings/ key_region/cryptoKeys/key The fully-qualifed key name may be returned for resource GET requests. For example: "kmsKeyName": "projects/kms_project_id/locations/region/keyRings/ key_region/cryptoKeys/key /cryptoKeyVersions/1 * `kmsKeyServiceAccount` (*type:* `String.t`, *default:* `nil`) - The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used. For example: "kmsKeyServiceAccount": "name@project_id.iam.gserviceaccount.com/ * `rawKey` (*type:* `String.t`, *default:* `nil`) - Specifies a 256-bit customer-supplied encryption key, encoded in RFC 4648 base64 to either encrypt or decrypt this resource. You can provide either the rawKey or the rsaEncryptedKey. For example: "rawKey": "SGVsbG8gZnJvbSBHb29nbGUgQ2xvdWQgUGxhdGZvcm0=" * `rsaEncryptedKey` (*type:* `String.t`, *default:* `nil`) - Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit customer-supplied encryption key to either encrypt or decrypt this resource. You can provide either the rawKey or the rsaEncryptedKey. For example: "rsaEncryptedKey": "ieCx/NcW06PcT7Ep1X6LUTc/hLvUDYyzSZPPVCVPTVEohpeHASqC8uw5TzyO9U+Fka9JFH z0mBibXUInrC/jEk014kCK/NPjYgEMOyssZ4ZINPKxlUh2zn1bV+MCaTICrdmuSBTWlUUiFoD D6PYznLwh8ZNdaheCeZ8ewEXgFQ8V+sDroLaN3Xs3MDTXQEMMoNUXMCZEIpg9Vtp9x2oe==" The key must meet the following requirements before you can provide it to Compute Engine: 1. The key is wrapped using a RSA public key certificate provided by Google. 2. After being wrapped, the key must be encoded in RFC 4648 base64 encoding. Gets the RSA public key certificate provided by Google at: https://cloud-certs.storage.googleapis.com/google-cloud-csek-ingress.pem diff --git a/clients/compute/lib/google_api/compute/v1/model/disk.ex b/clients/compute/lib/google_api/compute/v1/model/disk.ex index 32a23f4a66..12987ebe86 100644 --- a/clients/compute/lib/google_api/compute/v1/model/disk.ex +++ b/clients/compute/lib/google_api/compute/v1/model/disk.ex @@ -25,13 +25,19 @@ defmodule GoogleApi.Compute.V1.Model.Disk do * `locationHint` (*type:* `String.t`, *default:* `nil`) - An opaque location hint used to place the disk close to other resources. This field is for use by internal tools that use the public API. * `replicaZones` (*type:* `list(String.t)`, *default:* `nil`) - URLs of the zones where the disk should be replicated to. Only applicable for regional resources. * `params` (*type:* `GoogleApi.Compute.V1.Model.DiskParams.t`, *default:* `nil`) - Input only. [Input Only] Additional params passed with the request, but not persisted as part of resource payload. + * `sourceInstantSnapshot` (*type:* `String.t`, *default:* `nil`) - The source instant snapshot used to create this disk. You can provide this as a partial or full URL to the resource. For example, the following are valid values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /instantSnapshots/instantSnapshot - projects/project/zones/zone/instantSnapshots/instantSnapshot - zones/zone/instantSnapshots/instantSnapshot + * `resourceStatus` (*type:* `GoogleApi.Compute.V1.Model.DiskResourceStatus.t`, *default:* `nil`) - [Output Only] Status information for the disk resource. + * `sourceInstantSnapshotId` (*type:* `String.t`, *default:* `nil`) - [Output Only] The unique ID of the instant snapshot used to create this disk. This value identifies the exact instant snapshot that was used to create this persistent disk. For example, if you created the persistent disk from an instant snapshot that was later deleted and recreated under the same name, the source instant snapshot ID would identify the exact version of the instant snapshot that was used. + * `asyncSecondaryDisks` (*type:* `%{optional(String.t) => GoogleApi.Compute.V1.Model.DiskAsyncReplicationList.t}`, *default:* `nil`) - [Output Only] A list of disks this disk is asynchronously replicated to. * `satisfiesPzs` (*type:* `boolean()`, *default:* `nil`) - [Output Only] Reserved for future use. * `zone` (*type:* `String.t`, *default:* `nil`) - [Output Only] URL of the zone where the disk resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body. * `description` (*type:* `String.t`, *default:* `nil`) - An optional description of this resource. Provide this property when you create the resource. * `sourceDiskId` (*type:* `String.t`, *default:* `nil`) - [Output Only] The unique ID of the disk used to create this disk. This value identifies the exact disk that was used to create this persistent disk. For example, if you created the persistent disk from a disk that was later deleted and recreated under the same name, the source disk ID would identify the exact version of the disk that was used. - * `sizeGb` (*type:* `String.t`, *default:* `nil`) - Size, in GB, of the persistent disk. You can specify this field when creating a persistent disk using the sourceImage, sourceSnapshot, or sourceDisk parameter, or specify it alone to create an empty persistent disk. If you specify this field along with a source, the value of sizeGb must not be less than the size of the source. Acceptable values are 1 to 65536, inclusive. + * `sizeGb` (*type:* `String.t`, *default:* `nil`) - Size, in GB, of the persistent disk. You can specify this field when creating a persistent disk using the sourceImage, sourceSnapshot, or sourceDisk parameter, or specify it alone to create an empty persistent disk. If you specify this field along with a source, the value of sizeGb must not be less than the size of the source. Acceptable values are greater than 0. + * `provisionedThroughput` (*type:* `String.t`, *default:* `nil`) - Indicates how much throughput to provision for the disk. This sets the number of throughput mb per second that the disk can handle. Values must be greater than or equal to 1. * `sourceSnapshotEncryptionKey` (*type:* `GoogleApi.Compute.V1.Model.CustomerEncryptionKey.t`, *default:* `nil`) - The customer-supplied encryption key of the source snapshot. Required if the source snapshot is protected by a customer-supplied encryption key. * `kind` (*type:* `String.t`, *default:* `compute#disk`) - [Output Only] Type of the resource. Always compute#disk for disks. + * `enableConfidentialCompute` (*type:* `boolean()`, *default:* `nil`) - Whether this disk is using confidential compute mode. * `sourceSnapshot` (*type:* `String.t`, *default:* `nil`) - The source snapshot used to create this disk. You can provide this as a partial or full URL to the resource. For example, the following are valid values: - https://www.googleapis.com/compute/v1/projects/project /global/snapshots/snapshot - projects/project/global/snapshots/snapshot - global/snapshots/snapshot * `name` (*type:* `String.t`, *default:* `nil`) - Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. * `provisionedIops` (*type:* `String.t`, *default:* `nil`) - Indicates how many IOPS to provision for the disk. This sets the number of I/O operations per second that the disk can handle. Values must be between 10,000 and 120,000. For more details, see the Extreme persistent disk documentation. @@ -41,24 +47,29 @@ defmodule GoogleApi.Compute.V1.Model.Disk do * `sourceStorageObject` (*type:* `String.t`, *default:* `nil`) - The full Google Cloud Storage URI where the disk image is stored. This file must be a gzip-compressed tarball whose name ends in .tar.gz or virtual machine disk whose name ends in vmdk. Valid URIs may start with gs:// or https://storage.googleapis.com/. This flag is not optimized for creating multiple disks from a source storage object. To create many disks from a source storage object, use gcloud compute images import instead. * `sourceImageId` (*type:* `String.t`, *default:* `nil`) - [Output Only] The ID value of the image used to create this disk. This value identifies the exact image that was used to create this persistent disk. For example, if you created the persistent disk from an image that was later deleted and recreated under the same name, the source image ID would identify the exact version of the image that was used. * `guestOsFeatures` (*type:* `list(GoogleApi.Compute.V1.Model.GuestOsFeature.t)`, *default:* `nil`) - A list of features to enable on the guest operating system. Applicable only for bootable images. Read Enabling guest operating system features to see a list of available options. + * `sourceConsistencyGroupPolicy` (*type:* `String.t`, *default:* `nil`) - [Output Only] URL of the DiskConsistencyGroupPolicy for a secondary disk that was created using a consistency group. * `sourceSnapshotId` (*type:* `String.t`, *default:* `nil`) - [Output Only] The unique ID of the snapshot used to create this disk. This value identifies the exact snapshot that was used to create this persistent disk. For example, if you created the persistent disk from a snapshot that was later deleted and recreated under the same name, the source snapshot ID would identify the exact version of the snapshot that was used. * `licenseCodes` (*type:* `list(String.t)`, *default:* `nil`) - Integer license codes indicating which licenses are attached to this disk. * `physicalBlockSizeBytes` (*type:* `String.t`, *default:* `nil`) - Physical block size of the persistent disk, in bytes. If not present in a request, a default value is used. The currently supported size is 4096, other sizes may be added in the future. If an unsupported value is requested, the error message will list the supported values for the caller's project. * `type` (*type:* `String.t`, *default:* `nil`) - URL of the disk type resource describing which disk type to use to create the disk. Provide this when creating the disk. For example: projects/project /zones/zone/diskTypes/pd-ssd . See Persistent disk types. * `licenses` (*type:* `list(String.t)`, *default:* `nil`) - A list of publicly visible licenses. Reserved for Google's use. * `labelFingerprint` (*type:* `String.t`, *default:* `nil`) - A fingerprint for the labels being applied to this disk, which is essentially a hash of the labels set used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve a disk. + * `storagePool` (*type:* `String.t`, *default:* `nil`) - The storage pool in which the new disk is created. You can provide this as a partial or full URL to the resource. For example, the following are valid values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /storagePools/storagePool - projects/project/zones/zone/storagePools/storagePool - zones/zone/storagePools/storagePool * `creationTimestamp` (*type:* `String.t`, *default:* `nil`) - [Output Only] Creation timestamp in RFC3339 text format. * `options` (*type:* `String.t`, *default:* `nil`) - Internal use only. + * `sourceConsistencyGroupPolicyId` (*type:* `String.t`, *default:* `nil`) - [Output Only] ID of the DiskConsistencyGroupPolicy for a secondary disk that was created using a consistency group. * `id` (*type:* `String.t`, *default:* `nil`) - [Output Only] The unique identifier for the resource. This identifier is defined by the server. * `sourceImageEncryptionKey` (*type:* `GoogleApi.Compute.V1.Model.CustomerEncryptionKey.t`, *default:* `nil`) - The customer-supplied encryption key of the source image. Required if the source image is protected by a customer-supplied encryption key. * `labels` (*type:* `map()`, *default:* `nil`) - Labels to apply to this disk. These can be later modified by the setLabels method. * `lastDetachTimestamp` (*type:* `String.t`, *default:* `nil`) - [Output Only] Last detach timestamp in RFC3339 text format. * `selfLink` (*type:* `String.t`, *default:* `nil`) - [Output Only] Server-defined fully-qualified URL for this resource. + * `satisfiesPzi` (*type:* `boolean()`, *default:* `nil`) - Output only. Reserved for future use. * `diskEncryptionKey` (*type:* `GoogleApi.Compute.V1.Model.CustomerEncryptionKey.t`, *default:* `nil`) - Encrypts the disk using a customer-supplied encryption key or a customer-managed encryption key. Encryption keys do not protect access to metadata of the disk. After you encrypt a disk with a customer-supplied key, you must provide the same key if you use the disk later. For example, to create a disk snapshot, to create a disk image, to create a machine image, or to attach the disk to a virtual machine. After you encrypt a disk with a customer-managed key, the diskEncryptionKey.kmsKeyName is set to a key *version* name once the disk is created. The disk is encrypted with this version of the key. In the response, diskEncryptionKey.kmsKeyName appears in the following format: "diskEncryptionKey.kmsKeyName": "projects/kms_project_id/locations/region/keyRings/ key_region/cryptoKeys/key /cryptoKeysVersions/version If you do not provide an encryption key when creating the disk, then the disk is encrypted using an automatically generated key and you don't need to provide a key to use the disk later. * `sourceDisk` (*type:* `String.t`, *default:* `nil`) - The source disk used to create this disk. You can provide this as a partial or full URL to the resource. For example, the following are valid values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /disks/disk - https://www.googleapis.com/compute/v1/projects/project/regions/region /disks/disk - projects/project/zones/zone/disks/disk - projects/project/regions/region/disks/disk - zones/zone/disks/disk - regions/region/disks/disk * `lastAttachTimestamp` (*type:* `String.t`, *default:* `nil`) - [Output Only] Last attach timestamp in RFC3339 text format. * `sourceImage` (*type:* `String.t`, *default:* `nil`) - The source image used to create this disk. If the source image is deleted, this field will not be set. To create a disk with one of the public operating system images, specify the image by its family name. For example, specify family/debian-9 to use the latest Debian 9 image: projects/debian-cloud/global/images/family/debian-9 Alternatively, use a specific version of a public operating system image: projects/debian-cloud/global/images/debian-9-stretch-vYYYYMMDD To create a disk with a custom image that you created, specify the image name in the following format: global/images/my-custom-image You can also specify a custom image by its image family, which returns the latest version of the image in that family. Replace the image name with family/family-name: global/images/family/my-image-family * `users` (*type:* `list(String.t)`, *default:* `nil`) - [Output Only] Links to the users of the disk (attached instances) in form: projects/project/zones/zone/instances/instance + * `asyncPrimaryDisk` (*type:* `GoogleApi.Compute.V1.Model.DiskAsyncReplication.t`, *default:* `nil`) - Disk asynchronously replicated into this disk. """ use GoogleApi.Gax.ModelBase @@ -68,14 +79,22 @@ defmodule GoogleApi.Compute.V1.Model.Disk do :locationHint => String.t() | nil, :replicaZones => list(String.t()) | nil, :params => GoogleApi.Compute.V1.Model.DiskParams.t() | nil, + :sourceInstantSnapshot => String.t() | nil, + :resourceStatus => GoogleApi.Compute.V1.Model.DiskResourceStatus.t() | nil, + :sourceInstantSnapshotId => String.t() | nil, + :asyncSecondaryDisks => + %{optional(String.t()) => GoogleApi.Compute.V1.Model.DiskAsyncReplicationList.t()} + | nil, :satisfiesPzs => boolean() | nil, :zone => String.t() | nil, :description => String.t() | nil, :sourceDiskId => String.t() | nil, :sizeGb => String.t() | nil, + :provisionedThroughput => String.t() | nil, :sourceSnapshotEncryptionKey => GoogleApi.Compute.V1.Model.CustomerEncryptionKey.t() | nil, :kind => String.t() | nil, + :enableConfidentialCompute => boolean() | nil, :sourceSnapshot => String.t() | nil, :name => String.t() | nil, :provisionedIops => String.t() | nil, @@ -85,37 +104,48 @@ defmodule GoogleApi.Compute.V1.Model.Disk do :sourceStorageObject => String.t() | nil, :sourceImageId => String.t() | nil, :guestOsFeatures => list(GoogleApi.Compute.V1.Model.GuestOsFeature.t()) | nil, + :sourceConsistencyGroupPolicy => String.t() | nil, :sourceSnapshotId => String.t() | nil, :licenseCodes => list(String.t()) | nil, :physicalBlockSizeBytes => String.t() | nil, :type => String.t() | nil, :licenses => list(String.t()) | nil, :labelFingerprint => String.t() | nil, + :storagePool => String.t() | nil, :creationTimestamp => String.t() | nil, :options => String.t() | nil, + :sourceConsistencyGroupPolicyId => String.t() | nil, :id => String.t() | nil, :sourceImageEncryptionKey => GoogleApi.Compute.V1.Model.CustomerEncryptionKey.t() | nil, :labels => map() | nil, :lastDetachTimestamp => String.t() | nil, :selfLink => String.t() | nil, + :satisfiesPzi => boolean() | nil, :diskEncryptionKey => GoogleApi.Compute.V1.Model.CustomerEncryptionKey.t() | nil, :sourceDisk => String.t() | nil, :lastAttachTimestamp => String.t() | nil, :sourceImage => String.t() | nil, - :users => list(String.t()) | nil + :users => list(String.t()) | nil, + :asyncPrimaryDisk => GoogleApi.Compute.V1.Model.DiskAsyncReplication.t() | nil } field(:architecture) field(:locationHint) field(:replicaZones, type: :list) field(:params, as: GoogleApi.Compute.V1.Model.DiskParams) + field(:sourceInstantSnapshot) + field(:resourceStatus, as: GoogleApi.Compute.V1.Model.DiskResourceStatus) + field(:sourceInstantSnapshotId) + field(:asyncSecondaryDisks, as: GoogleApi.Compute.V1.Model.DiskAsyncReplicationList, type: :map) field(:satisfiesPzs) field(:zone) field(:description) field(:sourceDiskId) field(:sizeGb) + field(:provisionedThroughput) field(:sourceSnapshotEncryptionKey, as: GoogleApi.Compute.V1.Model.CustomerEncryptionKey) field(:kind) + field(:enableConfidentialCompute) field(:sourceSnapshot) field(:name) field(:provisionedIops) @@ -125,24 +155,29 @@ defmodule GoogleApi.Compute.V1.Model.Disk do field(:sourceStorageObject) field(:sourceImageId) field(:guestOsFeatures, as: GoogleApi.Compute.V1.Model.GuestOsFeature, type: :list) + field(:sourceConsistencyGroupPolicy) field(:sourceSnapshotId) field(:licenseCodes, type: :list) field(:physicalBlockSizeBytes) field(:type) field(:licenses, type: :list) field(:labelFingerprint) + field(:storagePool) field(:creationTimestamp) field(:options) + field(:sourceConsistencyGroupPolicyId) field(:id) field(:sourceImageEncryptionKey, as: GoogleApi.Compute.V1.Model.CustomerEncryptionKey) field(:labels, type: :map) field(:lastDetachTimestamp) field(:selfLink) + field(:satisfiesPzi) field(:diskEncryptionKey, as: GoogleApi.Compute.V1.Model.CustomerEncryptionKey) field(:sourceDisk) field(:lastAttachTimestamp) field(:sourceImage) field(:users, type: :list) + field(:asyncPrimaryDisk, as: GoogleApi.Compute.V1.Model.DiskAsyncReplication) end defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.Disk do diff --git a/clients/compute/lib/google_api/compute/v1/model/disk_async_replication.ex b/clients/compute/lib/google_api/compute/v1/model/disk_async_replication.ex new file mode 100644 index 0000000000..a6eb5bea75 --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/disk_async_replication.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.DiskAsyncReplication do + @moduledoc """ + + + ## Attributes + + * `consistencyGroupPolicy` (*type:* `String.t`, *default:* `nil`) - [Output Only] URL of the DiskConsistencyGroupPolicy if replication was started on the disk as a member of a group. + * `consistencyGroupPolicyId` (*type:* `String.t`, *default:* `nil`) - [Output Only] ID of the DiskConsistencyGroupPolicy if replication was started on the disk as a member of a group. + * `disk` (*type:* `String.t`, *default:* `nil`) - The other disk asynchronously replicated to or from the current disk. You can provide this as a partial or full URL to the resource. For example, the following are valid values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /disks/disk - projects/project/zones/zone/disks/disk - zones/zone/disks/disk + * `diskId` (*type:* `String.t`, *default:* `nil`) - [Output Only] The unique ID of the other disk asynchronously replicated to or from the current disk. This value identifies the exact disk that was used to create this replication. For example, if you started replicating the persistent disk from a disk that was later deleted and recreated under the same name, the disk ID would identify the exact version of the disk that was used. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :consistencyGroupPolicy => String.t() | nil, + :consistencyGroupPolicyId => String.t() | nil, + :disk => String.t() | nil, + :diskId => String.t() | nil + } + + field(:consistencyGroupPolicy) + field(:consistencyGroupPolicyId) + field(:disk) + field(:diskId) +end + +defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.DiskAsyncReplication do + def decode(value, options) do + GoogleApi.Compute.V1.Model.DiskAsyncReplication.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.DiskAsyncReplication 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/disk_async_replication_list.ex b/clients/compute/lib/google_api/compute/v1/model/disk_async_replication_list.ex new file mode 100644 index 0000000000..61350aa358 --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/disk_async_replication_list.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.Compute.V1.Model.DiskAsyncReplicationList do + @moduledoc """ + + + ## Attributes + + * `asyncReplicationDisk` (*type:* `GoogleApi.Compute.V1.Model.DiskAsyncReplication.t`, *default:* `nil`) - + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :asyncReplicationDisk => GoogleApi.Compute.V1.Model.DiskAsyncReplication.t() | nil + } + + field(:asyncReplicationDisk, as: GoogleApi.Compute.V1.Model.DiskAsyncReplication) +end + +defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.DiskAsyncReplicationList do + def decode(value, options) do + GoogleApi.Compute.V1.Model.DiskAsyncReplicationList.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.DiskAsyncReplicationList 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/disk_resource_status.ex b/clients/compute/lib/google_api/compute/v1/model/disk_resource_status.ex new file mode 100644 index 0000000000..a428e5472c --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/disk_resource_status.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.Compute.V1.Model.DiskResourceStatus do + @moduledoc """ + + + ## Attributes + + * `asyncPrimaryDisk` (*type:* `GoogleApi.Compute.V1.Model.DiskResourceStatusAsyncReplicationStatus.t`, *default:* `nil`) - + * `asyncSecondaryDisks` (*type:* `%{optional(String.t) => GoogleApi.Compute.V1.Model.DiskResourceStatusAsyncReplicationStatus.t}`, *default:* `nil`) - Key: disk, value: AsyncReplicationStatus message + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :asyncPrimaryDisk => + GoogleApi.Compute.V1.Model.DiskResourceStatusAsyncReplicationStatus.t() | nil, + :asyncSecondaryDisks => + %{ + optional(String.t()) => + GoogleApi.Compute.V1.Model.DiskResourceStatusAsyncReplicationStatus.t() + } + | nil + } + + field(:asyncPrimaryDisk, as: GoogleApi.Compute.V1.Model.DiskResourceStatusAsyncReplicationStatus) + + field(:asyncSecondaryDisks, + as: GoogleApi.Compute.V1.Model.DiskResourceStatusAsyncReplicationStatus, + type: :map + ) +end + +defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.DiskResourceStatus do + def decode(value, options) do + GoogleApi.Compute.V1.Model.DiskResourceStatus.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.DiskResourceStatus 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/disk_resource_status_async_replication_status.ex b/clients/compute/lib/google_api/compute/v1/model/disk_resource_status_async_replication_status.ex new file mode 100644 index 0000000000..4eaa2ea4da --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/disk_resource_status_async_replication_status.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.Compute.V1.Model.DiskResourceStatusAsyncReplicationStatus do + @moduledoc """ + + + ## Attributes + + * `state` (*type:* `String.t`, *default:* `nil`) - + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :state => String.t() | nil + } + + field(:state) +end + +defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.DiskResourceStatusAsyncReplicationStatus do + def decode(value, options) do + GoogleApi.Compute.V1.Model.DiskResourceStatusAsyncReplicationStatus.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.DiskResourceStatusAsyncReplicationStatus 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/disks_start_async_replication_request.ex b/clients/compute/lib/google_api/compute/v1/model/disks_start_async_replication_request.ex new file mode 100644 index 0000000000..aa92bb5c68 --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/disks_start_async_replication_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.Compute.V1.Model.DisksStartAsyncReplicationRequest do + @moduledoc """ + + + ## Attributes + + * `asyncSecondaryDisk` (*type:* `String.t`, *default:* `nil`) - The secondary disk to start asynchronous replication to. You can provide this as a partial or full URL to the resource. For example, the following are valid values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /disks/disk - https://www.googleapis.com/compute/v1/projects/project/regions/region /disks/disk - projects/project/zones/zone/disks/disk - projects/project/regions/region/disks/disk - zones/zone/disks/disk - regions/region/disks/disk + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :asyncSecondaryDisk => String.t() | nil + } + + field(:asyncSecondaryDisk) +end + +defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.DisksStartAsyncReplicationRequest do + def decode(value, options) do + GoogleApi.Compute.V1.Model.DisksStartAsyncReplicationRequest.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.DisksStartAsyncReplicationRequest 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/disks_stop_group_async_replication_resource.ex b/clients/compute/lib/google_api/compute/v1/model/disks_stop_group_async_replication_resource.ex new file mode 100644 index 0000000000..a895082d3c --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/disks_stop_group_async_replication_resource.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.Compute.V1.Model.DisksStopGroupAsyncReplicationResource do + @moduledoc """ + A transient resource used in compute.disks.stopGroupAsyncReplication and compute.regionDisks.stopGroupAsyncReplication. It is only used to process requests and is not persisted. + + ## Attributes + + * `resourcePolicy` (*type:* `String.t`, *default:* `nil`) - The URL of the DiskConsistencyGroupPolicy for the group of disks to stop. This may be a full or partial URL, such as: - https://www.googleapis.com/compute/v1/projects/project/regions/region /resourcePolicies/resourcePolicy - projects/project/regions/region/resourcePolicies/resourcePolicy - regions/region/resourcePolicies/resourcePolicy + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :resourcePolicy => String.t() | nil + } + + field(:resourcePolicy) +end + +defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.DisksStopGroupAsyncReplicationResource do + def decode(value, options) do + GoogleApi.Compute.V1.Model.DisksStopGroupAsyncReplicationResource.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.DisksStopGroupAsyncReplicationResource 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/error_info.ex b/clients/compute/lib/google_api/compute/v1/model/error_info.ex index a7e0d590bd..7903ea791b 100644 --- a/clients/compute/lib/google_api/compute/v1/model/error_info.ex +++ b/clients/compute/lib/google_api/compute/v1/model/error_info.ex @@ -23,7 +23,7 @@ defmodule GoogleApi.Compute.V1.Model.ErrorInfo do * `domain` (*type:* `String.t`, *default:* `nil`) - The logical grouping to which the "reason" belongs. The error domain is typically the registered service name of the tool or product that generates the error. Example: "pubsub.googleapis.com". If the error is generated by some common infrastructure, the error domain must be a globally unique value that identifies the infrastructure. For Google API infrastructure, the error domain is "googleapis.com". * `metadatas` (*type:* `map()`, *default:* `nil`) - Additional structured details about this error. Keys should match /[a-zA-Z0-9-_]/ and be limited to 64 characters in length. When identifying the current value of an exceeded limit, the units should be contained in the key, not the value. For example, rather than {"instanceLimit": "100/request"}, should be returned as, {"instanceLimitPerRequest": "100"}, if the client exceeds the number of instances that can be created in a single (batch) request. - * `reason` (*type:* `String.t`, *default:* `nil`) - The reason of the error. This is a constant value that identifies the proximate cause of the error. Error reasons are unique within a particular domain of errors. This should be at most 63 characters and match /[A-Z0-9_]+/. + * `reason` (*type:* `String.t`, *default:* `nil`) - The reason of the error. This is a constant value that identifies the proximate cause of the error. Error reasons are unique within a particular domain of errors. This should be at most 63 characters and match a regular expression of `A-Z+[A-Z0-9]`, which represents UPPER_SNAKE_CASE. """ use GoogleApi.Gax.ModelBase diff --git a/clients/compute/lib/google_api/compute/v1/model/external_vpn_gateway_interface.ex b/clients/compute/lib/google_api/compute/v1/model/external_vpn_gateway_interface.ex index 430b8381d9..bed4728d12 100644 --- a/clients/compute/lib/google_api/compute/v1/model/external_vpn_gateway_interface.ex +++ b/clients/compute/lib/google_api/compute/v1/model/external_vpn_gateway_interface.ex @@ -23,17 +23,20 @@ defmodule GoogleApi.Compute.V1.Model.ExternalVpnGatewayInterface do * `id` (*type:* `integer()`, *default:* `nil`) - The numeric ID of this interface. The allowed input values for this id for different redundancy types of external VPN gateway: - SINGLE_IP_INTERNALLY_REDUNDANT - 0 - TWO_IPS_REDUNDANCY - 0, 1 - FOUR_IPS_REDUNDANCY - 0, 1, 2, 3 * `ipAddress` (*type:* `String.t`, *default:* `nil`) - IP address of the interface in the external VPN gateway. Only IPv4 is supported. This IP address can be either from your on-premise gateway or another Cloud provider's VPN gateway, it cannot be an IP address from Google Compute Engine. + * `ipv6Address` (*type:* `String.t`, *default:* `nil`) - IPv6 address of the interface in the external VPN gateway. This IPv6 address can be either from your on-premise gateway or another Cloud provider's VPN gateway, it cannot be an IP address from Google Compute Engine. Must specify an IPv6 address (not IPV4-mapped) using any format described in RFC 4291 (e.g. 2001:db8:0:0:2d9:51:0:0). The output format is RFC 5952 format (e.g. 2001:db8::2d9:51:0:0). """ use GoogleApi.Gax.ModelBase @type t :: %__MODULE__{ :id => integer() | nil, - :ipAddress => String.t() | nil + :ipAddress => String.t() | nil, + :ipv6Address => String.t() | nil } field(:id) field(:ipAddress) + field(:ipv6Address) end defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.ExternalVpnGatewayInterface do diff --git a/clients/compute/lib/google_api/compute/v1/model/firewall_policy.ex b/clients/compute/lib/google_api/compute/v1/model/firewall_policy.ex index c2cbea1024..750bd3a5f9 100644 --- a/clients/compute/lib/google_api/compute/v1/model/firewall_policy.ex +++ b/clients/compute/lib/google_api/compute/v1/model/firewall_policy.ex @@ -28,7 +28,7 @@ defmodule GoogleApi.Compute.V1.Model.FirewallPolicy do * `fingerprint` (*type:* `String.t`, *default:* `nil`) - Specifies a fingerprint for this resource, which is essentially a hash of the metadata's contents and used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update metadata. You must always provide an up-to-date fingerprint hash in order to update or change metadata, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make get() request to the firewall policy. * `id` (*type:* `String.t`, *default:* `nil`) - [Output Only] The unique identifier for the resource. This identifier is defined by the server. * `kind` (*type:* `String.t`, *default:* `compute#firewallPolicy`) - [Output only] Type of the resource. Always compute#firewallPolicyfor firewall policies - * `name` (*type:* `String.t`, *default:* `nil`) - Name of the resource. For Organization Firewall Policies it's a [Output Only] numeric ID allocated by GCP which uniquely identifies the Organization Firewall Policy. + * `name` (*type:* `String.t`, *default:* `nil`) - Name of the resource. For Organization Firewall Policies it's a [Output Only] numeric ID allocated by Google Cloud which uniquely identifies the Organization Firewall Policy. * `parent` (*type:* `String.t`, *default:* `nil`) - [Output Only] The parent of the firewall policy. This field is not applicable to network firewall policies. * `region` (*type:* `String.t`, *default:* `nil`) - [Output Only] URL of the region where the regional firewall policy resides. This field is not applicable to global firewall policies. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body. * `ruleTupleCount` (*type:* `integer()`, *default:* `nil`) - [Output Only] Total count of all firewall policy rule tuples. A firewall policy can not exceed a set number of tuples. diff --git a/clients/compute/lib/google_api/compute/v1/model/firewall_policy_rule.ex b/clients/compute/lib/google_api/compute/v1/model/firewall_policy_rule.ex index 646d2abe16..720ce0d23e 100644 --- a/clients/compute/lib/google_api/compute/v1/model/firewall_policy_rule.ex +++ b/clients/compute/lib/google_api/compute/v1/model/firewall_policy_rule.ex @@ -21,7 +21,7 @@ defmodule GoogleApi.Compute.V1.Model.FirewallPolicyRule do ## Attributes - * `action` (*type:* `String.t`, *default:* `nil`) - The Action to perform when the client connection triggers the rule. Can currently be either "allow" or "deny()" where valid values for status are 403, 404, and 502. + * `action` (*type:* `String.t`, *default:* `nil`) - The Action to perform when the client connection triggers the rule. Valid actions are "allow", "deny" and "goto_next". * `description` (*type:* `String.t`, *default:* `nil`) - An optional description for this resource. * `direction` (*type:* `String.t`, *default:* `nil`) - The direction in which this rule applies. * `disabled` (*type:* `boolean()`, *default:* `nil`) - Denotes whether the firewall policy rule is disabled. When set to true, the firewall policy rule is not enforced and traffic behaves as if it did not exist. If this is unspecified, the firewall policy rule will be enabled. @@ -31,9 +31,11 @@ defmodule GoogleApi.Compute.V1.Model.FirewallPolicyRule do * `priority` (*type:* `integer()`, *default:* `nil`) - An integer indicating the priority of a rule in the list. The priority must be a positive value between 0 and 2147483647. Rules are evaluated from highest to lowest priority where 0 is the highest priority and 2147483647 is the lowest prority. * `ruleName` (*type:* `String.t`, *default:* `nil`) - An optional name for the rule. This field is not a unique identifier and can be updated. * `ruleTupleCount` (*type:* `integer()`, *default:* `nil`) - [Output Only] Calculation of the complexity of a single firewall policy rule. + * `securityProfileGroup` (*type:* `String.t`, *default:* `nil`) - A fully-qualified URL of a SecurityProfile resource instance. Example: https://networksecurity.googleapis.com/v1/projects/{project}/locations/{location}/securityProfileGroups/my-security-profile-group Must be specified if action = 'apply_security_profile_group' and cannot be specified for other actions. * `targetResources` (*type:* `list(String.t)`, *default:* `nil`) - A list of network resource URLs to which this rule applies. This field allows you to control which network's VMs get this rule. If this field is left blank, all VMs within the organization will receive the rule. * `targetSecureTags` (*type:* `list(GoogleApi.Compute.V1.Model.FirewallPolicyRuleSecureTag.t)`, *default:* `nil`) - A list of secure tags that controls which instances the firewall rule applies to. If targetSecureTag are specified, then the firewall rule applies only to instances in the VPC network that have one of those EFFECTIVE secure tags, if all the target_secure_tag are in INEFFECTIVE state, then this rule will be ignored. targetSecureTag may not be set at the same time as targetServiceAccounts. If neither targetServiceAccounts nor targetSecureTag are specified, the firewall rule applies to all instances on the specified network. Maximum number of target label tags allowed is 256. * `targetServiceAccounts` (*type:* `list(String.t)`, *default:* `nil`) - A list of service accounts indicating the sets of instances that are applied with this rule. + * `tlsInspect` (*type:* `boolean()`, *default:* `nil`) - Boolean flag indicating if the traffic should be TLS decrypted. Can be set only if action = 'apply_security_profile_group' and cannot be set for other actions. """ use GoogleApi.Gax.ModelBase @@ -49,10 +51,12 @@ defmodule GoogleApi.Compute.V1.Model.FirewallPolicyRule do :priority => integer() | nil, :ruleName => String.t() | nil, :ruleTupleCount => integer() | nil, + :securityProfileGroup => String.t() | nil, :targetResources => list(String.t()) | nil, :targetSecureTags => list(GoogleApi.Compute.V1.Model.FirewallPolicyRuleSecureTag.t()) | nil, - :targetServiceAccounts => list(String.t()) | nil + :targetServiceAccounts => list(String.t()) | nil, + :tlsInspect => boolean() | nil } field(:action) @@ -65,11 +69,13 @@ defmodule GoogleApi.Compute.V1.Model.FirewallPolicyRule do field(:priority) field(:ruleName) field(:ruleTupleCount) + field(:securityProfileGroup) field(:targetResources, type: :list) field(:targetSecureTags, as: GoogleApi.Compute.V1.Model.FirewallPolicyRuleSecureTag, type: :list) field(:targetServiceAccounts, type: :list) + field(:tlsInspect) end defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.FirewallPolicyRule do diff --git a/clients/compute/lib/google_api/compute/v1/model/firewall_policy_rule_matcher.ex b/clients/compute/lib/google_api/compute/v1/model/firewall_policy_rule_matcher.ex index 0165cc52f5..20b66357d9 100644 --- a/clients/compute/lib/google_api/compute/v1/model/firewall_policy_rule_matcher.ex +++ b/clients/compute/lib/google_api/compute/v1/model/firewall_policy_rule_matcher.ex @@ -21,31 +21,56 @@ defmodule GoogleApi.Compute.V1.Model.FirewallPolicyRuleMatcher do ## Attributes + * `destAddressGroups` (*type:* `list(String.t)`, *default:* `nil`) - Address groups which should be matched against the traffic destination. Maximum number of destination address groups is 10. + * `destFqdns` (*type:* `list(String.t)`, *default:* `nil`) - Fully Qualified Domain Name (FQDN) which should be matched against traffic destination. Maximum number of destination fqdn allowed is 100. * `destIpRanges` (*type:* `list(String.t)`, *default:* `nil`) - CIDR IP address range. Maximum number of destination CIDR IP ranges allowed is 5000. + * `destRegionCodes` (*type:* `list(String.t)`, *default:* `nil`) - Region codes whose IP addresses will be used to match for destination of traffic. Should be specified as 2 letter country code defined as per ISO 3166 alpha-2 country codes. ex."US" Maximum number of dest region codes allowed is 5000. + * `destThreatIntelligences` (*type:* `list(String.t)`, *default:* `nil`) - Names of Network Threat Intelligence lists. The IPs in these lists will be matched against traffic destination. * `layer4Configs` (*type:* `list(GoogleApi.Compute.V1.Model.FirewallPolicyRuleMatcherLayer4Config.t)`, *default:* `nil`) - Pairs of IP protocols and ports that the rule should match. + * `srcAddressGroups` (*type:* `list(String.t)`, *default:* `nil`) - Address groups which should be matched against the traffic source. Maximum number of source address groups is 10. + * `srcFqdns` (*type:* `list(String.t)`, *default:* `nil`) - Fully Qualified Domain Name (FQDN) which should be matched against traffic source. Maximum number of source fqdn allowed is 100. * `srcIpRanges` (*type:* `list(String.t)`, *default:* `nil`) - CIDR IP address range. Maximum number of source CIDR IP ranges allowed is 5000. + * `srcRegionCodes` (*type:* `list(String.t)`, *default:* `nil`) - Region codes whose IP addresses will be used to match for source of traffic. Should be specified as 2 letter country code defined as per ISO 3166 alpha-2 country codes. ex."US" Maximum number of source region codes allowed is 5000. * `srcSecureTags` (*type:* `list(GoogleApi.Compute.V1.Model.FirewallPolicyRuleSecureTag.t)`, *default:* `nil`) - List of secure tag values, which should be matched at the source of the traffic. For INGRESS rule, if all the srcSecureTag are INEFFECTIVE, and there is no srcIpRange, this rule will be ignored. Maximum number of source tag values allowed is 256. + * `srcThreatIntelligences` (*type:* `list(String.t)`, *default:* `nil`) - Names of Network Threat Intelligence lists. The IPs in these lists will be matched against traffic source. """ use GoogleApi.Gax.ModelBase @type t :: %__MODULE__{ + :destAddressGroups => list(String.t()) | nil, + :destFqdns => list(String.t()) | nil, :destIpRanges => list(String.t()) | nil, + :destRegionCodes => list(String.t()) | nil, + :destThreatIntelligences => list(String.t()) | nil, :layer4Configs => list(GoogleApi.Compute.V1.Model.FirewallPolicyRuleMatcherLayer4Config.t()) | nil, + :srcAddressGroups => list(String.t()) | nil, + :srcFqdns => list(String.t()) | nil, :srcIpRanges => list(String.t()) | nil, - :srcSecureTags => list(GoogleApi.Compute.V1.Model.FirewallPolicyRuleSecureTag.t()) | nil + :srcRegionCodes => list(String.t()) | nil, + :srcSecureTags => + list(GoogleApi.Compute.V1.Model.FirewallPolicyRuleSecureTag.t()) | nil, + :srcThreatIntelligences => list(String.t()) | nil } + field(:destAddressGroups, type: :list) + field(:destFqdns, type: :list) field(:destIpRanges, type: :list) + field(:destRegionCodes, type: :list) + field(:destThreatIntelligences, type: :list) field(:layer4Configs, as: GoogleApi.Compute.V1.Model.FirewallPolicyRuleMatcherLayer4Config, type: :list ) + field(:srcAddressGroups, type: :list) + field(:srcFqdns, type: :list) field(:srcIpRanges, type: :list) + field(:srcRegionCodes, type: :list) field(:srcSecureTags, as: GoogleApi.Compute.V1.Model.FirewallPolicyRuleSecureTag, type: :list) + field(:srcThreatIntelligences, type: :list) end defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.FirewallPolicyRuleMatcher do diff --git a/clients/compute/lib/google_api/compute/v1/model/forwarding_rule.ex b/clients/compute/lib/google_api/compute/v1/model/forwarding_rule.ex index 0bcf05d777..8329cc57b0 100644 --- a/clients/compute/lib/google_api/compute/v1/model/forwarding_rule.ex +++ b/clients/compute/lib/google_api/compute/v1/model/forwarding_rule.ex @@ -17,116 +17,125 @@ defmodule GoogleApi.Compute.V1.Model.ForwardingRule do @moduledoc """ - Represents a Forwarding Rule resource. Forwarding rule resources in Google Cloud can be either regional or global in scope: * [Global](https://cloud.google.com/compute/docs/reference/rest/v1/globalForwardingRules) * [Regional](https://cloud.google.com/compute/docs/reference/rest/v1/forwardingRules) A forwarding rule and its corresponding IP address represent the frontend configuration of a Google Cloud Platform load balancer. Forwarding rules can also reference target instances and Cloud VPN Classic gateways (targetVpnGateway). For more information, read Forwarding rule concepts and Using protocol forwarding. + Represents a Forwarding Rule resource. Forwarding rule resources in Google Cloud can be either regional or global in scope: * [Global](https://cloud.google.com/compute/docs/reference/rest/v1/globalForwardingRules) * [Regional](https://cloud.google.com/compute/docs/reference/rest/v1/forwardingRules) A forwarding rule and its corresponding IP address represent the frontend configuration of a Google Cloud load balancer. Forwarding rules can also reference target instances and Cloud VPN Classic gateways (targetVpnGateway). For more information, read Forwarding rule concepts and Using protocol forwarding. ## Attributes - * `IPAddress` (*type:* `String.t`, *default:* `nil`) - IP address for which this forwarding rule accepts traffic. When a client sends traffic to this IP address, the forwarding rule directs the traffic to the referenced target or backendService. While creating a forwarding rule, specifying an IPAddress is required under the following circumstances: - When the target is set to targetGrpcProxy and validateForProxyless is set to true, the IPAddress should be set to 0.0.0.0. - When the target is a Private Service Connect Google APIs bundle, you must specify an IPAddress. Otherwise, you can optionally specify an IP address that references an existing static (reserved) IP address resource. When omitted, Google Cloud assigns an ephemeral IP address. Use one of the following formats to specify an IP address while creating a forwarding rule: * IP address number, as in `100.1.2.3` * IPv6 address range, as in `2600:1234::/96` * Full resource URL, as in https://www.googleapis.com/compute/v1/projects/ project_id/regions/region/addresses/address-name * Partial URL or by name, as in: - projects/project_id/regions/region/addresses/address-name - regions/region/addresses/address-name - global/addresses/address-name - address-name The forwarding rule's target or backendService, and in most cases, also the loadBalancingScheme, determine the type of IP address that you can use. For detailed information, see [IP address specifications](https://cloud.google.com/load-balancing/docs/forwarding-rule-concepts#ip_address_specifications). When reading an IPAddress, the API always returns the IP address number. - * `IPProtocol` (*type:* `String.t`, *default:* `nil`) - The IP protocol to which this rule applies. For protocol forwarding, valid options are TCP, UDP, ESP, AH, SCTP, ICMP and L3_DEFAULT. The valid IP protocols are different for different load balancing products as described in [Load balancing features](https://cloud.google.com/load-balancing/docs/features#protocols_from_the_load_balancer_to_the_backends). - * `allPorts` (*type:* `boolean()`, *default:* `nil`) - This field is used along with the backend_service field for Internal TCP/UDP Load Balancing or Network Load Balancing, or with the target field for internal and external TargetInstance. You can only use one of ports and port_range, or allPorts. The three are mutually exclusive. For TCP, UDP and SCTP traffic, packets addressed to any ports will be forwarded to the target or backendService. - * `allowGlobalAccess` (*type:* `boolean()`, *default:* `nil`) - This field is used along with the backend_service field for internal load balancing or with the target field for internal TargetInstance. If the field is set to TRUE, clients can access ILB from all regions. Otherwise only allows access from clients in the same region as the internal load balancer. - * `backendService` (*type:* `String.t`, *default:* `nil`) - Identifies the backend service to which the forwarding rule sends traffic. Required for Internal TCP/UDP Load Balancing and Network Load Balancing; must be omitted for all other load balancer types. - * `creationTimestamp` (*type:* `String.t`, *default:* `nil`) - [Output Only] Creation timestamp in RFC3339 text format. - * `description` (*type:* `String.t`, *default:* `nil`) - An optional description of this resource. Provide this property when you create the resource. - * `fingerprint` (*type:* `String.t`, *default:* `nil`) - Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field will be ignored when inserting a ForwardingRule. Include the fingerprint in patch request to ensure that you do not overwrite changes that were applied from another concurrent request. To see the latest fingerprint, make a get() request to retrieve a ForwardingRule. - * `id` (*type:* `String.t`, *default:* `nil`) - [Output Only] The unique identifier for the resource. This identifier is defined by the server. + * `baseForwardingRule` (*type:* `String.t`, *default:* `nil`) - [Output Only] The URL for the corresponding base forwarding rule. By base forwarding rule, we mean the forwarding rule that has the same IP address, protocol, and port settings with the current forwarding rule, but without sourceIPRanges specified. Always empty if the current forwarding rule does not have sourceIPRanges specified. + * `backendService` (*type:* `String.t`, *default:* `nil`) - Identifies the backend service to which the forwarding rule sends traffic. Required for internal and external passthrough Network Load Balancers; must be omitted for all other load balancer types. + * `allowPscGlobalAccess` (*type:* `boolean()`, *default:* `nil`) - This is used in PSC consumer ForwardingRule to control whether the PSC endpoint can be accessed from another region. + * `networkTier` (*type:* `String.t`, *default:* `nil`) - This signifies the networking tier used for configuring this load balancer and can only take the following values: PREMIUM, STANDARD. For regional ForwardingRule, the valid values are PREMIUM and STANDARD. For GlobalForwardingRule, the valid value is PREMIUM. If this field is not specified, it is assumed to be PREMIUM. If IPAddress is specified, this value must be equal to the networkTier of the Address. * `ipVersion` (*type:* `String.t`, *default:* `nil`) - The IP Version that will be used by this forwarding rule. Valid options are IPV4 or IPV6. - * `isMirroringCollector` (*type:* `boolean()`, *default:* `nil`) - Indicates whether or not this load balancer can be used as a collector for packet mirroring. To prevent mirroring loops, instances behind this load balancer will not have their traffic mirrored even if a PacketMirroring rule applies to them. This can only be set to true for load balancers that have their loadBalancingScheme set to INTERNAL. - * `kind` (*type:* `String.t`, *default:* `compute#forwardingRule`) - [Output Only] Type of the resource. Always compute#forwardingRule for Forwarding Rule resources. - * `labelFingerprint` (*type:* `String.t`, *default:* `nil`) - A fingerprint for the labels being applied to this resource, which is essentially a hash of the labels set used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve a ForwardingRule. - * `labels` (*type:* `map()`, *default:* `nil`) - Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty. - * `loadBalancingScheme` (*type:* `String.t`, *default:* `nil`) - Specifies the forwarding rule type. For more information about forwarding rules, refer to Forwarding rule concepts. + * `serviceDirectoryRegistrations` (*type:* `list(GoogleApi.Compute.V1.Model.ForwardingRuleServiceDirectoryRegistration.t)`, *default:* `nil`) - Service Directory resources to register this forwarding rule with. Currently, only supports a single Service Directory resource. + * `noAutomateDnsZone` (*type:* `boolean()`, *default:* `nil`) - This is used in PSC consumer ForwardingRule to control whether it should try to auto-generate a DNS zone or not. Non-PSC forwarding rules do not use this field. Once set, this field is not mutable. + * `description` (*type:* `String.t`, *default:* `nil`) - An optional description of this resource. Provide this property when you create the resource. * `metadataFilters` (*type:* `list(GoogleApi.Compute.V1.Model.MetadataFilter.t)`, *default:* `nil`) - Opaque filter criteria used by load balancer to restrict routing configuration to a limited set of xDS compliant clients. In their xDS requests to load balancer, xDS clients present node metadata. When there is a match, the relevant configuration is made available to those proxies. Otherwise, all the resources (e.g. TargetHttpProxy, UrlMap) referenced by the ForwardingRule are not visible to those proxies. For each metadataFilter in this list, if its filterMatchCriteria is set to MATCH_ANY, at least one of the filterLabels must match the corresponding label provided in the metadata. If its filterMatchCriteria is set to MATCH_ALL, then all of its filterLabels must match with corresponding labels provided in the metadata. If multiple metadataFilters are specified, all of them need to be satisfied in order to be considered a match. metadataFilters specified here will be applifed before those specified in the UrlMap that this ForwardingRule references. metadataFilters only applies to Loadbalancers that have their loadBalancingScheme set to INTERNAL_SELF_MANAGED. - * `name` (*type:* `String.t`, *default:* `nil`) - Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. For Private Service Connect forwarding rules that forward traffic to Google APIs, the forwarding rule name must be a 1-20 characters string with lowercase letters and numbers and must start with a letter. - * `network` (*type:* `String.t`, *default:* `nil`) - This field is not used for external load balancing. For Internal TCP/UDP Load Balancing, this field identifies the network that the load balanced IP should belong to for this Forwarding Rule. If this field is not specified, the default network will be used. For Private Service Connect forwarding rules that forward traffic to Google APIs, a network must be provided. - * `networkTier` (*type:* `String.t`, *default:* `nil`) - This signifies the networking tier used for configuring this load balancer and can only take the following values: PREMIUM, STANDARD. For regional ForwardingRule, the valid values are PREMIUM and STANDARD. For GlobalForwardingRule, the valid value is PREMIUM. If this field is not specified, it is assumed to be PREMIUM. If IPAddress is specified, this value must be equal to the networkTier of the Address. - * `noAutomateDnsZone` (*type:* `boolean()`, *default:* `nil`) - This is used in PSC consumer ForwardingRule to control whether it should try to auto-generate a DNS zone or not. Non-PSC forwarding rules do not use this field. - * `portRange` (*type:* `String.t`, *default:* `nil`) - This field can be used only if: - Load balancing scheme is one of EXTERNAL, INTERNAL_SELF_MANAGED or INTERNAL_MANAGED - IPProtocol is one of TCP, UDP, or SCTP. Packets addressed to ports in the specified range will be forwarded to target or backend_service. You can only use one of ports, port_range, or allPorts. The three are mutually exclusive. Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint ports. Some types of forwarding target have constraints on the acceptable ports. For more information, see [Port specifications](https://cloud.google.com/load-balancing/docs/forwarding-rule-concepts#port_specifications). @pattern: \\\\d+(?:-\\\\d+)? - * `ports` (*type:* `list(String.t)`, *default:* `nil`) - The ports field is only supported when the forwarding rule references a backend_service directly. Only packets addressed to the [specified list of ports]((https://cloud.google.com/load-balancing/docs/forwarding-rule-concepts#port_specifications)) are forwarded to backends. You can only use one of ports and port_range, or allPorts. The three are mutually exclusive. You can specify a list of up to five ports, which can be non-contiguous. Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint ports. @pattern: \\\\d+(?:-\\\\d+)? - * `pscConnectionId` (*type:* `String.t`, *default:* `nil`) - [Output Only] The PSC connection id of the PSC Forwarding Rule. + * `kind` (*type:* `String.t`, *default:* `compute#forwardingRule`) - [Output Only] Type of the resource. Always compute#forwardingRule for forwarding rule resources. * `pscConnectionStatus` (*type:* `String.t`, *default:* `nil`) - + * `name` (*type:* `String.t`, *default:* `nil`) - Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. For Private Service Connect forwarding rules that forward traffic to Google APIs, the forwarding rule name must be a 1-20 characters string with lowercase letters and numbers and must start with a letter. + * `allowGlobalAccess` (*type:* `boolean()`, *default:* `nil`) - If set to true, clients can access the internal passthrough Network Load Balancers, the regional internal Application Load Balancer, and the regional internal proxy Network Load Balancer from all regions. If false, only allows access from the local region the load balancer is located at. Note that for INTERNAL_MANAGED forwarding rules, this field cannot be changed after the forwarding rule is created. + * `pscConnectionId` (*type:* `String.t`, *default:* `nil`) - [Output Only] The PSC connection id of the PSC forwarding rule. + * `fingerprint` (*type:* `String.t`, *default:* `nil`) - Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field will be ignored when inserting a ForwardingRule. Include the fingerprint in patch request to ensure that you do not overwrite changes that were applied from another concurrent request. To see the latest fingerprint, make a get() request to retrieve a ForwardingRule. + * `subnetwork` (*type:* `String.t`, *default:* `nil`) - This field identifies the subnetwork that the load balanced IP should belong to for this forwarding rule, used with internal load balancers and external passthrough Network Load Balancers with IPv6. If the network specified is in auto subnet mode, this field is optional. However, a subnetwork must be specified if the network is in custom subnet mode or when creating external forwarding rule with IPv6. * `region` (*type:* `String.t`, *default:* `nil`) - [Output Only] URL of the region where the regional forwarding rule resides. This field is not applicable to global forwarding rules. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body. + * `network` (*type:* `String.t`, *default:* `nil`) - This field is not used for global external load balancing. For internal passthrough Network Load Balancers, this field identifies the network that the load balanced IP should belong to for this forwarding rule. If the subnetwork is specified, the network of the subnetwork will be used. If neither subnetwork nor this field is specified, the default network will be used. For Private Service Connect forwarding rules that forward traffic to Google APIs, a network must be provided. + * `target` (*type:* `String.t`, *default:* `nil`) - The URL of the target resource to receive the matched traffic. For regional forwarding rules, this target must be in the same region as the forwarding rule. For global forwarding rules, this target must be a global load balancing resource. The forwarded traffic must be of a type appropriate to the target object. - For load balancers, see the "Target" column in [Port specifications](https://cloud.google.com/load-balancing/docs/forwarding-rule-concepts#ip_address_specifications). - For Private Service Connect forwarding rules that forward traffic to Google APIs, provide the name of a supported Google API bundle: - vpc-sc - APIs that support VPC Service Controls. - all-apis - All supported Google APIs. - For Private Service Connect forwarding rules that forward traffic to managed services, the target must be a service attachment. The target is not mutable once set as a service attachment. + * `ports` (*type:* `list(String.t)`, *default:* `nil`) - The ports, portRange, and allPorts fields are mutually exclusive. Only packets addressed to ports in the specified range will be forwarded to the backends configured with this forwarding rule. The ports field has the following limitations: - It requires that the forwarding rule IPProtocol be TCP, UDP, or SCTP, and - It's applicable only to the following products: internal passthrough Network Load Balancers, backend service-based external passthrough Network Load Balancers, and internal protocol forwarding. - You can specify a list of up to five ports by number, separated by commas. The ports can be contiguous or discontiguous. For external forwarding rules, two or more forwarding rules cannot use the same [IPAddress, IPProtocol] pair if they share at least one port number. For internal forwarding rules within the same VPC network, two or more forwarding rules cannot use the same [IPAddress, IPProtocol] pair if they share at least one port number. @pattern: \\\\d+(?:-\\\\d+)? + * `portRange` (*type:* `String.t`, *default:* `nil`) - The ports, portRange, and allPorts fields are mutually exclusive. Only packets addressed to ports in the specified range will be forwarded to the backends configured with this forwarding rule. The portRange field has the following limitations: - It requires that the forwarding rule IPProtocol be TCP, UDP, or SCTP, and - It's applicable only to the following products: external passthrough Network Load Balancers, internal and external proxy Network Load Balancers, internal and external Application Load Balancers, external protocol forwarding, and Classic VPN. - Some products have restrictions on what ports can be used. See port specifications for details. For external forwarding rules, two or more forwarding rules cannot use the same [IPAddress, IPProtocol] pair, and cannot have overlapping portRanges. For internal forwarding rules within the same VPC network, two or more forwarding rules cannot use the same [IPAddress, IPProtocol] pair, and cannot have overlapping portRanges. @pattern: \\\\d+(?:-\\\\d+)? + * `serviceLabel` (*type:* `String.t`, *default:* `nil`) - An optional prefix to the service name for this forwarding rule. If specified, the prefix is the first label of the fully qualified service name. The label must be 1-63 characters long, and comply with RFC1035. Specifically, the label must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. This field is only used for internal load balancing. + * `loadBalancingScheme` (*type:* `String.t`, *default:* `nil`) - Specifies the forwarding rule type. For more information about forwarding rules, refer to Forwarding rule concepts. + * `sourceIpRanges` (*type:* `list(String.t)`, *default:* `nil`) - If not empty, this forwarding rule will only forward the traffic when the source IP address matches one of the IP addresses or CIDR ranges set here. Note that a forwarding rule can only have up to 64 source IP ranges, and this field can only be used with a regional forwarding rule whose scheme is EXTERNAL. Each source_ip_range entry should be either an IP address (for example, 1.2.3.4) or a CIDR range (for example, 1.2.3.0/24). + * `labelFingerprint` (*type:* `String.t`, *default:* `nil`) - A fingerprint for the labels being applied to this resource, which is essentially a hash of the labels set used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve a ForwardingRule. + * `creationTimestamp` (*type:* `String.t`, *default:* `nil`) - [Output Only] Creation timestamp in RFC3339 text format. + * `IPProtocol` (*type:* `String.t`, *default:* `nil`) - The IP protocol to which this rule applies. For protocol forwarding, valid options are TCP, UDP, ESP, AH, SCTP, ICMP and L3_DEFAULT. The valid IP protocols are different for different load balancing products as described in [Load balancing features](https://cloud.google.com/load-balancing/docs/features#protocols_from_the_load_balancer_to_the_backends). + * `IPAddress` (*type:* `String.t`, *default:* `nil`) - IP address for which this forwarding rule accepts traffic. When a client sends traffic to this IP address, the forwarding rule directs the traffic to the referenced target or backendService. While creating a forwarding rule, specifying an IPAddress is required under the following circumstances: - When the target is set to targetGrpcProxy and validateForProxyless is set to true, the IPAddress should be set to 0.0.0.0. - When the target is a Private Service Connect Google APIs bundle, you must specify an IPAddress. Otherwise, you can optionally specify an IP address that references an existing static (reserved) IP address resource. When omitted, Google Cloud assigns an ephemeral IP address. Use one of the following formats to specify an IP address while creating a forwarding rule: * IP address number, as in `100.1.2.3` * IPv6 address range, as in `2600:1234::/96` * Full resource URL, as in https://www.googleapis.com/compute/v1/projects/ project_id/regions/region/addresses/address-name * Partial URL or by name, as in: - projects/project_id/regions/region/addresses/address-name - regions/region/addresses/address-name - global/addresses/address-name - address-name The forwarding rule's target or backendService, and in most cases, also the loadBalancingScheme, determine the type of IP address that you can use. For detailed information, see [IP address specifications](https://cloud.google.com/load-balancing/docs/forwarding-rule-concepts#ip_address_specifications). When reading an IPAddress, the API always returns the IP address number. + * `id` (*type:* `String.t`, *default:* `nil`) - [Output Only] The unique identifier for the resource. This identifier is defined by the server. + * `labels` (*type:* `map()`, *default:* `nil`) - Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty. * `selfLink` (*type:* `String.t`, *default:* `nil`) - [Output Only] Server-defined URL for the resource. - * `serviceDirectoryRegistrations` (*type:* `list(GoogleApi.Compute.V1.Model.ForwardingRuleServiceDirectoryRegistration.t)`, *default:* `nil`) - Service Directory resources to register this forwarding rule with. Currently, only supports a single Service Directory resource. - * `serviceLabel` (*type:* `String.t`, *default:* `nil`) - An optional prefix to the service name for this Forwarding Rule. If specified, the prefix is the first label of the fully qualified service name. The label must be 1-63 characters long, and comply with RFC1035. Specifically, the label must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. This field is only used for internal load balancing. - * `serviceName` (*type:* `String.t`, *default:* `nil`) - [Output Only] The internal fully qualified service name for this Forwarding Rule. This field is only used for internal load balancing. - * `subnetwork` (*type:* `String.t`, *default:* `nil`) - This field identifies the subnetwork that the load balanced IP should belong to for this Forwarding Rule, used in internal load balancing and network load balancing with IPv6. If the network specified is in auto subnet mode, this field is optional. However, a subnetwork must be specified if the network is in custom subnet mode or when creating external forwarding rule with IPv6. - * `target` (*type:* `String.t`, *default:* `nil`) - The URL of the target resource to receive the matched traffic. For regional forwarding rules, this target must be in the same region as the forwarding rule. For global forwarding rules, this target must be a global load balancing resource. The forwarded traffic must be of a type appropriate to the target object. For more information, see the "Target" column in [Port specifications](https://cloud.google.com/load-balancing/docs/forwarding-rule-concepts#ip_address_specifications). For Private Service Connect forwarding rules that forward traffic to Google APIs, provide the name of a supported Google API bundle: - vpc-sc - APIs that support VPC Service Controls. - all-apis - All supported Google APIs. + * `allPorts` (*type:* `boolean()`, *default:* `nil`) - The ports, portRange, and allPorts fields are mutually exclusive. Only packets addressed to ports in the specified range will be forwarded to the backends configured with this forwarding rule. The allPorts field has the following limitations: - It requires that the forwarding rule IPProtocol be TCP, UDP, SCTP, or L3_DEFAULT. - It's applicable only to the following products: internal passthrough Network Load Balancers, backend service-based external passthrough Network Load Balancers, and internal and external protocol forwarding. - Set this field to true to allow packets addressed to any port or packets lacking destination port information (for example, UDP fragments after the first fragment) to be forwarded to the backends configured with this forwarding rule. The L3_DEFAULT protocol requires allPorts be set to true. + * `serviceName` (*type:* `String.t`, *default:* `nil`) - [Output Only] The internal fully qualified service name for this forwarding rule. This field is only used for internal load balancing. + * `isMirroringCollector` (*type:* `boolean()`, *default:* `nil`) - Indicates whether or not this load balancer can be used as a collector for packet mirroring. To prevent mirroring loops, instances behind this load balancer will not have their traffic mirrored even if a PacketMirroring rule applies to them. This can only be set to true for load balancers that have their loadBalancingScheme set to INTERNAL. """ use GoogleApi.Gax.ModelBase @type t :: %__MODULE__{ - :IPAddress => String.t() | nil, - :IPProtocol => String.t() | nil, - :allPorts => boolean() | nil, - :allowGlobalAccess => boolean() | nil, + :baseForwardingRule => String.t() | nil, :backendService => String.t() | nil, - :creationTimestamp => String.t() | nil, - :description => String.t() | nil, - :fingerprint => String.t() | nil, - :id => String.t() | nil, + :allowPscGlobalAccess => boolean() | nil, + :networkTier => String.t() | nil, :ipVersion => String.t() | nil, - :isMirroringCollector => boolean() | nil, - :kind => String.t() | nil, - :labelFingerprint => String.t() | nil, - :labels => map() | nil, - :loadBalancingScheme => String.t() | nil, + :serviceDirectoryRegistrations => + list(GoogleApi.Compute.V1.Model.ForwardingRuleServiceDirectoryRegistration.t()) | nil, + :noAutomateDnsZone => boolean() | nil, + :description => String.t() | nil, :metadataFilters => list(GoogleApi.Compute.V1.Model.MetadataFilter.t()) | nil, + :kind => String.t() | nil, + :pscConnectionStatus => String.t() | nil, :name => String.t() | nil, - :network => String.t() | nil, - :networkTier => String.t() | nil, - :noAutomateDnsZone => boolean() | nil, - :portRange => String.t() | nil, - :ports => list(String.t()) | nil, + :allowGlobalAccess => boolean() | nil, :pscConnectionId => String.t() | nil, - :pscConnectionStatus => String.t() | nil, + :fingerprint => String.t() | nil, + :subnetwork => String.t() | nil, :region => String.t() | nil, - :selfLink => String.t() | nil, - :serviceDirectoryRegistrations => - list(GoogleApi.Compute.V1.Model.ForwardingRuleServiceDirectoryRegistration.t()) | nil, + :network => String.t() | nil, + :target => String.t() | nil, + :ports => list(String.t()) | nil, + :portRange => String.t() | nil, :serviceLabel => String.t() | nil, + :loadBalancingScheme => String.t() | nil, + :sourceIpRanges => list(String.t()) | nil, + :labelFingerprint => String.t() | nil, + :creationTimestamp => String.t() | nil, + :IPProtocol => String.t() | nil, + :IPAddress => String.t() | nil, + :id => String.t() | nil, + :labels => map() | nil, + :selfLink => String.t() | nil, + :allPorts => boolean() | nil, :serviceName => String.t() | nil, - :subnetwork => String.t() | nil, - :target => String.t() | nil + :isMirroringCollector => boolean() | nil } - field(:IPAddress) - field(:IPProtocol) - field(:allPorts) - field(:allowGlobalAccess) + field(:baseForwardingRule) field(:backendService) - field(:creationTimestamp) - field(:description) - field(:fingerprint) - field(:id) - field(:ipVersion) - field(:isMirroringCollector) - field(:kind) - field(:labelFingerprint) - field(:labels, type: :map) - field(:loadBalancingScheme) - field(:metadataFilters, as: GoogleApi.Compute.V1.Model.MetadataFilter, type: :list) - field(:name) - field(:network) + field(:allowPscGlobalAccess) field(:networkTier) - field(:noAutomateDnsZone) - field(:portRange) - field(:ports, type: :list) - field(:pscConnectionId) - field(:pscConnectionStatus) - field(:region) - field(:selfLink) + field(:ipVersion) field(:serviceDirectoryRegistrations, as: GoogleApi.Compute.V1.Model.ForwardingRuleServiceDirectoryRegistration, type: :list ) - field(:serviceLabel) - field(:serviceName) + field(:noAutomateDnsZone) + field(:description) + field(:metadataFilters, as: GoogleApi.Compute.V1.Model.MetadataFilter, type: :list) + field(:kind) + field(:pscConnectionStatus) + field(:name) + field(:allowGlobalAccess) + field(:pscConnectionId) + field(:fingerprint) field(:subnetwork) + field(:region) + field(:network) field(:target) + field(:ports, type: :list) + field(:portRange) + field(:serviceLabel) + field(:loadBalancingScheme) + field(:sourceIpRanges, type: :list) + field(:labelFingerprint) + field(:creationTimestamp) + field(:IPProtocol) + field(:IPAddress) + field(:id) + field(:labels, type: :map) + field(:selfLink) + field(:allPorts) + field(:serviceName) + field(:isMirroringCollector) end defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.ForwardingRule do diff --git a/clients/compute/lib/google_api/compute/v1/model/forwarding_rule_service_directory_registration.ex b/clients/compute/lib/google_api/compute/v1/model/forwarding_rule_service_directory_registration.ex index 9329ef83d0..43ef647373 100644 --- a/clients/compute/lib/google_api/compute/v1/model/forwarding_rule_service_directory_registration.ex +++ b/clients/compute/lib/google_api/compute/v1/model/forwarding_rule_service_directory_registration.ex @@ -17,13 +17,13 @@ defmodule GoogleApi.Compute.V1.Model.ForwardingRuleServiceDirectoryRegistration do @moduledoc """ - Describes the auto-registration of the Forwarding Rule to Service Directory. The region and project of the Service Directory resource generated from this registration will be the same as this Forwarding Rule. + Describes the auto-registration of the forwarding rule to Service Directory. The region and project of the Service Directory resource generated from this registration will be the same as this forwarding rule. ## Attributes * `namespace` (*type:* `String.t`, *default:* `nil`) - Service Directory namespace to register the forwarding rule under. * `service` (*type:* `String.t`, *default:* `nil`) - Service Directory service to register the forwarding rule under. - * `serviceDirectoryRegion` (*type:* `String.t`, *default:* `nil`) - [Optional] Service Directory region to register this global forwarding rule under. Default to "us-central1". Only used for PSC for Google APIs. All PSC for Google APIs Forwarding Rules on the same network should use the same Service Directory region. + * `serviceDirectoryRegion` (*type:* `String.t`, *default:* `nil`) - [Optional] Service Directory region to register this global forwarding rule under. Default to "us-central1". Only used for PSC for Google APIs. All PSC for Google APIs forwarding rules on the same network should use the same Service Directory region. """ use GoogleApi.Gax.ModelBase diff --git a/clients/compute/lib/google_api/compute/v1/model/global_addresses_move_request.ex b/clients/compute/lib/google_api/compute/v1/model/global_addresses_move_request.ex new file mode 100644 index 0000000000..38daa80bf8 --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/global_addresses_move_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.Compute.V1.Model.GlobalAddressesMoveRequest do + @moduledoc """ + + + ## Attributes + + * `description` (*type:* `String.t`, *default:* `nil`) - An optional destination address description if intended to be different from the source. + * `destinationAddress` (*type:* `String.t`, *default:* `nil`) - The URL of the destination address to move to. This can be a full or partial URL. For example, the following are all valid URLs to a address: - https://www.googleapis.com/compute/v1/projects/project /global/addresses/address - projects/project/global/addresses/address Note that destination project must be different from the source project. So /global/addresses/address is not valid partial url. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :description => String.t() | nil, + :destinationAddress => String.t() | nil + } + + field(:description) + field(:destinationAddress) +end + +defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.GlobalAddressesMoveRequest do + def decode(value, options) do + GoogleApi.Compute.V1.Model.GlobalAddressesMoveRequest.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.GlobalAddressesMoveRequest 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/grpc_health_check.ex b/clients/compute/lib/google_api/compute/v1/model/grpc_health_check.ex index e476fa4433..79263cce84 100644 --- a/clients/compute/lib/google_api/compute/v1/model/grpc_health_check.ex +++ b/clients/compute/lib/google_api/compute/v1/model/grpc_health_check.ex @@ -24,7 +24,7 @@ defmodule GoogleApi.Compute.V1.Model.GRPCHealthCheck do * `grpcServiceName` (*type:* `String.t`, *default:* `nil`) - The gRPC service name for the health check. This field is optional. The value of grpc_service_name has the following meanings by convention: - Empty service_name means the overall status of all services at the backend. - Non-empty service_name means the health of that gRPC service, as defined by the owner of the service. The grpc_service_name can only be ASCII. * `port` (*type:* `integer()`, *default:* `nil`) - The TCP port number to which the health check prober sends packets. Valid values are 1 through 65535. * `portName` (*type:* `String.t`, *default:* `nil`) - Not supported. - * `portSpecification` (*type:* `String.t`, *default:* `nil`) - Specifies how a port is selected for health checking. Can be one of the following values: USE_FIXED_PORT: Specifies a port number explicitly using the port field in the health check. Supported by backend services for pass-through load balancers and backend services for proxy load balancers. Not supported by target pools. The health check supports all backends supported by the backend service provided the backend can be health checked. For example, GCE_VM_IP network endpoint groups, GCE_VM_IP_PORT network endpoint groups, and instance group backends. USE_NAMED_PORT: Not supported. USE_SERVING_PORT: Provides an indirect method of specifying the health check port by referring to the backend service. Only supported by backend services for proxy load balancers. Not supported by target pools. Not supported by backend services for pass-through load balancers. Supports all backends that can be health checked; for example, GCE_VM_IP_PORT network endpoint groups and instance group backends. For GCE_VM_IP_PORT network endpoint group backends, the health check uses the port number specified for each endpoint in the network endpoint group. For instance group backends, the health check uses the port number determined by looking up the backend service's named port in the instance group's list of named ports. + * `portSpecification` (*type:* `String.t`, *default:* `nil`) - Specifies how a port is selected for health checking. Can be one of the following values: USE_FIXED_PORT: Specifies a port number explicitly using the port field in the health check. Supported by backend services for passthrough load balancers and backend services for proxy load balancers. Not supported by target pools. The health check supports all backends supported by the backend service provided the backend can be health checked. For example, GCE_VM_IP network endpoint groups, GCE_VM_IP_PORT network endpoint groups, and instance group backends. USE_NAMED_PORT: Not supported. USE_SERVING_PORT: Provides an indirect method of specifying the health check port by referring to the backend service. Only supported by backend services for proxy load balancers. Not supported by target pools. Not supported by backend services for passthrough load balancers. Supports all backends that can be health checked; for example, GCE_VM_IP_PORT network endpoint groups and instance group backends. For GCE_VM_IP_PORT network endpoint group backends, the health check uses the port number specified for each endpoint in the network endpoint group. For instance group backends, the health check uses the port number determined by looking up the backend service's named port in the instance group's list of named ports. """ use GoogleApi.Gax.ModelBase diff --git a/clients/compute/lib/google_api/compute/v1/model/guest_os_feature.ex b/clients/compute/lib/google_api/compute/v1/model/guest_os_feature.ex index 3dd370859b..5bc91b9520 100644 --- a/clients/compute/lib/google_api/compute/v1/model/guest_os_feature.ex +++ b/clients/compute/lib/google_api/compute/v1/model/guest_os_feature.ex @@ -21,7 +21,7 @@ defmodule GoogleApi.Compute.V1.Model.GuestOsFeature do ## Attributes - * `type` (*type:* `String.t`, *default:* `nil`) - The ID of a supported feature. To add multiple values, use commas to separate values. Set to one or more of the following values: - VIRTIO_SCSI_MULTIQUEUE - WINDOWS - MULTI_IP_SUBNET - UEFI_COMPATIBLE - GVNIC - SEV_CAPABLE - SUSPEND_RESUME_COMPATIBLE - SEV_SNP_CAPABLE For more information, see Enabling guest operating system features. + * `type` (*type:* `String.t`, *default:* `nil`) - The ID of a supported feature. To add multiple values, use commas to separate values. Set to one or more of the following values: - VIRTIO_SCSI_MULTIQUEUE - WINDOWS - MULTI_IP_SUBNET - UEFI_COMPATIBLE - GVNIC - SEV_CAPABLE - SUSPEND_RESUME_COMPATIBLE - SEV_LIVE_MIGRATABLE_V2 - SEV_SNP_CAPABLE - TDX_CAPABLE - IDPF For more information, see Enabling guest operating system features. """ use GoogleApi.Gax.ModelBase diff --git a/clients/compute/lib/google_api/compute/v1/model/health_check.ex b/clients/compute/lib/google_api/compute/v1/model/health_check.ex index 695f5968dc..8a911922fb 100644 --- a/clients/compute/lib/google_api/compute/v1/model/health_check.ex +++ b/clients/compute/lib/google_api/compute/v1/model/health_check.ex @@ -17,7 +17,7 @@ defmodule GoogleApi.Compute.V1.Model.HealthCheck do @moduledoc """ - Represents a Health Check resource. Google Compute Engine has two Health Check resources: * [Global](/compute/docs/reference/rest/v1/healthChecks) * [Regional](/compute/docs/reference/rest/v1/regionHealthChecks) Internal HTTP(S) load balancers must use regional health checks (`compute.v1.regionHealthChecks`). Traffic Director must use global health checks (`compute.v1.HealthChecks`). Internal TCP/UDP load balancers can use either regional or global health checks (`compute.v1.regionHealthChecks` or `compute.v1.HealthChecks`). External HTTP(S), TCP proxy, and SSL proxy load balancers as well as managed instance group auto-healing must use global health checks (`compute.v1.HealthChecks`). Backend service-based network load balancers must use regional health checks (`compute.v1.regionHealthChecks`). Target pool-based network load balancers must use legacy HTTP health checks (`compute.v1.httpHealthChecks`). For more information, see Health checks overview. + Represents a health check resource. Google Compute Engine has two health check resources: * [Regional](/compute/docs/reference/rest/v1/regionHealthChecks) * [Global](/compute/docs/reference/rest/v1/healthChecks) These health check resources can be used for load balancing and for autohealing VMs in a managed instance group (MIG). **Load balancing** Health check requirements vary depending on the type of load balancer. For details about the type of health check supported for each load balancer and corresponding backend type, see Health checks overview: Load balancer guide. **Autohealing in MIGs** The health checks that you use for autohealing VMs in a MIG can be either regional or global. For more information, see Set up an application health check and autohealing. For more information, see Health checks overview. ## Attributes diff --git a/clients/compute/lib/google_api/compute/v1/model/health_check_service.ex b/clients/compute/lib/google_api/compute/v1/model/health_check_service.ex index 77860ee9c0..ecacd6c063 100644 --- a/clients/compute/lib/google_api/compute/v1/model/health_check_service.ex +++ b/clients/compute/lib/google_api/compute/v1/model/health_check_service.ex @@ -24,12 +24,12 @@ defmodule GoogleApi.Compute.V1.Model.HealthCheckService do * `creationTimestamp` (*type:* `String.t`, *default:* `nil`) - [Output Only] Creation timestamp in RFC3339 text format. * `description` (*type:* `String.t`, *default:* `nil`) - An optional description of this resource. Provide this property when you create the resource. * `fingerprint` (*type:* `String.t`, *default:* `nil`) - Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field will be ignored when inserting a HealthCheckService. An up-to-date fingerprint must be provided in order to patch/update the HealthCheckService; Otherwise, the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve the HealthCheckService. - * `healthChecks` (*type:* `list(String.t)`, *default:* `nil`) - A list of URLs to the HealthCheck resources. Must have at least one HealthCheck, and not more than 10. HealthCheck resources must have portSpecification=USE_SERVING_PORT or portSpecification=USE_FIXED_PORT. For regional HealthCheckService, the HealthCheck must be regional and in the same region. For global HealthCheckService, HealthCheck must be global. Mix of regional and global HealthChecks is not supported. Multiple regional HealthChecks must belong to the same region. Regional HealthChecks must belong to the same region as zones of NEGs. - * `healthStatusAggregationPolicy` (*type:* `String.t`, *default:* `nil`) - Optional. Policy for how the results from multiple health checks for the same endpoint are aggregated. Defaults to NO_AGGREGATION if unspecified. - NO_AGGREGATION. An EndpointHealth message is returned for each pair in the health check service. - AND. If any health check of an endpoint reports UNHEALTHY, then UNHEALTHY is the HealthState of the endpoint. If all health checks report HEALTHY, the HealthState of the endpoint is HEALTHY. . + * `healthChecks` (*type:* `list(String.t)`, *default:* `nil`) - A list of URLs to the HealthCheck resources. Must have at least one HealthCheck, and not more than 10 for regional HealthCheckService, and not more than 1 for global HealthCheckService. HealthCheck resources must have portSpecification=USE_SERVING_PORT or portSpecification=USE_FIXED_PORT. For regional HealthCheckService, the HealthCheck must be regional and in the same region. For global HealthCheckService, HealthCheck must be global. Mix of regional and global HealthChecks is not supported. Multiple regional HealthChecks must belong to the same region. Regional HealthChecks must belong to the same region as zones of NetworkEndpointGroups. For global HealthCheckService using global INTERNET_IP_PORT NetworkEndpointGroups, the global HealthChecks must specify sourceRegions, and HealthChecks that specify sourceRegions can only be used with global INTERNET_IP_PORT NetworkEndpointGroups. + * `healthStatusAggregationPolicy` (*type:* `String.t`, *default:* `nil`) - Optional. Policy for how the results from multiple health checks for the same endpoint are aggregated. Defaults to NO_AGGREGATION if unspecified. - NO_AGGREGATION. An EndpointHealth message is returned for each pair in the health check service. - AND. If any health check of an endpoint reports UNHEALTHY, then UNHEALTHY is the HealthState of the endpoint. If all health checks report HEALTHY, the HealthState of the endpoint is HEALTHY. . This is only allowed with regional HealthCheckService. * `id` (*type:* `String.t`, *default:* `nil`) - [Output Only] The unique identifier for the resource. This identifier is defined by the server. * `kind` (*type:* `String.t`, *default:* `compute#healthCheckService`) - [Output only] Type of the resource. Always compute#healthCheckServicefor health check services. * `name` (*type:* `String.t`, *default:* `nil`) - Name of the resource. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. - * `networkEndpointGroups` (*type:* `list(String.t)`, *default:* `nil`) - A list of URLs to the NetworkEndpointGroup resources. Must not have more than 100. For regional HealthCheckService, NEGs must be in zones in the region of the HealthCheckService. + * `networkEndpointGroups` (*type:* `list(String.t)`, *default:* `nil`) - A list of URLs to the NetworkEndpointGroup resources. Must not have more than 100. For regional HealthCheckService, NEGs must be in zones in the region of the HealthCheckService. For global HealthCheckServices, the NetworkEndpointGroups must be global INTERNET_IP_PORT. * `notificationEndpoints` (*type:* `list(String.t)`, *default:* `nil`) - A list of URLs to the NotificationEndpoint resources. Must not have more than 10. A list of endpoints for receiving notifications of change in health status. For regional HealthCheckService, NotificationEndpoint must be regional and in the same region. For global HealthCheckService, NotificationEndpoint must be global. * `region` (*type:* `String.t`, *default:* `nil`) - [Output Only] URL of the region where the health check service resides. This field is not applicable to global health check services. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body. * `selfLink` (*type:* `String.t`, *default:* `nil`) - [Output Only] Server-defined URL for the resource. diff --git a/clients/compute/lib/google_api/compute/v1/model/health_status.ex b/clients/compute/lib/google_api/compute/v1/model/health_status.ex index 560842ba51..52bcda54c8 100644 --- a/clients/compute/lib/google_api/compute/v1/model/health_status.ex +++ b/clients/compute/lib/google_api/compute/v1/model/health_status.ex @@ -24,7 +24,7 @@ defmodule GoogleApi.Compute.V1.Model.HealthStatus do * `annotations` (*type:* `map()`, *default:* `nil`) - Metadata defined as annotations for network endpoint. * `forwardingRule` (*type:* `String.t`, *default:* `nil`) - URL of the forwarding rule associated with the health status of the instance. * `forwardingRuleIp` (*type:* `String.t`, *default:* `nil`) - A forwarding rule IP address assigned to this instance. - * `healthState` (*type:* `String.t`, *default:* `nil`) - Health state of the instance. + * `healthState` (*type:* `String.t`, *default:* `nil`) - Health state of the IPv4 address of the instance. * `instance` (*type:* `String.t`, *default:* `nil`) - URL of the instance resource. * `ipAddress` (*type:* `String.t`, *default:* `nil`) - For target pool based Network Load Balancing, it indicates the forwarding rule's IP address assigned to this instance. For other types of load balancing, the field indicates VM internal ip. * `port` (*type:* `integer()`, *default:* `nil`) - The named port of the instance group, not necessarily the port that is health-checked. diff --git a/clients/compute/lib/google_api/compute/v1/model/http2_health_check.ex b/clients/compute/lib/google_api/compute/v1/model/http2_health_check.ex index 619c942bae..769890e798 100644 --- a/clients/compute/lib/google_api/compute/v1/model/http2_health_check.ex +++ b/clients/compute/lib/google_api/compute/v1/model/http2_health_check.ex @@ -24,7 +24,7 @@ defmodule GoogleApi.Compute.V1.Model.HTTP2HealthCheck do * `host` (*type:* `String.t`, *default:* `nil`) - The value of the host header in the HTTP/2 health check request. If left empty (default value), the host header is set to the destination IP address to which health check packets are sent. The destination IP address depends on the type of load balancer. For details, see: https://cloud.google.com/load-balancing/docs/health-check-concepts#hc-packet-dest * `port` (*type:* `integer()`, *default:* `nil`) - The TCP port number to which the health check prober sends packets. The default value is 443. Valid values are 1 through 65535. * `portName` (*type:* `String.t`, *default:* `nil`) - Not supported. - * `portSpecification` (*type:* `String.t`, *default:* `nil`) - Specifies how a port is selected for health checking. Can be one of the following values: USE_FIXED_PORT: Specifies a port number explicitly using the port field in the health check. Supported by backend services for pass-through load balancers and backend services for proxy load balancers. Not supported by target pools. The health check supports all backends supported by the backend service provided the backend can be health checked. For example, GCE_VM_IP network endpoint groups, GCE_VM_IP_PORT network endpoint groups, and instance group backends. USE_NAMED_PORT: Not supported. USE_SERVING_PORT: Provides an indirect method of specifying the health check port by referring to the backend service. Only supported by backend services for proxy load balancers. Not supported by target pools. Not supported by backend services for pass-through load balancers. Supports all backends that can be health checked; for example, GCE_VM_IP_PORT network endpoint groups and instance group backends. For GCE_VM_IP_PORT network endpoint group backends, the health check uses the port number specified for each endpoint in the network endpoint group. For instance group backends, the health check uses the port number determined by looking up the backend service's named port in the instance group's list of named ports. + * `portSpecification` (*type:* `String.t`, *default:* `nil`) - Specifies how a port is selected for health checking. Can be one of the following values: USE_FIXED_PORT: Specifies a port number explicitly using the port field in the health check. Supported by backend services for passthrough load balancers and backend services for proxy load balancers. Not supported by target pools. The health check supports all backends supported by the backend service provided the backend can be health checked. For example, GCE_VM_IP network endpoint groups, GCE_VM_IP_PORT network endpoint groups, and instance group backends. USE_NAMED_PORT: Not supported. USE_SERVING_PORT: Provides an indirect method of specifying the health check port by referring to the backend service. Only supported by backend services for proxy load balancers. Not supported by target pools. Not supported by backend services for passthrough load balancers. Supports all backends that can be health checked; for example, GCE_VM_IP_PORT network endpoint groups and instance group backends. For GCE_VM_IP_PORT network endpoint group backends, the health check uses the port number specified for each endpoint in the network endpoint group. For instance group backends, the health check uses the port number determined by looking up the backend service's named port in the instance group's list of named ports. * `proxyHeader` (*type:* `String.t`, *default:* `nil`) - Specifies the type of proxy header to append before sending data to the backend, either NONE or PROXY_V1. The default is NONE. * `requestPath` (*type:* `String.t`, *default:* `nil`) - The request path of the HTTP/2 health check request. The default value is /. * `response` (*type:* `String.t`, *default:* `nil`) - Creates a content-based HTTP/2 health check. In addition to the required HTTP 200 (OK) status code, you can configure the health check to pass only when the backend sends this specific ASCII response string within the first 1024 bytes of the HTTP response body. For details, see: https://cloud.google.com/load-balancing/docs/health-check-concepts#criteria-protocol-http diff --git a/clients/compute/lib/google_api/compute/v1/model/http_health_check.ex b/clients/compute/lib/google_api/compute/v1/model/http_health_check.ex index 6bf6650073..e002741fe8 100644 --- a/clients/compute/lib/google_api/compute/v1/model/http_health_check.ex +++ b/clients/compute/lib/google_api/compute/v1/model/http_health_check.ex @@ -24,7 +24,7 @@ defmodule GoogleApi.Compute.V1.Model.HTTPHealthCheck do * `host` (*type:* `String.t`, *default:* `nil`) - The value of the host header in the HTTP health check request. If left empty (default value), the host header is set to the destination IP address to which health check packets are sent. The destination IP address depends on the type of load balancer. For details, see: https://cloud.google.com/load-balancing/docs/health-check-concepts#hc-packet-dest * `port` (*type:* `integer()`, *default:* `nil`) - The TCP port number to which the health check prober sends packets. The default value is 80. Valid values are 1 through 65535. * `portName` (*type:* `String.t`, *default:* `nil`) - Not supported. - * `portSpecification` (*type:* `String.t`, *default:* `nil`) - Specifies how a port is selected for health checking. Can be one of the following values: USE_FIXED_PORT: Specifies a port number explicitly using the port field in the health check. Supported by backend services for pass-through load balancers and backend services for proxy load balancers. Also supported in legacy HTTP health checks for target pools. The health check supports all backends supported by the backend service provided the backend can be health checked. For example, GCE_VM_IP network endpoint groups, GCE_VM_IP_PORT network endpoint groups, and instance group backends. USE_NAMED_PORT: Not supported. USE_SERVING_PORT: Provides an indirect method of specifying the health check port by referring to the backend service. Only supported by backend services for proxy load balancers. Not supported by target pools. Not supported by backend services for pass-through load balancers. Supports all backends that can be health checked; for example, GCE_VM_IP_PORT network endpoint groups and instance group backends. For GCE_VM_IP_PORT network endpoint group backends, the health check uses the port number specified for each endpoint in the network endpoint group. For instance group backends, the health check uses the port number determined by looking up the backend service's named port in the instance group's list of named ports. + * `portSpecification` (*type:* `String.t`, *default:* `nil`) - Specifies how a port is selected for health checking. Can be one of the following values: USE_FIXED_PORT: Specifies a port number explicitly using the port field in the health check. Supported by backend services for passthrough load balancers and backend services for proxy load balancers. Also supported in legacy HTTP health checks for target pools. The health check supports all backends supported by the backend service provided the backend can be health checked. For example, GCE_VM_IP network endpoint groups, GCE_VM_IP_PORT network endpoint groups, and instance group backends. USE_NAMED_PORT: Not supported. USE_SERVING_PORT: Provides an indirect method of specifying the health check port by referring to the backend service. Only supported by backend services for proxy load balancers. Not supported by target pools. Not supported by backend services for pass-through load balancers. Supports all backends that can be health checked; for example, GCE_VM_IP_PORT network endpoint groups and instance group backends. For GCE_VM_IP_PORT network endpoint group backends, the health check uses the port number specified for each endpoint in the network endpoint group. For instance group backends, the health check uses the port number determined by looking up the backend service's named port in the instance group's list of named ports. * `proxyHeader` (*type:* `String.t`, *default:* `nil`) - Specifies the type of proxy header to append before sending data to the backend, either NONE or PROXY_V1. The default is NONE. * `requestPath` (*type:* `String.t`, *default:* `nil`) - The request path of the HTTP health check request. The default value is /. * `response` (*type:* `String.t`, *default:* `nil`) - Creates a content-based HTTP health check. In addition to the required HTTP 200 (OK) status code, you can configure the health check to pass only when the backend sends this specific ASCII response string within the first 1024 bytes of the HTTP response body. For details, see: https://cloud.google.com/load-balancing/docs/health-check-concepts#criteria-protocol-http diff --git a/clients/compute/lib/google_api/compute/v1/model/http_health_check_1.ex b/clients/compute/lib/google_api/compute/v1/model/http_health_check_1.ex index 60b28d4bcb..033e4c7859 100644 --- a/clients/compute/lib/google_api/compute/v1/model/http_health_check_1.ex +++ b/clients/compute/lib/google_api/compute/v1/model/http_health_check_1.ex @@ -30,7 +30,7 @@ defmodule GoogleApi.Compute.V1.Model.HttpHealthCheck do * `kind` (*type:* `String.t`, *default:* `compute#httpHealthCheck`) - [Output Only] Type of the resource. Always compute#httpHealthCheck for HTTP health checks. * `name` (*type:* `String.t`, *default:* `nil`) - Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. * `port` (*type:* `integer()`, *default:* `nil`) - The TCP port number for the HTTP health check request. The default value is 80. - * `requestPath` (*type:* `String.t`, *default:* `nil`) - The request path of the HTTP health check request. The default value is /. This field does not support query parameters. + * `requestPath` (*type:* `String.t`, *default:* `nil`) - The request path of the HTTP health check request. The default value is /. This field does not support query parameters. Must comply with RFC3986. * `selfLink` (*type:* `String.t`, *default:* `nil`) - [Output Only] Server-defined URL for the resource. * `timeoutSec` (*type:* `integer()`, *default:* `nil`) - How long (in seconds) to wait before claiming failure. The default value is 5 seconds. It is invalid for timeoutSec to have greater value than checkIntervalSec. * `unhealthyThreshold` (*type:* `integer()`, *default:* `nil`) - A so-far healthy instance will be marked unhealthy after this many consecutive failures. The default value is 2. diff --git a/clients/compute/lib/google_api/compute/v1/model/http_route_action.ex b/clients/compute/lib/google_api/compute/v1/model/http_route_action.ex index 3383d2b33f..fe6e949973 100644 --- a/clients/compute/lib/google_api/compute/v1/model/http_route_action.ex +++ b/clients/compute/lib/google_api/compute/v1/model/http_route_action.ex @@ -22,12 +22,12 @@ defmodule GoogleApi.Compute.V1.Model.HttpRouteAction do ## Attributes * `corsPolicy` (*type:* `GoogleApi.Compute.V1.Model.CorsPolicy.t`, *default:* `nil`) - The specification for allowing client-side cross-origin requests. For more information about the W3C recommendation for cross-origin resource sharing (CORS), see Fetch API Living Standard. Not supported when the URL map is bound to a target gRPC proxy. - * `faultInjectionPolicy` (*type:* `GoogleApi.Compute.V1.Model.HttpFaultInjection.t`, *default:* `nil`) - The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by a load balancer on a percentage of requests before sending those requests to the backend service. Similarly requests from clients can be aborted by the load balancer for a percentage of requests. timeout and retry_policy is ignored by clients that are configured with a fault_injection_policy if: 1. The traffic is generated by fault injection AND 2. The fault injection is not a delay fault injection. Fault injection is not supported with the global external HTTP(S) load balancer (classic). To see which load balancers support fault injection, see Load balancing: Routing and traffic management features. + * `faultInjectionPolicy` (*type:* `GoogleApi.Compute.V1.Model.HttpFaultInjection.t`, *default:* `nil`) - The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by a load balancer on a percentage of requests before sending those requests to the backend service. Similarly requests from clients can be aborted by the load balancer for a percentage of requests. timeout and retry_policy is ignored by clients that are configured with a fault_injection_policy if: 1. The traffic is generated by fault injection AND 2. The fault injection is not a delay fault injection. Fault injection is not supported with the classic Application Load Balancer . To see which load balancers support fault injection, see Load balancing: Routing and traffic management features. * `maxStreamDuration` (*type:* `GoogleApi.Compute.V1.Model.Duration.t`, *default:* `nil`) - Specifies the maximum duration (timeout) for streams on the selected route. Unlike the timeout field where the timeout duration starts from the time the request has been fully processed (known as *end-of-stream*), the duration in this field is computed from the beginning of the stream until the response has been processed, including all retries. A stream that does not complete in this duration is closed. If not specified, this field uses the maximum maxStreamDuration value among all backend services associated with the route. This field is only allowed if the Url map is used with backend services with loadBalancingScheme set to INTERNAL_SELF_MANAGED. * `requestMirrorPolicy` (*type:* `GoogleApi.Compute.V1.Model.RequestMirrorPolicy.t`, *default:* `nil`) - Specifies the policy on how requests intended for the route's backends are shadowed to a separate mirrored backend service. The load balancer does not wait for responses from the shadow service. Before sending traffic to the shadow service, the host / authority header is suffixed with -shadow. Not supported when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true. * `retryPolicy` (*type:* `GoogleApi.Compute.V1.Model.HttpRetryPolicy.t`, *default:* `nil`) - Specifies the retry policy associated with this route. * `timeout` (*type:* `GoogleApi.Compute.V1.Model.Duration.t`, *default:* `nil`) - Specifies the timeout for the selected route. Timeout is computed from the time the request has been fully processed (known as *end-of-stream*) up until the response has been processed. Timeout includes all retries. If not specified, this field uses the largest timeout among all backend services associated with the route. Not supported when the URL map is bound to a target gRPC proxy that has validateForProxyless field set to true. - * `urlRewrite` (*type:* `GoogleApi.Compute.V1.Model.UrlRewrite.t`, *default:* `nil`) - The spec to modify the URL of the request, before forwarding the request to the matched service. urlRewrite is the only action supported in UrlMaps for external HTTP(S) load balancers. Not supported when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true. + * `urlRewrite` (*type:* `GoogleApi.Compute.V1.Model.UrlRewrite.t`, *default:* `nil`) - The spec to modify the URL of the request, before forwarding the request to the matched service. urlRewrite is the only action supported in UrlMaps for classic Application Load Balancers. Not supported when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true. * `weightedBackendServices` (*type:* `list(GoogleApi.Compute.V1.Model.WeightedBackendService.t)`, *default:* `nil`) - A list of weighted backend services to send traffic to when a route match occurs. The weights determine the fraction of traffic that flows to their corresponding backend service. If all traffic needs to go to a single backend service, there must be one weightedBackendService with weight set to a non-zero number. After a backend service is identified and before forwarding the request to the backend service, advanced routing actions such as URL rewrites and header transformations are applied depending on additional settings specified in this HttpRouteAction. """ diff --git a/clients/compute/lib/google_api/compute/v1/model/http_route_rule.ex b/clients/compute/lib/google_api/compute/v1/model/http_route_rule.ex index ace9fcee89..5e385cb981 100644 --- a/clients/compute/lib/google_api/compute/v1/model/http_route_rule.ex +++ b/clients/compute/lib/google_api/compute/v1/model/http_route_rule.ex @@ -25,7 +25,7 @@ defmodule GoogleApi.Compute.V1.Model.HttpRouteRule do * `headerAction` (*type:* `GoogleApi.Compute.V1.Model.HttpHeaderAction.t`, *default:* `nil`) - Specifies changes to request and response headers that need to take effect for the selected backendService. The headerAction value specified here is applied before the matching pathMatchers[].headerAction and after pathMatchers[].routeRules[].routeAction.weightedBackendService.backendServiceWeightAction[].headerAction HeaderAction is not supported for load balancers that have their loadBalancingScheme set to EXTERNAL. Not supported when the URL map is bound to a target gRPC proxy that has validateForProxyless field set to true. * `matchRules` (*type:* `list(GoogleApi.Compute.V1.Model.HttpRouteRuleMatch.t)`, *default:* `nil`) - The list of criteria for matching attributes of a request to this routeRule. This list has OR semantics: the request matches this routeRule when any of the matchRules are satisfied. However predicates within a given matchRule have AND semantics. All predicates within a matchRule must match for the request to match the rule. * `priority` (*type:* `integer()`, *default:* `nil`) - For routeRules within a given pathMatcher, priority determines the order in which a load balancer interprets routeRules. RouteRules are evaluated in order of priority, from the lowest to highest number. The priority of a rule decreases as its number increases (1, 2, 3, N+1). The first rule that matches the request is applied. You cannot configure two or more routeRules with the same priority. Priority for each rule must be set to a number from 0 to 2147483647 inclusive. Priority numbers can have gaps, which enable you to add or remove rules in the future without affecting the rest of the rules. For example, 1, 2, 3, 4, 5, 9, 12, 16 is a valid series of priority numbers to which you could add rules numbered from 6 to 8, 10 to 11, and 13 to 15 in the future without any impact on existing rules. - * `routeAction` (*type:* `GoogleApi.Compute.V1.Model.HttpRouteAction.t`, *default:* `nil`) - In response to a matching matchRule, the load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If routeAction specifies any weightedBackendServices, service must not be set. Conversely if service is set, routeAction cannot contain any weightedBackendServices. Only one of urlRedirect, service or routeAction.weightedBackendService must be set. URL maps for Classic external HTTP(S) load balancers only support the urlRewrite action within a route rule's routeAction. + * `routeAction` (*type:* `GoogleApi.Compute.V1.Model.HttpRouteAction.t`, *default:* `nil`) - In response to a matching matchRule, the load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If routeAction specifies any weightedBackendServices, service must not be set. Conversely if service is set, routeAction cannot contain any weightedBackendServices. Only one of urlRedirect, service or routeAction.weightedBackendService must be set. URL maps for classic Application Load Balancers only support the urlRewrite action within a route rule's routeAction. * `service` (*type:* `String.t`, *default:* `nil`) - The full or partial URL of the backend service resource to which traffic is directed if this rule is matched. If routeAction is also specified, advanced routing actions, such as URL rewrites, take effect before sending the request to the backend. However, if service is specified, routeAction cannot contain any weightedBackendServices. Conversely, if routeAction specifies any weightedBackendServices, service must not be specified. Only one of urlRedirect, service or routeAction.weightedBackendService must be set. * `urlRedirect` (*type:* `GoogleApi.Compute.V1.Model.HttpRedirectAction.t`, *default:* `nil`) - When this rule is matched, the request is redirected to a URL specified by urlRedirect. If urlRedirect is specified, service or routeAction must not be set. Not supported when the URL map is bound to a target gRPC proxy. """ diff --git a/clients/compute/lib/google_api/compute/v1/model/http_route_rule_match.ex b/clients/compute/lib/google_api/compute/v1/model/http_route_rule_match.ex index bb6305042b..f10b5d5a2c 100644 --- a/clients/compute/lib/google_api/compute/v1/model/http_route_rule_match.ex +++ b/clients/compute/lib/google_api/compute/v1/model/http_route_rule_match.ex @@ -25,6 +25,7 @@ defmodule GoogleApi.Compute.V1.Model.HttpRouteRuleMatch do * `headerMatches` (*type:* `list(GoogleApi.Compute.V1.Model.HttpHeaderMatch.t)`, *default:* `nil`) - Specifies a list of header match criteria, all of which must match corresponding headers in the request. * `ignoreCase` (*type:* `boolean()`, *default:* `nil`) - Specifies that prefixMatch and fullPathMatch matches are case sensitive. The default value is false. ignoreCase must not be used with regexMatch. Not supported when the URL map is bound to a target gRPC proxy. * `metadataFilters` (*type:* `list(GoogleApi.Compute.V1.Model.MetadataFilter.t)`, *default:* `nil`) - Opaque filter criteria used by the load balancer to restrict routing configuration to a limited set of xDS compliant clients. In their xDS requests to the load balancer, xDS clients present node metadata. When there is a match, the relevant routing configuration is made available to those proxies. For each metadataFilter in this list, if its filterMatchCriteria is set to MATCH_ANY, at least one of the filterLabels must match the corresponding label provided in the metadata. If its filterMatchCriteria is set to MATCH_ALL, then all of its filterLabels must match with corresponding labels provided in the metadata. If multiple metadata filters are specified, all of them need to be satisfied in order to be considered a match. metadataFilters specified here is applied after those specified in ForwardingRule that refers to the UrlMap this HttpRouteRuleMatch belongs to. metadataFilters only applies to load balancers that have loadBalancingScheme set to INTERNAL_SELF_MANAGED. Not supported when the URL map is bound to a target gRPC proxy that has validateForProxyless field set to true. + * `pathTemplateMatch` (*type:* `String.t`, *default:* `nil`) - If specified, the route is a pattern match expression that must match the :path header once the query string is removed. A pattern match allows you to match - The value must be between 1 and 1024 characters - The pattern must start with a leading slash ("/") - There may be no more than 5 operators in pattern Precisely one of prefix_match, full_path_match, regex_match or path_template_match must be set. * `prefixMatch` (*type:* `String.t`, *default:* `nil`) - For satisfying the matchRule condition, the request's path must begin with the specified prefixMatch. prefixMatch must begin with a /. The value must be from 1 to 1024 characters. Only one of prefixMatch, fullPathMatch or regexMatch must be specified. * `queryParameterMatches` (*type:* `list(GoogleApi.Compute.V1.Model.HttpQueryParameterMatch.t)`, *default:* `nil`) - Specifies a list of query parameter match criteria, all of which must match corresponding query parameters in the request. Not supported when the URL map is bound to a target gRPC proxy. * `regexMatch` (*type:* `String.t`, *default:* `nil`) - For satisfying the matchRule condition, the path of the request must satisfy the regular expression specified in regexMatch after removing any query parameters and anchor supplied with the original URL. For more information about regular expression syntax, see Syntax. Only one of prefixMatch, fullPathMatch or regexMatch must be specified. Regular expressions can only be used when the loadBalancingScheme is set to INTERNAL_SELF_MANAGED. @@ -37,6 +38,7 @@ defmodule GoogleApi.Compute.V1.Model.HttpRouteRuleMatch do :headerMatches => list(GoogleApi.Compute.V1.Model.HttpHeaderMatch.t()) | nil, :ignoreCase => boolean() | nil, :metadataFilters => list(GoogleApi.Compute.V1.Model.MetadataFilter.t()) | nil, + :pathTemplateMatch => String.t() | nil, :prefixMatch => String.t() | nil, :queryParameterMatches => list(GoogleApi.Compute.V1.Model.HttpQueryParameterMatch.t()) | nil, @@ -47,6 +49,7 @@ defmodule GoogleApi.Compute.V1.Model.HttpRouteRuleMatch do field(:headerMatches, as: GoogleApi.Compute.V1.Model.HttpHeaderMatch, type: :list) field(:ignoreCase) field(:metadataFilters, as: GoogleApi.Compute.V1.Model.MetadataFilter, type: :list) + field(:pathTemplateMatch) field(:prefixMatch) field(:queryParameterMatches, diff --git a/clients/compute/lib/google_api/compute/v1/model/https_health_check.ex b/clients/compute/lib/google_api/compute/v1/model/https_health_check.ex index 2138d99d36..0eade173e7 100644 --- a/clients/compute/lib/google_api/compute/v1/model/https_health_check.ex +++ b/clients/compute/lib/google_api/compute/v1/model/https_health_check.ex @@ -24,7 +24,7 @@ defmodule GoogleApi.Compute.V1.Model.HTTPSHealthCheck do * `host` (*type:* `String.t`, *default:* `nil`) - The value of the host header in the HTTPS health check request. If left empty (default value), the host header is set to the destination IP address to which health check packets are sent. The destination IP address depends on the type of load balancer. For details, see: https://cloud.google.com/load-balancing/docs/health-check-concepts#hc-packet-dest * `port` (*type:* `integer()`, *default:* `nil`) - The TCP port number to which the health check prober sends packets. The default value is 443. Valid values are 1 through 65535. * `portName` (*type:* `String.t`, *default:* `nil`) - Not supported. - * `portSpecification` (*type:* `String.t`, *default:* `nil`) - Specifies how a port is selected for health checking. Can be one of the following values: USE_FIXED_PORT: Specifies a port number explicitly using the port field in the health check. Supported by backend services for pass-through load balancers and backend services for proxy load balancers. Not supported by target pools. The health check supports all backends supported by the backend service provided the backend can be health checked. For example, GCE_VM_IP network endpoint groups, GCE_VM_IP_PORT network endpoint groups, and instance group backends. USE_NAMED_PORT: Not supported. USE_SERVING_PORT: Provides an indirect method of specifying the health check port by referring to the backend service. Only supported by backend services for proxy load balancers. Not supported by target pools. Not supported by backend services for pass-through load balancers. Supports all backends that can be health checked; for example, GCE_VM_IP_PORT network endpoint groups and instance group backends. For GCE_VM_IP_PORT network endpoint group backends, the health check uses the port number specified for each endpoint in the network endpoint group. For instance group backends, the health check uses the port number determined by looking up the backend service's named port in the instance group's list of named ports. + * `portSpecification` (*type:* `String.t`, *default:* `nil`) - Specifies how a port is selected for health checking. Can be one of the following values: USE_FIXED_PORT: Specifies a port number explicitly using the port field in the health check. Supported by backend services for passthrough load balancers and backend services for proxy load balancers. Not supported by target pools. The health check supports all backends supported by the backend service provided the backend can be health checked. For example, GCE_VM_IP network endpoint groups, GCE_VM_IP_PORT network endpoint groups, and instance group backends. USE_NAMED_PORT: Not supported. USE_SERVING_PORT: Provides an indirect method of specifying the health check port by referring to the backend service. Only supported by backend services for proxy load balancers. Not supported by target pools. Not supported by backend services for passthrough load balancers. Supports all backends that can be health checked; for example, GCE_VM_IP_PORT network endpoint groups and instance group backends. For GCE_VM_IP_PORT network endpoint group backends, the health check uses the port number specified for each endpoint in the network endpoint group. For instance group backends, the health check uses the port number determined by looking up the backend service's named port in the instance group's list of named ports. * `proxyHeader` (*type:* `String.t`, *default:* `nil`) - Specifies the type of proxy header to append before sending data to the backend, either NONE or PROXY_V1. The default is NONE. * `requestPath` (*type:* `String.t`, *default:* `nil`) - The request path of the HTTPS health check request. The default value is /. * `response` (*type:* `String.t`, *default:* `nil`) - Creates a content-based HTTPS health check. In addition to the required HTTP 200 (OK) status code, you can configure the health check to pass only when the backend sends this specific ASCII response string within the first 1024 bytes of the HTTP response body. For details, see: https://cloud.google.com/load-balancing/docs/health-check-concepts#criteria-protocol-http diff --git a/clients/compute/lib/google_api/compute/v1/model/https_health_check_1.ex b/clients/compute/lib/google_api/compute/v1/model/https_health_check_1.ex index ea2e37ec40..f8cb11db2e 100644 --- a/clients/compute/lib/google_api/compute/v1/model/https_health_check_1.ex +++ b/clients/compute/lib/google_api/compute/v1/model/https_health_check_1.ex @@ -30,7 +30,7 @@ defmodule GoogleApi.Compute.V1.Model.HttpsHealthCheck do * `kind` (*type:* `String.t`, *default:* `compute#httpsHealthCheck`) - Type of the resource. * `name` (*type:* `String.t`, *default:* `nil`) - Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. * `port` (*type:* `integer()`, *default:* `nil`) - The TCP port number for the HTTPS health check request. The default value is 443. - * `requestPath` (*type:* `String.t`, *default:* `nil`) - The request path of the HTTPS health check request. The default value is "/". + * `requestPath` (*type:* `String.t`, *default:* `nil`) - The request path of the HTTPS health check request. The default value is "/". Must comply with RFC3986. * `selfLink` (*type:* `String.t`, *default:* `nil`) - [Output Only] Server-defined URL for the resource. * `timeoutSec` (*type:* `integer()`, *default:* `nil`) - How long (in seconds) to wait before claiming failure. The default value is 5 seconds. It is invalid for timeoutSec to have a greater value than checkIntervalSec. * `unhealthyThreshold` (*type:* `integer()`, *default:* `nil`) - A so-far healthy instance will be marked unhealthy after this many consecutive failures. The default value is 2. diff --git a/clients/compute/lib/google_api/compute/v1/model/image.ex b/clients/compute/lib/google_api/compute/v1/model/image.ex index 0c0e5f1df4..4c524765bd 100644 --- a/clients/compute/lib/google_api/compute/v1/model/image.ex +++ b/clients/compute/lib/google_api/compute/v1/model/image.ex @@ -22,110 +22,116 @@ defmodule GoogleApi.Compute.V1.Model.Image do ## Attributes * `architecture` (*type:* `String.t`, *default:* `nil`) - The architecture of the image. Valid values are ARM64 or X86_64. - * `archiveSizeBytes` (*type:* `String.t`, *default:* `nil`) - Size of the image tar.gz archive stored in Google Cloud Storage (in bytes). - * `creationTimestamp` (*type:* `String.t`, *default:* `nil`) - [Output Only] Creation timestamp in RFC3339 text format. - * `deprecated` (*type:* `GoogleApi.Compute.V1.Model.DeprecationStatus.t`, *default:* `nil`) - The deprecation status associated with this image. + * `family` (*type:* `String.t`, *default:* `nil`) - The name of the image family to which this image belongs. The image family name can be from a publicly managed image family provided by Compute Engine, or from a custom image family you create. For example, centos-stream-9 is a publicly available image family. For more information, see Image family best practices. When creating disks, you can specify an image family instead of a specific image name. The image family always returns its latest image that is not deprecated. The name of the image family must comply with RFC1035. + * `storageLocations` (*type:* `list(String.t)`, *default:* `nil`) - Cloud Storage bucket storage location of the image (regional or multi-regional). + * `imageEncryptionKey` (*type:* `GoogleApi.Compute.V1.Model.CustomerEncryptionKey.t`, *default:* `nil`) - Encrypts the image using a customer-supplied encryption key. After you encrypt an image with a customer-supplied key, you must provide the same key if you use the image later (e.g. to create a disk from the image). Customer-supplied encryption keys do not protect access to metadata of the disk. If you do not provide an encryption key when creating the image, then the disk will be encrypted using an automatically generated key and you do not need to provide a key to use the image later. + * `satisfiesPzs` (*type:* `boolean()`, *default:* `nil`) - [Output Only] Reserved for future use. * `description` (*type:* `String.t`, *default:* `nil`) - An optional description of this resource. Provide this property when you create the resource. + * `sourceDiskId` (*type:* `String.t`, *default:* `nil`) - [Output Only] The ID value of the disk used to create this image. This value may be used to determine whether the image was taken from the current or a previous instance of a given disk name. + * `sourceSnapshotEncryptionKey` (*type:* `GoogleApi.Compute.V1.Model.CustomerEncryptionKey.t`, *default:* `nil`) - The customer-supplied encryption key of the source snapshot. Required if the source snapshot is protected by a customer-supplied encryption key. + * `kind` (*type:* `String.t`, *default:* `compute#image`) - [Output Only] Type of the resource. Always compute#image for images. + * `enableConfidentialCompute` (*type:* `boolean()`, *default:* `nil`) - Whether this image is created from a confidential compute mode disk. [Output Only]: This field is not set by user, but from source disk. + * `sourceDiskEncryptionKey` (*type:* `GoogleApi.Compute.V1.Model.CustomerEncryptionKey.t`, *default:* `nil`) - The customer-supplied encryption key of the source disk. Required if the source disk is protected by a customer-supplied encryption key. + * `sourceSnapshot` (*type:* `String.t`, *default:* `nil`) - URL of the source snapshot used to create this image. The following are valid formats for the URL: - https://www.googleapis.com/compute/v1/projects/project_id/global/ snapshots/snapshot_name - projects/project_id/global/snapshots/snapshot_name In order to create an image, you must provide the full or partial URL of one of the following: - The rawDisk.source URL - The sourceDisk URL - The sourceImage URL - The sourceSnapshot URL + * `name` (*type:* `String.t`, *default:* `nil`) - Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. + * `shieldedInstanceInitialState` (*type:* `GoogleApi.Compute.V1.Model.InitialStateConfig.t`, *default:* `nil`) - Set the secure boot keys of shielded instance. + * `status` (*type:* `String.t`, *default:* `nil`) - [Output Only] The status of the image. An image can be used to create other resources, such as instances, only after the image has been successfully created and the status is set to READY. Possible values are FAILED, PENDING, or READY. + * `deprecated` (*type:* `GoogleApi.Compute.V1.Model.DeprecationStatus.t`, *default:* `nil`) - The deprecation status associated with this image. + * `sourceImageId` (*type:* `String.t`, *default:* `nil`) - [Output Only] The ID value of the image used to create this image. This value may be used to determine whether the image was taken from the current or a previous instance of a given image name. * `diskSizeGb` (*type:* `String.t`, *default:* `nil`) - Size of the image when restored onto a persistent disk (in GB). - * `family` (*type:* `String.t`, *default:* `nil`) - The name of the image family to which this image belongs. You can create disks by specifying an image family instead of a specific image name. The image family always returns its latest image that is not deprecated. The name of the image family must comply with RFC1035. * `guestOsFeatures` (*type:* `list(GoogleApi.Compute.V1.Model.GuestOsFeature.t)`, *default:* `nil`) - A list of features to enable on the guest operating system. Applicable only for bootable images. To see a list of available options, see the guestOSfeatures[].type parameter. - * `id` (*type:* `String.t`, *default:* `nil`) - [Output Only] The unique identifier for the resource. This identifier is defined by the server. - * `imageEncryptionKey` (*type:* `GoogleApi.Compute.V1.Model.CustomerEncryptionKey.t`, *default:* `nil`) - Encrypts the image using a customer-supplied encryption key. After you encrypt an image with a customer-supplied key, you must provide the same key if you use the image later (e.g. to create a disk from the image). Customer-supplied encryption keys do not protect access to metadata of the disk. If you do not provide an encryption key when creating the image, then the disk will be encrypted using an automatically generated key and you do not need to provide a key to use the image later. - * `kind` (*type:* `String.t`, *default:* `compute#image`) - [Output Only] Type of the resource. Always compute#image for images. - * `labelFingerprint` (*type:* `String.t`, *default:* `nil`) - A fingerprint for the labels being applied to this image, which is essentially a hash of the labels used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve an image. - * `labels` (*type:* `map()`, *default:* `nil`) - Labels to apply to this image. These can be later modified by the setLabels method. + * `sourceSnapshotId` (*type:* `String.t`, *default:* `nil`) - [Output Only] The ID value of the snapshot used to create this image. This value may be used to determine whether the snapshot was taken from the current or a previous instance of a given snapshot name. * `licenseCodes` (*type:* `list(String.t)`, *default:* `nil`) - Integer license codes indicating which licenses are attached to this image. * `licenses` (*type:* `list(String.t)`, *default:* `nil`) - Any applicable license URI. - * `name` (*type:* `String.t`, *default:* `nil`) - Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. * `rawDisk` (*type:* `GoogleApi.Compute.V1.Model.ImageRawDisk.t`, *default:* `nil`) - The parameters of the raw disk image. - * `satisfiesPzs` (*type:* `boolean()`, *default:* `nil`) - [Output Only] Reserved for future use. + * `labelFingerprint` (*type:* `String.t`, *default:* `nil`) - A fingerprint for the labels being applied to this image, which is essentially a hash of the labels used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve an image. + * `creationTimestamp` (*type:* `String.t`, *default:* `nil`) - [Output Only] Creation timestamp in RFC3339 text format. + * `id` (*type:* `String.t`, *default:* `nil`) - [Output Only] The unique identifier for the resource. This identifier is defined by the server. + * `sourceType` (*type:* `String.t`, *default:* `RAW`) - The type of the image used to create this disk. The default and only valid value is RAW. + * `sourceImageEncryptionKey` (*type:* `GoogleApi.Compute.V1.Model.CustomerEncryptionKey.t`, *default:* `nil`) - The customer-supplied encryption key of the source image. Required if the source image is protected by a customer-supplied encryption key. + * `labels` (*type:* `map()`, *default:* `nil`) - Labels to apply to this image. These can be later modified by the setLabels method. * `selfLink` (*type:* `String.t`, *default:* `nil`) - [Output Only] Server-defined URL for the resource. - * `shieldedInstanceInitialState` (*type:* `GoogleApi.Compute.V1.Model.InitialStateConfig.t`, *default:* `nil`) - Set the secure boot keys of shielded instance. + * `satisfiesPzi` (*type:* `boolean()`, *default:* `nil`) - Output only. Reserved for future use. * `sourceDisk` (*type:* `String.t`, *default:* `nil`) - URL of the source disk used to create this image. For example, the following are valid values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /disks/disk - projects/project/zones/zone/disks/disk - zones/zone/disks/disk In order to create an image, you must provide the full or partial URL of one of the following: - The rawDisk.source URL - The sourceDisk URL - The sourceImage URL - The sourceSnapshot URL - * `sourceDiskEncryptionKey` (*type:* `GoogleApi.Compute.V1.Model.CustomerEncryptionKey.t`, *default:* `nil`) - The customer-supplied encryption key of the source disk. Required if the source disk is protected by a customer-supplied encryption key. - * `sourceDiskId` (*type:* `String.t`, *default:* `nil`) - [Output Only] The ID value of the disk used to create this image. This value may be used to determine whether the image was taken from the current or a previous instance of a given disk name. + * `archiveSizeBytes` (*type:* `String.t`, *default:* `nil`) - Size of the image tar.gz archive stored in Google Cloud Storage (in bytes). * `sourceImage` (*type:* `String.t`, *default:* `nil`) - URL of the source image used to create this image. The following are valid formats for the URL: - https://www.googleapis.com/compute/v1/projects/project_id/global/ images/image_name - projects/project_id/global/images/image_name In order to create an image, you must provide the full or partial URL of one of the following: - The rawDisk.source URL - The sourceDisk URL - The sourceImage URL - The sourceSnapshot URL - * `sourceImageEncryptionKey` (*type:* `GoogleApi.Compute.V1.Model.CustomerEncryptionKey.t`, *default:* `nil`) - The customer-supplied encryption key of the source image. Required if the source image is protected by a customer-supplied encryption key. - * `sourceImageId` (*type:* `String.t`, *default:* `nil`) - [Output Only] The ID value of the image used to create this image. This value may be used to determine whether the image was taken from the current or a previous instance of a given image name. - * `sourceSnapshot` (*type:* `String.t`, *default:* `nil`) - URL of the source snapshot used to create this image. The following are valid formats for the URL: - https://www.googleapis.com/compute/v1/projects/project_id/global/ snapshots/snapshot_name - projects/project_id/global/snapshots/snapshot_name In order to create an image, you must provide the full or partial URL of one of the following: - The rawDisk.source URL - The sourceDisk URL - The sourceImage URL - The sourceSnapshot URL - * `sourceSnapshotEncryptionKey` (*type:* `GoogleApi.Compute.V1.Model.CustomerEncryptionKey.t`, *default:* `nil`) - The customer-supplied encryption key of the source snapshot. Required if the source snapshot is protected by a customer-supplied encryption key. - * `sourceSnapshotId` (*type:* `String.t`, *default:* `nil`) - [Output Only] The ID value of the snapshot used to create this image. This value may be used to determine whether the snapshot was taken from the current or a previous instance of a given snapshot name. - * `sourceType` (*type:* `String.t`, *default:* `RAW`) - The type of the image used to create this disk. The default and only valid value is RAW. - * `status` (*type:* `String.t`, *default:* `nil`) - [Output Only] The status of the image. An image can be used to create other resources, such as instances, only after the image has been successfully created and the status is set to READY. Possible values are FAILED, PENDING, or READY. - * `storageLocations` (*type:* `list(String.t)`, *default:* `nil`) - Cloud Storage bucket storage location of the image (regional or multi-regional). """ use GoogleApi.Gax.ModelBase @type t :: %__MODULE__{ :architecture => String.t() | nil, - :archiveSizeBytes => String.t() | nil, - :creationTimestamp => String.t() | nil, - :deprecated => GoogleApi.Compute.V1.Model.DeprecationStatus.t() | nil, - :description => String.t() | nil, - :diskSizeGb => String.t() | nil, :family => String.t() | nil, - :guestOsFeatures => list(GoogleApi.Compute.V1.Model.GuestOsFeature.t()) | nil, - :id => String.t() | nil, + :storageLocations => list(String.t()) | nil, :imageEncryptionKey => GoogleApi.Compute.V1.Model.CustomerEncryptionKey.t() | nil, + :satisfiesPzs => boolean() | nil, + :description => String.t() | nil, + :sourceDiskId => String.t() | nil, + :sourceSnapshotEncryptionKey => + GoogleApi.Compute.V1.Model.CustomerEncryptionKey.t() | nil, :kind => String.t() | nil, - :labelFingerprint => String.t() | nil, - :labels => map() | nil, - :licenseCodes => list(String.t()) | nil, - :licenses => list(String.t()) | nil, + :enableConfidentialCompute => boolean() | nil, + :sourceDiskEncryptionKey => GoogleApi.Compute.V1.Model.CustomerEncryptionKey.t() | nil, + :sourceSnapshot => String.t() | nil, :name => String.t() | nil, - :rawDisk => GoogleApi.Compute.V1.Model.ImageRawDisk.t() | nil, - :satisfiesPzs => boolean() | nil, - :selfLink => String.t() | nil, :shieldedInstanceInitialState => GoogleApi.Compute.V1.Model.InitialStateConfig.t() | nil, - :sourceDisk => String.t() | nil, - :sourceDiskEncryptionKey => GoogleApi.Compute.V1.Model.CustomerEncryptionKey.t() | nil, - :sourceDiskId => String.t() | nil, - :sourceImage => String.t() | nil, - :sourceImageEncryptionKey => GoogleApi.Compute.V1.Model.CustomerEncryptionKey.t() | nil, + :status => String.t() | nil, + :deprecated => GoogleApi.Compute.V1.Model.DeprecationStatus.t() | nil, :sourceImageId => String.t() | nil, - :sourceSnapshot => String.t() | nil, - :sourceSnapshotEncryptionKey => - GoogleApi.Compute.V1.Model.CustomerEncryptionKey.t() | nil, + :diskSizeGb => String.t() | nil, + :guestOsFeatures => list(GoogleApi.Compute.V1.Model.GuestOsFeature.t()) | nil, :sourceSnapshotId => String.t() | nil, + :licenseCodes => list(String.t()) | nil, + :licenses => list(String.t()) | nil, + :rawDisk => GoogleApi.Compute.V1.Model.ImageRawDisk.t() | nil, + :labelFingerprint => String.t() | nil, + :creationTimestamp => String.t() | nil, + :id => String.t() | nil, :sourceType => String.t() | nil, - :status => String.t() | nil, - :storageLocations => list(String.t()) | nil + :sourceImageEncryptionKey => GoogleApi.Compute.V1.Model.CustomerEncryptionKey.t() | nil, + :labels => map() | nil, + :selfLink => String.t() | nil, + :satisfiesPzi => boolean() | nil, + :sourceDisk => String.t() | nil, + :archiveSizeBytes => String.t() | nil, + :sourceImage => String.t() | nil } field(:architecture) - field(:archiveSizeBytes) - field(:creationTimestamp) - field(:deprecated, as: GoogleApi.Compute.V1.Model.DeprecationStatus) - field(:description) - field(:diskSizeGb) field(:family) - field(:guestOsFeatures, as: GoogleApi.Compute.V1.Model.GuestOsFeature, type: :list) - field(:id) + field(:storageLocations, type: :list) field(:imageEncryptionKey, as: GoogleApi.Compute.V1.Model.CustomerEncryptionKey) + field(:satisfiesPzs) + field(:description) + field(:sourceDiskId) + field(:sourceSnapshotEncryptionKey, as: GoogleApi.Compute.V1.Model.CustomerEncryptionKey) field(:kind) - field(:labelFingerprint) - field(:labels, type: :map) + field(:enableConfidentialCompute) + field(:sourceDiskEncryptionKey, as: GoogleApi.Compute.V1.Model.CustomerEncryptionKey) + field(:sourceSnapshot) + field(:name) + field(:shieldedInstanceInitialState, as: GoogleApi.Compute.V1.Model.InitialStateConfig) + field(:status) + field(:deprecated, as: GoogleApi.Compute.V1.Model.DeprecationStatus) + field(:sourceImageId) + field(:diskSizeGb) + field(:guestOsFeatures, as: GoogleApi.Compute.V1.Model.GuestOsFeature, type: :list) + field(:sourceSnapshotId) field(:licenseCodes, type: :list) field(:licenses, type: :list) - field(:name) field(:rawDisk, as: GoogleApi.Compute.V1.Model.ImageRawDisk) - field(:satisfiesPzs) + field(:labelFingerprint) + field(:creationTimestamp) + field(:id) + field(:sourceType) + field(:sourceImageEncryptionKey, as: GoogleApi.Compute.V1.Model.CustomerEncryptionKey) + field(:labels, type: :map) field(:selfLink) - field(:shieldedInstanceInitialState, as: GoogleApi.Compute.V1.Model.InitialStateConfig) + field(:satisfiesPzi) field(:sourceDisk) - field(:sourceDiskEncryptionKey, as: GoogleApi.Compute.V1.Model.CustomerEncryptionKey) - field(:sourceDiskId) + field(:archiveSizeBytes) field(:sourceImage) - field(:sourceImageEncryptionKey, as: GoogleApi.Compute.V1.Model.CustomerEncryptionKey) - field(:sourceImageId) - field(:sourceSnapshot) - field(:sourceSnapshotEncryptionKey, as: GoogleApi.Compute.V1.Model.CustomerEncryptionKey) - field(:sourceSnapshotId) - field(:sourceType) - field(:status) - field(:storageLocations, type: :list) end defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.Image do diff --git a/clients/compute/lib/google_api/compute/v1/model/instance.ex b/clients/compute/lib/google_api/compute/v1/model/instance.ex index a6a6371036..e663d7dfac 100644 --- a/clients/compute/lib/google_api/compute/v1/model/instance.ex +++ b/clients/compute/lib/google_api/compute/v1/model/instance.ex @@ -34,6 +34,7 @@ defmodule GoogleApi.Compute.V1.Model.Instance do * `metadata` (*type:* `GoogleApi.Compute.V1.Model.Metadata.t`, *default:* `nil`) - The metadata key/value pairs assigned to this instance. This includes custom metadata and predefined keys. * `confidentialInstanceConfig` (*type:* `GoogleApi.Compute.V1.Model.ConfidentialInstanceConfig.t`, *default:* `nil`) - * `zone` (*type:* `String.t`, *default:* `nil`) - [Output Only] URL of the zone where the instance resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body. + * `instanceEncryptionKey` (*type:* `GoogleApi.Compute.V1.Model.CustomerEncryptionKey.t`, *default:* `nil`) - Encrypts suspended data for an instance with a customer-managed encryption key. If you are creating a new instance, this field will encrypt the local SSD and in-memory contents of the instance during the suspend operation. If you do not provide an encryption key when creating the instance, then the local SSD and in-memory contents will be encrypted using an automatically generated key during the suspend operation. * `description` (*type:* `String.t`, *default:* `nil`) - An optional description of this resource. Provide this property when you create the resource. * `networkPerformanceConfig` (*type:* `GoogleApi.Compute.V1.Model.NetworkPerformanceConfig.t`, *default:* `nil`) - * `sourceMachineImageEncryptionKey` (*type:* `GoogleApi.Compute.V1.Model.CustomerEncryptionKey.t`, *default:* `nil`) - Source machine image encryption key when creating an instance from a machine image. @@ -62,6 +63,7 @@ defmodule GoogleApi.Compute.V1.Model.Instance do * `labels` (*type:* `map()`, *default:* `nil`) - Labels to apply to this instance. These can be later modified by the setLabels method. * `lastStartTimestamp` (*type:* `String.t`, *default:* `nil`) - [Output Only] Last start timestamp in RFC3339 text format. * `selfLink` (*type:* `String.t`, *default:* `nil`) - [Output Only] Server-defined URL for this resource. + * `satisfiesPzi` (*type:* `boolean()`, *default:* `nil`) - [Output Only] Reserved for future use. * `reservationAffinity` (*type:* `GoogleApi.Compute.V1.Model.ReservationAffinity.t`, *default:* `nil`) - Specifies the reservations that this instance can consume from. * `cpuPlatform` (*type:* `String.t`, *default:* `nil`) - [Output Only] The CPU platform used by this instance. * `scheduling` (*type:* `GoogleApi.Compute.V1.Model.Scheduling.t`, *default:* `nil`) - Sets the scheduling options for this instance. @@ -85,6 +87,7 @@ defmodule GoogleApi.Compute.V1.Model.Instance do :confidentialInstanceConfig => GoogleApi.Compute.V1.Model.ConfidentialInstanceConfig.t() | nil, :zone => String.t() | nil, + :instanceEncryptionKey => GoogleApi.Compute.V1.Model.CustomerEncryptionKey.t() | nil, :description => String.t() | nil, :networkPerformanceConfig => GoogleApi.Compute.V1.Model.NetworkPerformanceConfig.t() | nil, @@ -116,6 +119,7 @@ defmodule GoogleApi.Compute.V1.Model.Instance do :labels => map() | nil, :lastStartTimestamp => String.t() | nil, :selfLink => String.t() | nil, + :satisfiesPzi => boolean() | nil, :reservationAffinity => GoogleApi.Compute.V1.Model.ReservationAffinity.t() | nil, :cpuPlatform => String.t() | nil, :scheduling => GoogleApi.Compute.V1.Model.Scheduling.t() | nil @@ -134,6 +138,7 @@ defmodule GoogleApi.Compute.V1.Model.Instance do field(:metadata, as: GoogleApi.Compute.V1.Model.Metadata) field(:confidentialInstanceConfig, as: GoogleApi.Compute.V1.Model.ConfidentialInstanceConfig) field(:zone) + field(:instanceEncryptionKey, as: GoogleApi.Compute.V1.Model.CustomerEncryptionKey) field(:description) field(:networkPerformanceConfig, as: GoogleApi.Compute.V1.Model.NetworkPerformanceConfig) field(:sourceMachineImageEncryptionKey, as: GoogleApi.Compute.V1.Model.CustomerEncryptionKey) @@ -166,6 +171,7 @@ defmodule GoogleApi.Compute.V1.Model.Instance do field(:labels, type: :map) field(:lastStartTimestamp) field(:selfLink) + field(:satisfiesPzi) field(:reservationAffinity, as: GoogleApi.Compute.V1.Model.ReservationAffinity) field(:cpuPlatform) field(:scheduling, as: GoogleApi.Compute.V1.Model.Scheduling) diff --git a/clients/compute/lib/google_api/compute/v1/model/instance_group_manager.ex b/clients/compute/lib/google_api/compute/v1/model/instance_group_manager.ex index 45b06d68cc..4bcc7c84e2 100644 --- a/clients/compute/lib/google_api/compute/v1/model/instance_group_manager.ex +++ b/clients/compute/lib/google_api/compute/v1/model/instance_group_manager.ex @@ -21,6 +21,7 @@ defmodule GoogleApi.Compute.V1.Model.InstanceGroupManager do ## Attributes + * `allInstancesConfig` (*type:* `GoogleApi.Compute.V1.Model.InstanceGroupManagerAllInstancesConfig.t`, *default:* `nil`) - Specifies configuration that overrides the instance template configuration for the group. * `autoHealingPolicies` (*type:* `list(GoogleApi.Compute.V1.Model.InstanceGroupManagerAutoHealingPolicy.t)`, *default:* `nil`) - The autohealing policy for this managed instance group. You can specify only one value. * `baseInstanceName` (*type:* `String.t`, *default:* `nil`) - The base instance name to use for instances in this group. The value must be 1-58 characters long. Instances are named by appending a hyphen and a random four-character string to the base instance name. The base instance name must comply with RFC1035. * `creationTimestamp` (*type:* `String.t`, *default:* `nil`) - [Output Only] The creation timestamp for this managed instance group in RFC3339 text format. @@ -30,6 +31,7 @@ defmodule GoogleApi.Compute.V1.Model.InstanceGroupManager do * `fingerprint` (*type:* `String.t`, *default:* `nil`) - Fingerprint of this resource. This field may be used in optimistic locking. It will be ignored when inserting an InstanceGroupManager. An up-to-date fingerprint must be provided in order to update the InstanceGroupManager, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve an InstanceGroupManager. * `id` (*type:* `String.t`, *default:* `nil`) - [Output Only] A unique identifier for this resource type. The server generates this identifier. * `instanceGroup` (*type:* `String.t`, *default:* `nil`) - [Output Only] The URL of the Instance Group resource. + * `instanceLifecyclePolicy` (*type:* `GoogleApi.Compute.V1.Model.InstanceGroupManagerInstanceLifecyclePolicy.t`, *default:* `nil`) - The repair policy for this managed instance group. * `instanceTemplate` (*type:* `String.t`, *default:* `nil`) - The URL of the instance template that is specified for this managed instance group. The group uses this template to create all new instances in the managed instance group. The templates for existing instances in the group do not change unless you run recreateInstances, run applyUpdatesToInstances, or set the group's updatePolicy.type to PROACTIVE. * `kind` (*type:* `String.t`, *default:* `compute#instanceGroupManager`) - [Output Only] The resource type, which is always compute#instanceGroupManager for managed instance groups. * `listManagedInstancesResults` (*type:* `String.t`, *default:* `nil`) - Pagination behavior of the listManagedInstances API method for this managed instance group. @@ -49,6 +51,8 @@ defmodule GoogleApi.Compute.V1.Model.InstanceGroupManager do use GoogleApi.Gax.ModelBase @type t :: %__MODULE__{ + :allInstancesConfig => + GoogleApi.Compute.V1.Model.InstanceGroupManagerAllInstancesConfig.t() | nil, :autoHealingPolicies => list(GoogleApi.Compute.V1.Model.InstanceGroupManagerAutoHealingPolicy.t()) | nil, :baseInstanceName => String.t() | nil, @@ -60,6 +64,8 @@ defmodule GoogleApi.Compute.V1.Model.InstanceGroupManager do :fingerprint => String.t() | nil, :id => String.t() | nil, :instanceGroup => String.t() | nil, + :instanceLifecyclePolicy => + GoogleApi.Compute.V1.Model.InstanceGroupManagerInstanceLifecyclePolicy.t() | nil, :instanceTemplate => String.t() | nil, :kind => String.t() | nil, :listManagedInstancesResults => String.t() | nil, @@ -76,6 +82,8 @@ defmodule GoogleApi.Compute.V1.Model.InstanceGroupManager do :zone => String.t() | nil } + field(:allInstancesConfig, as: GoogleApi.Compute.V1.Model.InstanceGroupManagerAllInstancesConfig) + field(:autoHealingPolicies, as: GoogleApi.Compute.V1.Model.InstanceGroupManagerAutoHealingPolicy, type: :list @@ -89,6 +97,11 @@ defmodule GoogleApi.Compute.V1.Model.InstanceGroupManager do field(:fingerprint) field(:id) field(:instanceGroup) + + field(:instanceLifecyclePolicy, + as: GoogleApi.Compute.V1.Model.InstanceGroupManagerInstanceLifecyclePolicy + ) + field(:instanceTemplate) field(:kind) field(:listManagedInstancesResults) diff --git a/clients/compute/lib/google_api/compute/v1/model/instance_group_manager_all_instances_config.ex b/clients/compute/lib/google_api/compute/v1/model/instance_group_manager_all_instances_config.ex new file mode 100644 index 0000000000..fea0e926f9 --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/instance_group_manager_all_instances_config.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.Compute.V1.Model.InstanceGroupManagerAllInstancesConfig do + @moduledoc """ + + + ## Attributes + + * `properties` (*type:* `GoogleApi.Compute.V1.Model.InstancePropertiesPatch.t`, *default:* `nil`) - Properties to set on all instances in the group. You can add or modify properties using the instanceGroupManagers.patch or regionInstanceGroupManagers.patch. After setting allInstancesConfig on the group, you must update the group's instances to apply the configuration. To apply the configuration, set the group's updatePolicy.type field to use proactive updates or use the applyUpdatesToInstances method. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :properties => GoogleApi.Compute.V1.Model.InstancePropertiesPatch.t() | nil + } + + field(:properties, as: GoogleApi.Compute.V1.Model.InstancePropertiesPatch) +end + +defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.InstanceGroupManagerAllInstancesConfig do + def decode(value, options) do + GoogleApi.Compute.V1.Model.InstanceGroupManagerAllInstancesConfig.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.InstanceGroupManagerAllInstancesConfig 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_auto_healing_policy.ex b/clients/compute/lib/google_api/compute/v1/model/instance_group_manager_auto_healing_policy.ex index 056343aaec..69266b1e59 100644 --- a/clients/compute/lib/google_api/compute/v1/model/instance_group_manager_auto_healing_policy.ex +++ b/clients/compute/lib/google_api/compute/v1/model/instance_group_manager_auto_healing_policy.ex @@ -22,7 +22,7 @@ defmodule GoogleApi.Compute.V1.Model.InstanceGroupManagerAutoHealingPolicy do ## Attributes * `healthCheck` (*type:* `String.t`, *default:* `nil`) - The URL for the health check that signals autohealing. - * `initialDelaySec` (*type:* `integer()`, *default:* `nil`) - The number of seconds that the managed instance group waits before it applies autohealing policies to new instances or recently recreated instances. This initial delay allows instances to initialize and run their startup scripts before the instance group determines that they are UNHEALTHY. This prevents the managed instance group from recreating its instances prematurely. This value must be from range [0, 3600]. + * `initialDelaySec` (*type:* `integer()`, *default:* `nil`) - The initial delay is the number of seconds that a new VM takes to initialize and run its startup script. During a VM's initial delay period, the MIG ignores unsuccessful health checks because the VM might be in the startup process. This prevents the MIG from prematurely recreating a VM. If the health check receives a healthy response during the initial delay, it indicates that the startup process is complete and the VM is ready. The value of initial delay must be between 0 and 3600 seconds. The default value is 0. """ use GoogleApi.Gax.ModelBase diff --git a/clients/compute/lib/google_api/compute/v1/model/instance_group_manager_instance_lifecycle_policy.ex b/clients/compute/lib/google_api/compute/v1/model/instance_group_manager_instance_lifecycle_policy.ex new file mode 100644 index 0000000000..808d3e3177 --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/instance_group_manager_instance_lifecycle_policy.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.Compute.V1.Model.InstanceGroupManagerInstanceLifecyclePolicy do + @moduledoc """ + + + ## Attributes + + * `defaultActionOnFailure` (*type:* `String.t`, *default:* `nil`) - The action that a MIG performs on a failed or an unhealthy VM. A VM is marked as unhealthy when the application running on that VM fails a health check. Valid values are - REPAIR (default): MIG automatically repairs a failed or an unhealthy VM by recreating it. For more information, see About repairing VMs in a MIG. - DO_NOTHING: MIG does not repair a failed or an unhealthy VM. + * `forceUpdateOnRepair` (*type:* `String.t`, *default:* `nil`) - A bit indicating whether to forcefully apply the group's latest configuration when repairing a VM. Valid options are: - NO (default): If configuration updates are available, they are not forcefully applied during repair. Instead, configuration updates are applied according to the group's update policy. - YES: If configuration updates are available, they are applied during repair. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :defaultActionOnFailure => String.t() | nil, + :forceUpdateOnRepair => String.t() | nil + } + + field(:defaultActionOnFailure) + field(:forceUpdateOnRepair) +end + +defimpl Poison.Decoder, + for: GoogleApi.Compute.V1.Model.InstanceGroupManagerInstanceLifecyclePolicy do + def decode(value, options) do + GoogleApi.Compute.V1.Model.InstanceGroupManagerInstanceLifecyclePolicy.decode(value, options) + end +end + +defimpl Poison.Encoder, + for: GoogleApi.Compute.V1.Model.InstanceGroupManagerInstanceLifecyclePolicy 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_status.ex b/clients/compute/lib/google_api/compute/v1/model/instance_group_manager_status.ex index 8c54f27757..2ef0926e10 100644 --- a/clients/compute/lib/google_api/compute/v1/model/instance_group_manager_status.ex +++ b/clients/compute/lib/google_api/compute/v1/model/instance_group_manager_status.ex @@ -21,6 +21,7 @@ defmodule GoogleApi.Compute.V1.Model.InstanceGroupManagerStatus do ## Attributes + * `allInstancesConfig` (*type:* `GoogleApi.Compute.V1.Model.InstanceGroupManagerStatusAllInstancesConfig.t`, *default:* `nil`) - [Output only] Status of all-instances configuration on the group. * `autoscaler` (*type:* `String.t`, *default:* `nil`) - [Output Only] The URL of the Autoscaler that targets this instance group manager. * `isStable` (*type:* `boolean()`, *default:* `nil`) - [Output Only] A bit indicating whether the managed instance group is in a stable state. A stable state means that: none of the instances in the managed instance group is currently undergoing any type of change (for example, creation, restart, or deletion); no future changes are scheduled for instances in the managed instance group; and the managed instance group itself is not being modified. * `stateful` (*type:* `GoogleApi.Compute.V1.Model.InstanceGroupManagerStatusStateful.t`, *default:* `nil`) - [Output Only] Stateful status of the given Instance Group Manager. @@ -30,6 +31,8 @@ defmodule GoogleApi.Compute.V1.Model.InstanceGroupManagerStatus do use GoogleApi.Gax.ModelBase @type t :: %__MODULE__{ + :allInstancesConfig => + GoogleApi.Compute.V1.Model.InstanceGroupManagerStatusAllInstancesConfig.t() | nil, :autoscaler => String.t() | nil, :isStable => boolean() | nil, :stateful => GoogleApi.Compute.V1.Model.InstanceGroupManagerStatusStateful.t() | nil, @@ -37,6 +40,10 @@ defmodule GoogleApi.Compute.V1.Model.InstanceGroupManagerStatus do GoogleApi.Compute.V1.Model.InstanceGroupManagerStatusVersionTarget.t() | nil } + field(:allInstancesConfig, + as: GoogleApi.Compute.V1.Model.InstanceGroupManagerStatusAllInstancesConfig + ) + field(:autoscaler) field(:isStable) field(:stateful, as: GoogleApi.Compute.V1.Model.InstanceGroupManagerStatusStateful) diff --git a/clients/compute/lib/google_api/compute/v1/model/instance_group_manager_status_all_instances_config.ex b/clients/compute/lib/google_api/compute/v1/model/instance_group_manager_status_all_instances_config.ex new file mode 100644 index 0000000000..960a12ba82 --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/instance_group_manager_status_all_instances_config.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.Compute.V1.Model.InstanceGroupManagerStatusAllInstancesConfig do + @moduledoc """ + + + ## Attributes + + * `currentRevision` (*type:* `String.t`, *default:* `nil`) - [Output Only] Current all-instances configuration revision. This value is in RFC3339 text format. + * `effective` (*type:* `boolean()`, *default:* `nil`) - [Output Only] A bit indicating whether this configuration has been applied to all managed instances in the group. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :currentRevision => String.t() | nil, + :effective => boolean() | nil + } + + field(:currentRevision) + field(:effective) +end + +defimpl Poison.Decoder, + for: GoogleApi.Compute.V1.Model.InstanceGroupManagerStatusAllInstancesConfig do + def decode(value, options) do + GoogleApi.Compute.V1.Model.InstanceGroupManagerStatusAllInstancesConfig.decode(value, options) + end +end + +defimpl Poison.Encoder, + for: GoogleApi.Compute.V1.Model.InstanceGroupManagerStatusAllInstancesConfig 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_update_policy.ex b/clients/compute/lib/google_api/compute/v1/model/instance_group_manager_update_policy.ex index 51bef674dd..cce29eb62b 100644 --- a/clients/compute/lib/google_api/compute/v1/model/instance_group_manager_update_policy.ex +++ b/clients/compute/lib/google_api/compute/v1/model/instance_group_manager_update_policy.ex @@ -25,9 +25,9 @@ defmodule GoogleApi.Compute.V1.Model.InstanceGroupManagerUpdatePolicy do * `maxSurge` (*type:* `GoogleApi.Compute.V1.Model.FixedOrPercent.t`, *default:* `nil`) - The maximum number of instances that can be created above the specified targetSize during the update process. This value can be either a fixed number or, if the group has 10 or more instances, a percentage. If you set a percentage, the number of instances is rounded if necessary. The default value for maxSurge is a fixed value equal to the number of zones in which the managed instance group operates. At least one of either maxSurge or maxUnavailable must be greater than 0. Learn more about maxSurge. * `maxUnavailable` (*type:* `GoogleApi.Compute.V1.Model.FixedOrPercent.t`, *default:* `nil`) - The maximum number of instances that can be unavailable during the update process. An instance is considered available if all of the following conditions are satisfied: - The instance's status is RUNNING. - If there is a health check on the instance group, the instance's health check status must be HEALTHY at least once. If there is no health check on the group, then the instance only needs to have a status of RUNNING to be considered available. This value can be either a fixed number or, if the group has 10 or more instances, a percentage. If you set a percentage, the number of instances is rounded if necessary. The default value for maxUnavailable is a fixed value equal to the number of zones in which the managed instance group operates. At least one of either maxSurge or maxUnavailable must be greater than 0. Learn more about maxUnavailable. * `minimalAction` (*type:* `String.t`, *default:* `nil`) - Minimal action to be taken on an instance. Use this option to minimize disruption as much as possible or to apply a more disruptive action than is necessary. - To limit disruption as much as possible, set the minimal action to REFRESH. If your update requires a more disruptive action, Compute Engine performs the necessary action to execute the update. - To apply a more disruptive action than is strictly necessary, set the minimal action to RESTART or REPLACE. For example, Compute Engine does not need to restart a VM to change its metadata. But if your application reads instance metadata only when a VM is restarted, you can set the minimal action to RESTART in order to pick up metadata changes. - * `mostDisruptiveAllowedAction` (*type:* `String.t`, *default:* `nil`) - Most disruptive action that is allowed to be taken on an instance. You can specify either NONE to forbid any actions, REFRESH to allow actions that do not need instance restart, RESTART to allow actions that can be applied without instance replacing or REPLACE to allow all possible actions. If the Updater determines that the minimal update action needed is more disruptive than most disruptive allowed action you specify it will not perform the update at all. + * `mostDisruptiveAllowedAction` (*type:* `String.t`, *default:* `nil`) - Most disruptive action that is allowed to be taken on an instance. You can specify either NONE to forbid any actions, REFRESH to avoid restarting the VM and to limit disruption as much as possible. RESTART to allow actions that can be applied without instance replacing or REPLACE to allow all possible actions. If the Updater determines that the minimal update action needed is more disruptive than most disruptive allowed action you specify it will not perform the update at all. * `replacementMethod` (*type:* `String.t`, *default:* `nil`) - What action should be used to replace instances. See minimal_action.REPLACE - * `type` (*type:* `String.t`, *default:* `nil`) - The type of update process. You can specify either PROACTIVE so that the instance group manager proactively executes actions in order to bring instances to their target versions or OPPORTUNISTIC so that no action is proactively executed but the update will be performed as part of other actions (for example, resizes or recreateInstances calls). + * `type` (*type:* `String.t`, *default:* `nil`) - The type of update process. You can specify either PROACTIVE so that the MIG automatically updates VMs to the latest configurations or OPPORTUNISTIC so that you can select the VMs that you want to update. """ use GoogleApi.Gax.ModelBase diff --git a/clients/compute/lib/google_api/compute/v1/model/instance_group_managers_apply_updates_request.ex b/clients/compute/lib/google_api/compute/v1/model/instance_group_managers_apply_updates_request.ex index 4c103c3aeb..365b610351 100644 --- a/clients/compute/lib/google_api/compute/v1/model/instance_group_managers_apply_updates_request.ex +++ b/clients/compute/lib/google_api/compute/v1/model/instance_group_managers_apply_updates_request.ex @@ -23,8 +23,8 @@ defmodule GoogleApi.Compute.V1.Model.InstanceGroupManagersApplyUpdatesRequest do * `allInstances` (*type:* `boolean()`, *default:* `nil`) - Flag to update all instances instead of specified list of “instances”. If the flag is set to true then the instances may not be specified in the request. * `instances` (*type:* `list(String.t)`, *default:* `nil`) - The list of URLs of one or more instances for which you want to apply updates. Each URL can be a full URL or a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME]. - * `minimalAction` (*type:* `String.t`, *default:* `nil`) - The minimal action that you want to perform on each instance during the update: - REPLACE: At minimum, delete the instance and create it again. - RESTART: Stop the instance and start it again. - REFRESH: Do not stop the instance. - NONE: Do not disrupt the instance at all. By default, the minimum action is NONE. If your update requires a more disruptive action than you set with this flag, the necessary action is performed to execute the update. - * `mostDisruptiveAllowedAction` (*type:* `String.t`, *default:* `nil`) - The most disruptive action that you want to perform on each instance during the update: - REPLACE: Delete the instance and create it again. - RESTART: Stop the instance and start it again. - REFRESH: Do not stop the instance. - NONE: Do not disrupt the instance at all. By default, the most disruptive allowed action is REPLACE. If your update requires a more disruptive action than you set with this flag, the update request will fail. + * `minimalAction` (*type:* `String.t`, *default:* `nil`) - The minimal action that you want to perform on each instance during the update: - REPLACE: At minimum, delete the instance and create it again. - RESTART: Stop the instance and start it again. - REFRESH: Do not stop the instance and limit disruption as much as possible. - NONE: Do not disrupt the instance at all. By default, the minimum action is NONE. If your update requires a more disruptive action than you set with this flag, the necessary action is performed to execute the update. + * `mostDisruptiveAllowedAction` (*type:* `String.t`, *default:* `nil`) - The most disruptive action that you want to perform on each instance during the update: - REPLACE: Delete the instance and create it again. - RESTART: Stop the instance and start it again. - REFRESH: Do not stop the instance and limit disruption as much as possible. - NONE: Do not disrupt the instance at all. By default, the most disruptive allowed action is REPLACE. If your update requires a more disruptive action than you set with this flag, the update request will fail. """ use GoogleApi.Gax.ModelBase diff --git a/clients/compute/lib/google_api/compute/v1/model/instance_group_managers_delete_instances_request.ex b/clients/compute/lib/google_api/compute/v1/model/instance_group_managers_delete_instances_request.ex index 2ab7b871a2..5ab1014b95 100644 --- a/clients/compute/lib/google_api/compute/v1/model/instance_group_managers_delete_instances_request.ex +++ b/clients/compute/lib/google_api/compute/v1/model/instance_group_managers_delete_instances_request.ex @@ -21,7 +21,7 @@ defmodule GoogleApi.Compute.V1.Model.InstanceGroupManagersDeleteInstancesRequest ## Attributes - * `instances` (*type:* `list(String.t)`, *default:* `nil`) - The URLs of one or more instances to delete. This can be a full URL or a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME]. + * `instances` (*type:* `list(String.t)`, *default:* `nil`) - The URLs of one or more instances to delete. This can be a full URL or a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME]. Queued instances do not have URL and can be deleted only by name. One cannot specify both URLs and names in a single request. * `skipInstancesOnValidationError` (*type:* `boolean()`, *default:* `nil`) - Specifies whether the request should proceed despite the inclusion of instances that are not members of the group or that are already in the process of being deleted or abandoned. If this field is set to `false` and such an instance is specified in the request, the operation fails. The operation always fails if the request contains a malformed instance URL or a reference to an instance that exists in a zone or region other than the group's zone or region. """ diff --git a/clients/compute/lib/google_api/compute/v1/model/instance_properties_patch.ex b/clients/compute/lib/google_api/compute/v1/model/instance_properties_patch.ex new file mode 100644 index 0000000000..d3e103fb46 --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/instance_properties_patch.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.Compute.V1.Model.InstancePropertiesPatch do + @moduledoc """ + Represents the change that you want to make to the instance properties. + + ## Attributes + + * `labels` (*type:* `map()`, *default:* `nil`) - The label key-value pairs that you want to patch onto the instance. + * `metadata` (*type:* `map()`, *default:* `nil`) - The metadata key-value pairs that you want to patch onto the instance. For more information, see Project and instance metadata. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :labels => map() | nil, + :metadata => map() | nil + } + + field(:labels, type: :map) + field(:metadata, type: :map) +end + +defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.InstancePropertiesPatch do + def decode(value, options) do + GoogleApi.Compute.V1.Model.InstancePropertiesPatch.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.InstancePropertiesPatch 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_template.ex b/clients/compute/lib/google_api/compute/v1/model/instance_template.ex index 4eaebfe24d..7e6b06a830 100644 --- a/clients/compute/lib/google_api/compute/v1/model/instance_template.ex +++ b/clients/compute/lib/google_api/compute/v1/model/instance_template.ex @@ -17,7 +17,7 @@ defmodule GoogleApi.Compute.V1.Model.InstanceTemplate do @moduledoc """ - Represents an Instance Template resource. You can use instance templates to create VM instances and managed instance groups. For more information, read Instance Templates. + Represents an Instance Template resource. Google Compute Engine has two Instance Template resources: * [Global](/compute/docs/reference/rest/v1/instanceTemplates) * [Regional](/compute/docs/reference/rest/v1/regionInstanceTemplates) You can reuse a global instance template in different regions whereas you can use a regional instance template in a specified region only. If you want to reduce cross-region dependency or achieve data residency, use a regional instance template. To create VMs, managed instance groups, and reservations, you can use either global or regional instance templates. For more information, read Instance Templates. ## Attributes @@ -27,6 +27,7 @@ defmodule GoogleApi.Compute.V1.Model.InstanceTemplate do * `kind` (*type:* `String.t`, *default:* `compute#instanceTemplate`) - [Output Only] The resource type, which is always compute#instanceTemplate for instance templates. * `name` (*type:* `String.t`, *default:* `nil`) - Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. * `properties` (*type:* `GoogleApi.Compute.V1.Model.InstanceProperties.t`, *default:* `nil`) - The instance properties for this instance template. + * `region` (*type:* `String.t`, *default:* `nil`) - [Output Only] URL of the region where the instance template resides. Only applicable for regional resources. * `selfLink` (*type:* `String.t`, *default:* `nil`) - [Output Only] The URL for this instance template. The server defines this URL. * `sourceInstance` (*type:* `String.t`, *default:* `nil`) - The source instance used to create the template. You can provide this as a partial or full URL to the resource. For example, the following are valid values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /instances/instance - projects/project/zones/zone/instances/instance * `sourceInstanceParams` (*type:* `GoogleApi.Compute.V1.Model.SourceInstanceParams.t`, *default:* `nil`) - The source instance params to use to create this instance template. @@ -41,6 +42,7 @@ defmodule GoogleApi.Compute.V1.Model.InstanceTemplate do :kind => String.t() | nil, :name => String.t() | nil, :properties => GoogleApi.Compute.V1.Model.InstanceProperties.t() | nil, + :region => String.t() | nil, :selfLink => String.t() | nil, :sourceInstance => String.t() | nil, :sourceInstanceParams => GoogleApi.Compute.V1.Model.SourceInstanceParams.t() | nil @@ -52,6 +54,7 @@ defmodule GoogleApi.Compute.V1.Model.InstanceTemplate do field(:kind) field(:name) field(:properties, as: GoogleApi.Compute.V1.Model.InstanceProperties) + field(:region) field(:selfLink) field(:sourceInstance) field(:sourceInstanceParams, as: GoogleApi.Compute.V1.Model.SourceInstanceParams) diff --git a/clients/compute/lib/google_api/compute/v1/model/instance_template_aggregated_list.ex b/clients/compute/lib/google_api/compute/v1/model/instance_template_aggregated_list.ex new file mode 100644 index 0000000000..fe3f481f25 --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/instance_template_aggregated_list.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.Compute.V1.Model.InstanceTemplateAggregatedList do + @moduledoc """ + Contains a list of InstanceTemplatesScopedList. + + ## Attributes + + * `id` (*type:* `String.t`, *default:* `nil`) - [Output Only] Unique identifier for the resource; defined by the server. + * `items` (*type:* `%{optional(String.t) => GoogleApi.Compute.V1.Model.InstanceTemplatesScopedList.t}`, *default:* `nil`) - A list of InstanceTemplatesScopedList resources. + * `kind` (*type:* `String.t`, *default:* `compute#instanceTemplateAggregatedList`) - Type of resource. + * `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.InstanceTemplateAggregatedListWarning.t`, *default:* `nil`) - [Output Only] Informational warning message. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :id => String.t() | nil, + :items => + %{optional(String.t()) => GoogleApi.Compute.V1.Model.InstanceTemplatesScopedList.t()} + | nil, + :kind => String.t() | nil, + :nextPageToken => String.t() | nil, + :selfLink => String.t() | nil, + :warning => GoogleApi.Compute.V1.Model.InstanceTemplateAggregatedListWarning.t() | nil + } + + field(:id) + field(:items, as: GoogleApi.Compute.V1.Model.InstanceTemplatesScopedList, type: :map) + field(:kind) + field(:nextPageToken) + field(:selfLink) + field(:warning, as: GoogleApi.Compute.V1.Model.InstanceTemplateAggregatedListWarning) +end + +defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.InstanceTemplateAggregatedList do + def decode(value, options) do + GoogleApi.Compute.V1.Model.InstanceTemplateAggregatedList.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.InstanceTemplateAggregatedList 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_template_aggregated_list_warning.ex b/clients/compute/lib/google_api/compute/v1/model/instance_template_aggregated_list_warning.ex new file mode 100644 index 0000000000..cc05876b52 --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/instance_template_aggregated_list_warning.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.InstanceTemplateAggregatedListWarning 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.InstanceTemplateAggregatedListWarningData.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.InstanceTemplateAggregatedListWarningData.t()) | nil, + :message => String.t() | nil + } + + field(:code) + + field(:data, + as: GoogleApi.Compute.V1.Model.InstanceTemplateAggregatedListWarningData, + type: :list + ) + + field(:message) +end + +defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.InstanceTemplateAggregatedListWarning do + def decode(value, options) do + GoogleApi.Compute.V1.Model.InstanceTemplateAggregatedListWarning.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.InstanceTemplateAggregatedListWarning 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_template_aggregated_list_warning_data.ex b/clients/compute/lib/google_api/compute/v1/model/instance_template_aggregated_list_warning_data.ex new file mode 100644 index 0000000000..282db8417f --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/instance_template_aggregated_list_warning_data.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.Compute.V1.Model.InstanceTemplateAggregatedListWarningData 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.InstanceTemplateAggregatedListWarningData do + def decode(value, options) do + GoogleApi.Compute.V1.Model.InstanceTemplateAggregatedListWarningData.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.InstanceTemplateAggregatedListWarningData 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_templates_scoped_list.ex b/clients/compute/lib/google_api/compute/v1/model/instance_templates_scoped_list.ex new file mode 100644 index 0000000000..0190629fe2 --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/instance_templates_scoped_list.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.Compute.V1.Model.InstanceTemplatesScopedList do + @moduledoc """ + + + ## Attributes + + * `instanceTemplates` (*type:* `list(GoogleApi.Compute.V1.Model.InstanceTemplate.t)`, *default:* `nil`) - [Output Only] A list of instance templates that are contained within the specified project and zone. + * `warning` (*type:* `GoogleApi.Compute.V1.Model.InstanceTemplatesScopedListWarning.t`, *default:* `nil`) - [Output Only] An informational warning that replaces the list of instance templates when the list is empty. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :instanceTemplates => list(GoogleApi.Compute.V1.Model.InstanceTemplate.t()) | nil, + :warning => GoogleApi.Compute.V1.Model.InstanceTemplatesScopedListWarning.t() | nil + } + + field(:instanceTemplates, as: GoogleApi.Compute.V1.Model.InstanceTemplate, type: :list) + field(:warning, as: GoogleApi.Compute.V1.Model.InstanceTemplatesScopedListWarning) +end + +defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.InstanceTemplatesScopedList do + def decode(value, options) do + GoogleApi.Compute.V1.Model.InstanceTemplatesScopedList.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.InstanceTemplatesScopedList 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_templates_scoped_list_warning.ex b/clients/compute/lib/google_api/compute/v1/model/instance_templates_scoped_list_warning.ex new file mode 100644 index 0000000000..778a7147d9 --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/instance_templates_scoped_list_warning.ex @@ -0,0 +1,53 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.Compute.V1.Model.InstanceTemplatesScopedListWarning do + @moduledoc """ + [Output Only] An informational warning that replaces the list of instance templates when the list is empty. + + ## 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.InstanceTemplatesScopedListWarningData.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.InstanceTemplatesScopedListWarningData.t()) | nil, + :message => String.t() | nil + } + + field(:code) + field(:data, as: GoogleApi.Compute.V1.Model.InstanceTemplatesScopedListWarningData, type: :list) + field(:message) +end + +defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.InstanceTemplatesScopedListWarning do + def decode(value, options) do + GoogleApi.Compute.V1.Model.InstanceTemplatesScopedListWarning.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.InstanceTemplatesScopedListWarning 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_templates_scoped_list_warning_data.ex b/clients/compute/lib/google_api/compute/v1/model/instance_templates_scoped_list_warning_data.ex new file mode 100644 index 0000000000..d138fc2c6b --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/instance_templates_scoped_list_warning_data.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.Compute.V1.Model.InstanceTemplatesScopedListWarningData 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.InstanceTemplatesScopedListWarningData do + def decode(value, options) do + GoogleApi.Compute.V1.Model.InstanceTemplatesScopedListWarningData.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.InstanceTemplatesScopedListWarningData 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/instances_bulk_insert_operation_metadata.ex b/clients/compute/lib/google_api/compute/v1/model/instances_bulk_insert_operation_metadata.ex new file mode 100644 index 0000000000..379cfc6b1e --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/instances_bulk_insert_operation_metadata.ex @@ -0,0 +1,48 @@ +# 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.InstancesBulkInsertOperationMetadata do + @moduledoc """ + + + ## Attributes + + * `perLocationStatus` (*type:* `%{optional(String.t) => GoogleApi.Compute.V1.Model.BulkInsertOperationStatus.t}`, *default:* `nil`) - Status information per location (location name is key). Example key: zones/us-central1-a + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :perLocationStatus => + %{optional(String.t()) => GoogleApi.Compute.V1.Model.BulkInsertOperationStatus.t()} + | nil + } + + field(:perLocationStatus, as: GoogleApi.Compute.V1.Model.BulkInsertOperationStatus, type: :map) +end + +defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.InstancesBulkInsertOperationMetadata do + def decode(value, options) do + GoogleApi.Compute.V1.Model.InstancesBulkInsertOperationMetadata.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.InstancesBulkInsertOperationMetadata 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/instances_set_name_request.ex b/clients/compute/lib/google_api/compute/v1/model/instances_set_name_request.ex new file mode 100644 index 0000000000..406a20ddec --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/instances_set_name_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.Compute.V1.Model.InstancesSetNameRequest do + @moduledoc """ + + + ## Attributes + + * `currentName` (*type:* `String.t`, *default:* `nil`) - The current name of this resource, used to prevent conflicts. Provide the latest name when making a request to change name. + * `name` (*type:* `String.t`, *default:* `nil`) - The name to be applied to the instance. Needs to be RFC 1035 compliant. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :currentName => String.t() | nil, + :name => String.t() | nil + } + + field(:currentName) + field(:name) +end + +defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.InstancesSetNameRequest do + def decode(value, options) do + GoogleApi.Compute.V1.Model.InstancesSetNameRequest.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.InstancesSetNameRequest 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/instances_set_security_policy_request.ex b/clients/compute/lib/google_api/compute/v1/model/instances_set_security_policy_request.ex new file mode 100644 index 0000000000..11cfdea1a7 --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/instances_set_security_policy_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.Compute.V1.Model.InstancesSetSecurityPolicyRequest do + @moduledoc """ + + + ## Attributes + + * `networkInterfaces` (*type:* `list(String.t)`, *default:* `nil`) - The network interfaces that the security policy will be applied to. Network interfaces use the nicN naming format. You can only set a security policy for network interfaces with an access config. + * `securityPolicy` (*type:* `String.t`, *default:* `nil`) - A full or partial URL to a security policy to add to this instance. If this field is set to an empty string it will remove the associated security policy. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :networkInterfaces => list(String.t()) | nil, + :securityPolicy => String.t() | nil + } + + field(:networkInterfaces, type: :list) + field(:securityPolicy) +end + +defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.InstancesSetSecurityPolicyRequest do + def decode(value, options) do + GoogleApi.Compute.V1.Model.InstancesSetSecurityPolicyRequest.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.InstancesSetSecurityPolicyRequest 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/instant_snapshot.ex b/clients/compute/lib/google_api/compute/v1/model/instant_snapshot.ex new file mode 100644 index 0000000000..ab744acdfd --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/instant_snapshot.ex @@ -0,0 +1,100 @@ +# 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.InstantSnapshot do + @moduledoc """ + Represents a InstantSnapshot resource. You can use instant snapshots to create disk rollback points quickly.. + + ## Attributes + + * `architecture` (*type:* `String.t`, *default:* `nil`) - [Output Only] The architecture of the instant snapshot. Valid values are ARM64 or X86_64. + * `creationTimestamp` (*type:* `String.t`, *default:* `nil`) - [Output Only] Creation timestamp in RFC3339 text format. + * `description` (*type:* `String.t`, *default:* `nil`) - An optional description of this resource. Provide this property when you create the resource. + * `diskSizeGb` (*type:* `String.t`, *default:* `nil`) - [Output Only] Size of the source disk, specified in GB. + * `id` (*type:* `String.t`, *default:* `nil`) - [Output Only] The unique identifier for the resource. This identifier is defined by the server. + * `kind` (*type:* `String.t`, *default:* `compute#instantSnapshot`) - [Output Only] Type of the resource. Always compute#instantSnapshot for InstantSnapshot resources. + * `labelFingerprint` (*type:* `String.t`, *default:* `nil`) - A fingerprint for the labels being applied to this InstantSnapshot, which is essentially a hash of the labels set used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve a InstantSnapshot. + * `labels` (*type:* `map()`, *default:* `nil`) - Labels to apply to this InstantSnapshot. These can be later modified by the setLabels method. Label values may be empty. + * `name` (*type:* `String.t`, *default:* `nil`) - Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. + * `region` (*type:* `String.t`, *default:* `nil`) - [Output Only] URL of the region where the instant snapshot resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body. + * `resourceStatus` (*type:* `GoogleApi.Compute.V1.Model.InstantSnapshotResourceStatus.t`, *default:* `nil`) - [Output Only] Status information for the instant snapshot resource. + * `satisfiesPzi` (*type:* `boolean()`, *default:* `nil`) - Output only. Reserved for future use. + * `satisfiesPzs` (*type:* `boolean()`, *default:* `nil`) - [Output Only] Reserved for future use. + * `selfLink` (*type:* `String.t`, *default:* `nil`) - [Output Only] Server-defined URL for the resource. + * `selfLinkWithId` (*type:* `String.t`, *default:* `nil`) - [Output Only] Server-defined URL for this resource's resource id. + * `sourceDisk` (*type:* `String.t`, *default:* `nil`) - URL of the source disk used to create this instant snapshot. Note that the source disk must be in the same zone/region as the instant snapshot to be created. This can be a full or valid partial URL. For example, the following are valid values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /disks/disk - https://www.googleapis.com/compute/v1/projects/project/regions/region /disks/disk - projects/project/zones/zone/disks/disk - projects/project/regions/region/disks/disk - zones/zone/disks/disk - regions/region/disks/disk + * `sourceDiskId` (*type:* `String.t`, *default:* `nil`) - [Output Only] The ID value of the disk used to create this InstantSnapshot. This value may be used to determine whether the InstantSnapshot was taken from the current or a previous instance of a given disk name. + * `status` (*type:* `String.t`, *default:* `nil`) - [Output Only] The status of the instantSnapshot. This can be CREATING, DELETING, FAILED, or READY. + * `zone` (*type:* `String.t`, *default:* `nil`) - [Output Only] URL of the zone where the instant snapshot resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :architecture => String.t() | nil, + :creationTimestamp => String.t() | nil, + :description => String.t() | nil, + :diskSizeGb => String.t() | nil, + :id => String.t() | nil, + :kind => String.t() | nil, + :labelFingerprint => String.t() | nil, + :labels => map() | nil, + :name => String.t() | nil, + :region => String.t() | nil, + :resourceStatus => GoogleApi.Compute.V1.Model.InstantSnapshotResourceStatus.t() | nil, + :satisfiesPzi => boolean() | nil, + :satisfiesPzs => boolean() | nil, + :selfLink => String.t() | nil, + :selfLinkWithId => String.t() | nil, + :sourceDisk => String.t() | nil, + :sourceDiskId => String.t() | nil, + :status => String.t() | nil, + :zone => String.t() | nil + } + + field(:architecture) + field(:creationTimestamp) + field(:description) + field(:diskSizeGb) + field(:id) + field(:kind) + field(:labelFingerprint) + field(:labels, type: :map) + field(:name) + field(:region) + field(:resourceStatus, as: GoogleApi.Compute.V1.Model.InstantSnapshotResourceStatus) + field(:satisfiesPzi) + field(:satisfiesPzs) + field(:selfLink) + field(:selfLinkWithId) + field(:sourceDisk) + field(:sourceDiskId) + field(:status) + field(:zone) +end + +defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.InstantSnapshot do + def decode(value, options) do + GoogleApi.Compute.V1.Model.InstantSnapshot.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.InstantSnapshot 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/instant_snapshot_aggregated_list.ex b/clients/compute/lib/google_api/compute/v1/model/instant_snapshot_aggregated_list.ex new file mode 100644 index 0000000000..265dd864d9 --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/instant_snapshot_aggregated_list.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.InstantSnapshotAggregatedList do + @moduledoc """ + + + ## Attributes + + * `id` (*type:* `String.t`, *default:* `nil`) - [Output Only] Unique identifier for the resource; defined by the server. + * `items` (*type:* `%{optional(String.t) => GoogleApi.Compute.V1.Model.InstantSnapshotsScopedList.t}`, *default:* `nil`) - A list of InstantSnapshotsScopedList resources. + * `kind` (*type:* `String.t`, *default:* `compute#instantSnapshotAggregatedList`) - [Output Only] Type of resource. Always compute#instantSnapshotAggregatedList for aggregated lists of instantSnapshots. + * `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. + * `unreachables` (*type:* `list(String.t)`, *default:* `nil`) - [Output Only] Unreachable resources. + * `warning` (*type:* `GoogleApi.Compute.V1.Model.InstantSnapshotAggregatedListWarning.t`, *default:* `nil`) - [Output Only] Informational warning message. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :id => String.t() | nil, + :items => + %{optional(String.t()) => GoogleApi.Compute.V1.Model.InstantSnapshotsScopedList.t()} + | nil, + :kind => String.t() | nil, + :nextPageToken => String.t() | nil, + :selfLink => String.t() | nil, + :unreachables => list(String.t()) | nil, + :warning => GoogleApi.Compute.V1.Model.InstantSnapshotAggregatedListWarning.t() | nil + } + + field(:id) + field(:items, as: GoogleApi.Compute.V1.Model.InstantSnapshotsScopedList, type: :map) + field(:kind) + field(:nextPageToken) + field(:selfLink) + field(:unreachables, type: :list) + field(:warning, as: GoogleApi.Compute.V1.Model.InstantSnapshotAggregatedListWarning) +end + +defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.InstantSnapshotAggregatedList do + def decode(value, options) do + GoogleApi.Compute.V1.Model.InstantSnapshotAggregatedList.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.InstantSnapshotAggregatedList 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/instant_snapshot_aggregated_list_warning.ex b/clients/compute/lib/google_api/compute/v1/model/instant_snapshot_aggregated_list_warning.ex new file mode 100644 index 0000000000..92870b159f --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/instant_snapshot_aggregated_list_warning.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.InstantSnapshotAggregatedListWarning 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.InstantSnapshotAggregatedListWarningData.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.InstantSnapshotAggregatedListWarningData.t()) | nil, + :message => String.t() | nil + } + + field(:code) + + field(:data, + as: GoogleApi.Compute.V1.Model.InstantSnapshotAggregatedListWarningData, + type: :list + ) + + field(:message) +end + +defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.InstantSnapshotAggregatedListWarning do + def decode(value, options) do + GoogleApi.Compute.V1.Model.InstantSnapshotAggregatedListWarning.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.InstantSnapshotAggregatedListWarning 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/instant_snapshot_aggregated_list_warning_data.ex b/clients/compute/lib/google_api/compute/v1/model/instant_snapshot_aggregated_list_warning_data.ex new file mode 100644 index 0000000000..68fa96226e --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/instant_snapshot_aggregated_list_warning_data.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.Compute.V1.Model.InstantSnapshotAggregatedListWarningData 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.InstantSnapshotAggregatedListWarningData do + def decode(value, options) do + GoogleApi.Compute.V1.Model.InstantSnapshotAggregatedListWarningData.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.InstantSnapshotAggregatedListWarningData 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/instant_snapshot_list.ex b/clients/compute/lib/google_api/compute/v1/model/instant_snapshot_list.ex new file mode 100644 index 0000000000..0ecfe83282 --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/instant_snapshot_list.ex @@ -0,0 +1,61 @@ +# 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.InstantSnapshotList do + @moduledoc """ + Contains a list of InstantSnapshot resources. + + ## 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.InstantSnapshot.t)`, *default:* `nil`) - A list of InstantSnapshot resources. + * `kind` (*type:* `String.t`, *default:* `compute#instantSnapshotList`) - Type of resource. + * `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.InstantSnapshotListWarning.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.InstantSnapshot.t()) | nil, + :kind => String.t() | nil, + :nextPageToken => String.t() | nil, + :selfLink => String.t() | nil, + :warning => GoogleApi.Compute.V1.Model.InstantSnapshotListWarning.t() | nil + } + + field(:id) + field(:items, as: GoogleApi.Compute.V1.Model.InstantSnapshot, type: :list) + field(:kind) + field(:nextPageToken) + field(:selfLink) + field(:warning, as: GoogleApi.Compute.V1.Model.InstantSnapshotListWarning) +end + +defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.InstantSnapshotList do + def decode(value, options) do + GoogleApi.Compute.V1.Model.InstantSnapshotList.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.InstantSnapshotList 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/instant_snapshot_list_warning.ex b/clients/compute/lib/google_api/compute/v1/model/instant_snapshot_list_warning.ex new file mode 100644 index 0000000000..fbfb0f8192 --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/instant_snapshot_list_warning.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.Compute.V1.Model.InstantSnapshotListWarning 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.InstantSnapshotListWarningData.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.InstantSnapshotListWarningData.t()) | nil, + :message => String.t() | nil + } + + field(:code) + field(:data, as: GoogleApi.Compute.V1.Model.InstantSnapshotListWarningData, type: :list) + field(:message) +end + +defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.InstantSnapshotListWarning do + def decode(value, options) do + GoogleApi.Compute.V1.Model.InstantSnapshotListWarning.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.InstantSnapshotListWarning 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/instant_snapshot_list_warning_data.ex b/clients/compute/lib/google_api/compute/v1/model/instant_snapshot_list_warning_data.ex new file mode 100644 index 0000000000..279c4ebaa3 --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/instant_snapshot_list_warning_data.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.Compute.V1.Model.InstantSnapshotListWarningData 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.InstantSnapshotListWarningData do + def decode(value, options) do + GoogleApi.Compute.V1.Model.InstantSnapshotListWarningData.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.InstantSnapshotListWarningData 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/instant_snapshot_resource_status.ex b/clients/compute/lib/google_api/compute/v1/model/instant_snapshot_resource_status.ex new file mode 100644 index 0000000000..4a92dd9fc1 --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/instant_snapshot_resource_status.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.Compute.V1.Model.InstantSnapshotResourceStatus do + @moduledoc """ + + + ## Attributes + + * `storageSizeBytes` (*type:* `String.t`, *default:* `nil`) - [Output Only] The storage size of this instant snapshot. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :storageSizeBytes => String.t() | nil + } + + field(:storageSizeBytes) +end + +defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.InstantSnapshotResourceStatus do + def decode(value, options) do + GoogleApi.Compute.V1.Model.InstantSnapshotResourceStatus.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.InstantSnapshotResourceStatus 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/instant_snapshots_scoped_list.ex b/clients/compute/lib/google_api/compute/v1/model/instant_snapshots_scoped_list.ex new file mode 100644 index 0000000000..bb48cc0ccd --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/instant_snapshots_scoped_list.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.Compute.V1.Model.InstantSnapshotsScopedList do + @moduledoc """ + + + ## Attributes + + * `instantSnapshots` (*type:* `list(GoogleApi.Compute.V1.Model.InstantSnapshot.t)`, *default:* `nil`) - [Output Only] A list of instantSnapshots contained in this scope. + * `warning` (*type:* `GoogleApi.Compute.V1.Model.InstantSnapshotsScopedListWarning.t`, *default:* `nil`) - [Output Only] Informational warning which replaces the list of instantSnapshots when the list is empty. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :instantSnapshots => list(GoogleApi.Compute.V1.Model.InstantSnapshot.t()) | nil, + :warning => GoogleApi.Compute.V1.Model.InstantSnapshotsScopedListWarning.t() | nil + } + + field(:instantSnapshots, as: GoogleApi.Compute.V1.Model.InstantSnapshot, type: :list) + field(:warning, as: GoogleApi.Compute.V1.Model.InstantSnapshotsScopedListWarning) +end + +defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.InstantSnapshotsScopedList do + def decode(value, options) do + GoogleApi.Compute.V1.Model.InstantSnapshotsScopedList.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.InstantSnapshotsScopedList 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/instant_snapshots_scoped_list_warning.ex b/clients/compute/lib/google_api/compute/v1/model/instant_snapshots_scoped_list_warning.ex new file mode 100644 index 0000000000..d4dfabd585 --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/instant_snapshots_scoped_list_warning.ex @@ -0,0 +1,53 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.Compute.V1.Model.InstantSnapshotsScopedListWarning do + @moduledoc """ + [Output Only] Informational warning which replaces the list of instantSnapshots when the list is empty. + + ## 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.InstantSnapshotsScopedListWarningData.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.InstantSnapshotsScopedListWarningData.t()) | nil, + :message => String.t() | nil + } + + field(:code) + field(:data, as: GoogleApi.Compute.V1.Model.InstantSnapshotsScopedListWarningData, type: :list) + field(:message) +end + +defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.InstantSnapshotsScopedListWarning do + def decode(value, options) do + GoogleApi.Compute.V1.Model.InstantSnapshotsScopedListWarning.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.InstantSnapshotsScopedListWarning 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/instant_snapshots_scoped_list_warning_data.ex b/clients/compute/lib/google_api/compute/v1/model/instant_snapshots_scoped_list_warning_data.ex new file mode 100644 index 0000000000..cc552d6b41 --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/instant_snapshots_scoped_list_warning_data.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.Compute.V1.Model.InstantSnapshotsScopedListWarningData 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.InstantSnapshotsScopedListWarningData do + def decode(value, options) do + GoogleApi.Compute.V1.Model.InstantSnapshotsScopedListWarningData.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.InstantSnapshotsScopedListWarningData 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/interconnect.ex b/clients/compute/lib/google_api/compute/v1/model/interconnect.ex index 43706042d8..a49289d4dd 100644 --- a/clients/compute/lib/google_api/compute/v1/model/interconnect.ex +++ b/clients/compute/lib/google_api/compute/v1/model/interconnect.ex @@ -17,11 +17,12 @@ defmodule GoogleApi.Compute.V1.Model.Interconnect do @moduledoc """ - Represents an Interconnect resource. An Interconnect resource is a dedicated connection between the GCP network and your on-premises network. For more information, read the Dedicated Interconnect Overview. + Represents an Interconnect resource. An Interconnect resource is a dedicated connection between the Google Cloud network and your on-premises network. For more information, read the Dedicated Interconnect Overview. ## Attributes * `adminEnabled` (*type:* `boolean()`, *default:* `nil`) - Administrative status of the interconnect. When this is set to true, the Interconnect is functional and can carry traffic. When set to false, no packets can be carried over the interconnect and no BGP routes are exchanged over it. By default, the status is set to true. + * `availableFeatures` (*type:* `list(String.t)`, *default:* `nil`) - [Output only] List of features available for this Interconnect connection, which can take one of the following values: - MACSEC If present then the Interconnect connection is provisioned on MACsec capable hardware ports. If not present then the Interconnect connection is provisioned on non-MACsec capable ports and MACsec isn't supported and enabling MACsec fails. * `circuitInfos` (*type:* `list(GoogleApi.Compute.V1.Model.InterconnectCircuitInfo.t)`, *default:* `nil`) - [Output Only] A list of CircuitInfo objects, that describe the individual circuits in this LAG. * `creationTimestamp` (*type:* `String.t`, *default:* `nil`) - [Output Only] Creation timestamp in RFC3339 text format. * `customerName` (*type:* `String.t`, *default:* `nil`) - Customer name, to put in the Letter of Authorization as the party authorized to request a crossconnect. @@ -33,15 +34,21 @@ defmodule GoogleApi.Compute.V1.Model.Interconnect do * `interconnectAttachments` (*type:* `list(String.t)`, *default:* `nil`) - [Output Only] A list of the URLs of all InterconnectAttachments configured to use this Interconnect. * `interconnectType` (*type:* `String.t`, *default:* `nil`) - Type of interconnect, which can take one of the following values: - PARTNER: A partner-managed interconnection shared between customers though a partner. - DEDICATED: A dedicated physical interconnection with the customer. Note that a value IT_PRIVATE has been deprecated in favor of DEDICATED. * `kind` (*type:* `String.t`, *default:* `compute#interconnect`) - [Output Only] Type of the resource. Always compute#interconnect for interconnects. + * `labelFingerprint` (*type:* `String.t`, *default:* `nil`) - A fingerprint for the labels being applied to this Interconnect, which is essentially a hash of the labels set used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve an Interconnect. + * `labels` (*type:* `map()`, *default:* `nil`) - Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty. * `linkType` (*type:* `String.t`, *default:* `nil`) - Type of link requested, which can take one of the following values: - LINK_TYPE_ETHERNET_10G_LR: A 10G Ethernet with LR optics - LINK_TYPE_ETHERNET_100G_LR: A 100G Ethernet with LR optics. Note that this field indicates the speed of each of the links in the bundle, not the speed of the entire bundle. * `location` (*type:* `String.t`, *default:* `nil`) - URL of the InterconnectLocation object that represents where this connection is to be provisioned. + * `macsec` (*type:* `GoogleApi.Compute.V1.Model.InterconnectMacsec.t`, *default:* `nil`) - Configuration that enables Media Access Control security (MACsec) on the Cloud Interconnect connection between Google and your on-premises router. + * `macsecEnabled` (*type:* `boolean()`, *default:* `nil`) - Enable or disable MACsec on this Interconnect connection. MACsec enablement fails if the MACsec object is not specified. * `name` (*type:* `String.t`, *default:* `nil`) - Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. - * `nocContactEmail` (*type:* `String.t`, *default:* `nil`) - Email address to contact the customer NOC for operations and maintenance notifications regarding this Interconnect. If specified, this will be used for notifications in addition to all other forms described, such as Stackdriver logs alerting and Cloud Notifications. + * `nocContactEmail` (*type:* `String.t`, *default:* `nil`) - Email address to contact the customer NOC for operations and maintenance notifications regarding this Interconnect. If specified, this will be used for notifications in addition to all other forms described, such as Cloud Monitoring logs alerting and Cloud Notifications. This field is required for users who sign up for Cloud Interconnect using workforce identity federation. * `operationalStatus` (*type:* `String.t`, *default:* `nil`) - [Output Only] The current status of this Interconnect's functionality, which can take one of the following values: - OS_ACTIVE: A valid Interconnect, which is turned up and is ready to use. Attachments may be provisioned on this Interconnect. - OS_UNPROVISIONED: An Interconnect that has not completed turnup. No attachments may be provisioned on this Interconnect. - OS_UNDER_MAINTENANCE: An Interconnect that is undergoing internal maintenance. No attachments may be provisioned or updated on this Interconnect. * `peerIpAddress` (*type:* `String.t`, *default:* `nil`) - [Output Only] IP address configured on the customer side of the Interconnect link. The customer should configure this IP address during turnup when prompted by Google NOC. This can be used only for ping tests. * `provisionedLinkCount` (*type:* `integer()`, *default:* `nil`) - [Output Only] Number of links actually provisioned in this interconnect. + * `remoteLocation` (*type:* `String.t`, *default:* `nil`) - Indicates that this is a Cross-Cloud Interconnect. This field specifies the location outside of Google's network that the interconnect is connected to. + * `requestedFeatures` (*type:* `list(String.t)`, *default:* `nil`) - Optional. List of features requested for this Interconnect connection, which can take one of the following values: - MACSEC If specified then the connection is created on MACsec capable hardware ports. If not specified, the default value is false, which allocates non-MACsec capable ports first if available. This parameter can be provided only with Interconnect INSERT. It isn't valid for Interconnect PATCH. * `requestedLinkCount` (*type:* `integer()`, *default:* `nil`) - Target number of physical links in the link bundle, as requested by the customer. - * `satisfiesPzs` (*type:* `boolean()`, *default:* `nil`) - [Output Only] Set to true if the resource satisfies the zone separation organization policy constraints and false otherwise. Defaults to false if the field is not present. + * `satisfiesPzs` (*type:* `boolean()`, *default:* `nil`) - [Output Only] Reserved for future use. * `selfLink` (*type:* `String.t`, *default:* `nil`) - [Output Only] Server-defined URL for the resource. * `state` (*type:* `String.t`, *default:* `nil`) - [Output Only] The current state of Interconnect functionality, which can take one of the following values: - ACTIVE: The Interconnect is valid, turned up and ready to use. Attachments may be provisioned on this Interconnect. - UNPROVISIONED: The Interconnect has not completed turnup. No attachments may be provisioned on this Interconnect. - UNDER_MAINTENANCE: The Interconnect is undergoing internal maintenance. No attachments may be provisioned or updated on this Interconnect. """ @@ -50,6 +57,7 @@ defmodule GoogleApi.Compute.V1.Model.Interconnect do @type t :: %__MODULE__{ :adminEnabled => boolean() | nil, + :availableFeatures => list(String.t()) | nil, :circuitInfos => list(GoogleApi.Compute.V1.Model.InterconnectCircuitInfo.t()) | nil, :creationTimestamp => String.t() | nil, :customerName => String.t() | nil, @@ -62,13 +70,19 @@ defmodule GoogleApi.Compute.V1.Model.Interconnect do :interconnectAttachments => list(String.t()) | nil, :interconnectType => String.t() | nil, :kind => String.t() | nil, + :labelFingerprint => String.t() | nil, + :labels => map() | nil, :linkType => String.t() | nil, :location => String.t() | nil, + :macsec => GoogleApi.Compute.V1.Model.InterconnectMacsec.t() | nil, + :macsecEnabled => boolean() | nil, :name => String.t() | nil, :nocContactEmail => String.t() | nil, :operationalStatus => String.t() | nil, :peerIpAddress => String.t() | nil, :provisionedLinkCount => integer() | nil, + :remoteLocation => String.t() | nil, + :requestedFeatures => list(String.t()) | nil, :requestedLinkCount => integer() | nil, :satisfiesPzs => boolean() | nil, :selfLink => String.t() | nil, @@ -76,6 +90,7 @@ defmodule GoogleApi.Compute.V1.Model.Interconnect do } field(:adminEnabled) + field(:availableFeatures, type: :list) field(:circuitInfos, as: GoogleApi.Compute.V1.Model.InterconnectCircuitInfo, type: :list) field(:creationTimestamp) field(:customerName) @@ -92,13 +107,19 @@ defmodule GoogleApi.Compute.V1.Model.Interconnect do field(:interconnectAttachments, type: :list) field(:interconnectType) field(:kind) + field(:labelFingerprint) + field(:labels, type: :map) field(:linkType) field(:location) + field(:macsec, as: GoogleApi.Compute.V1.Model.InterconnectMacsec) + field(:macsecEnabled) field(:name) field(:nocContactEmail) field(:operationalStatus) field(:peerIpAddress) field(:provisionedLinkCount) + field(:remoteLocation) + field(:requestedFeatures, type: :list) field(:requestedLinkCount) field(:satisfiesPzs) field(:selfLink) diff --git a/clients/compute/lib/google_api/compute/v1/model/interconnect_attachment.ex b/clients/compute/lib/google_api/compute/v1/model/interconnect_attachment.ex index aa23aa2cd6..cb2d55099f 100644 --- a/clients/compute/lib/google_api/compute/v1/model/interconnect_attachment.ex +++ b/clients/compute/lib/google_api/compute/v1/model/interconnect_attachment.ex @@ -24,34 +24,39 @@ defmodule GoogleApi.Compute.V1.Model.InterconnectAttachment do * `privateInterconnectInfo` (*type:* `GoogleApi.Compute.V1.Model.InterconnectAttachmentPrivateInfo.t`, *default:* `nil`) - [Output Only] Information specific to an InterconnectAttachment. This property is populated if the interconnect that this is attached to is of type DEDICATED. * `adminEnabled` (*type:* `boolean()`, *default:* `nil`) - Determines whether this Attachment will carry packets. Not present for PARTNER_PROVIDER. * `customerRouterIpv6InterfaceId` (*type:* `String.t`, *default:* `nil`) - This field is not available. - * `ipsecInternalAddresses` (*type:* `list(String.t)`, *default:* `nil`) - A list of URLs of addresses that have been reserved for the VLAN attachment. Used only for the VLAN attachment that has the encryption option as IPSEC. The addresses must be regional internal IP address ranges. When creating an HA VPN gateway over the VLAN attachment, if the attachment is configured to use a regional internal IP address, then the VPN gateway's IP address is allocated from the IP address range specified here. For example, if the HA VPN gateway's interface 0 is paired to this VLAN attachment, then a regional internal IP address for the VPN gateway interface 0 will be allocated from the IP address specified for this VLAN attachment. If this field is not specified when creating the VLAN attachment, then later on when creating an HA VPN gateway on this VLAN attachment, the HA VPN gateway's IP address is allocated from the regional external IP address pool. Not currently available publicly. + * `ipsecInternalAddresses` (*type:* `list(String.t)`, *default:* `nil`) - A list of URLs of addresses that have been reserved for the VLAN attachment. Used only for the VLAN attachment that has the encryption option as IPSEC. The addresses must be regional internal IP address ranges. When creating an HA VPN gateway over the VLAN attachment, if the attachment is configured to use a regional internal IP address, then the VPN gateway's IP address is allocated from the IP address range specified here. For example, if the HA VPN gateway's interface 0 is paired to this VLAN attachment, then a regional internal IP address for the VPN gateway interface 0 will be allocated from the IP address specified for this VLAN attachment. If this field is not specified when creating the VLAN attachment, then later on when creating an HA VPN gateway on this VLAN attachment, the HA VPN gateway's IP address is allocated from the regional external IP address pool. * `mtu` (*type:* `integer()`, *default:* `nil`) - Maximum Transmission Unit (MTU), in bytes, of packets passing through this interconnect attachment. Only 1440 and 1500 are allowed. If not specified, the value will default to 1440. * `partnerAsn` (*type:* `String.t`, *default:* `nil`) - Optional BGP ASN for the router supplied by a Layer 3 Partner if they configured BGP on behalf of the customer. Output only for PARTNER type, input only for PARTNER_PROVIDER, not available for DEDICATED. - * `satisfiesPzs` (*type:* `boolean()`, *default:* `nil`) - [Output Only] Set to true if the resource satisfies the zone separation organization policy constraints and false otherwise. Defaults to false if the field is not present. - * `partnerMetadata` (*type:* `GoogleApi.Compute.V1.Model.InterconnectAttachmentPartnerMetadata.t`, *default:* `nil`) - Informational metadata about Partner attachments from Partners to display to customers. Output only for for PARTNER type, mutable for PARTNER_PROVIDER, not available for DEDICATED. + * `remoteService` (*type:* `String.t`, *default:* `nil`) - [Output Only] If the attachment is on a Cross-Cloud Interconnect connection, this field contains the interconnect's remote location service provider. Example values: "Amazon Web Services" "Microsoft Azure". The field is set only for attachments on Cross-Cloud Interconnect connections. Its value is copied from the InterconnectRemoteLocation remoteService field. + * `satisfiesPzs` (*type:* `boolean()`, *default:* `nil`) - [Output Only] Reserved for future use. + * `partnerMetadata` (*type:* `GoogleApi.Compute.V1.Model.InterconnectAttachmentPartnerMetadata.t`, *default:* `nil`) - Informational metadata about Partner attachments from Partners to display to customers. Output only for PARTNER type, mutable for PARTNER_PROVIDER, not available for DEDICATED. * `description` (*type:* `String.t`, *default:* `nil`) - An optional description of this resource. * `kind` (*type:* `String.t`, *default:* `compute#interconnectAttachment`) - [Output Only] Type of the resource. Always compute#interconnectAttachment for interconnect attachments. * `interconnect` (*type:* `String.t`, *default:* `nil`) - URL of the underlying Interconnect object that this attachment's traffic will traverse through. + * `configurationConstraints` (*type:* `GoogleApi.Compute.V1.Model.InterconnectAttachmentConfigurationConstraints.t`, *default:* `nil`) - [Output Only] Constraints for this attachment, if any. The attachment does not work if these constraints are not met. * `customerRouterIpv6Address` (*type:* `String.t`, *default:* `nil`) - [Output Only] IPv6 address + prefix length to be configured on the customer router subinterface for this interconnect attachment. * `router` (*type:* `String.t`, *default:* `nil`) - URL of the Cloud Router to be used for dynamic routing. This router must be in the same region as this InterconnectAttachment. The InterconnectAttachment will automatically connect the Interconnect to the network & region within which the Cloud Router is configured. * `name` (*type:* `String.t`, *default:* `nil`) - Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. * `state` (*type:* `String.t`, *default:* `nil`) - [Output Only] The current state of this attachment's functionality. Enum values ACTIVE and UNPROVISIONED are shared by DEDICATED/PRIVATE, PARTNER, and PARTNER_PROVIDER interconnect attachments, while enum values PENDING_PARTNER, PARTNER_REQUEST_RECEIVED, and PENDING_CUSTOMER are used for only PARTNER and PARTNER_PROVIDER interconnect attachments. This state can take one of the following values: - ACTIVE: The attachment has been turned up and is ready to use. - UNPROVISIONED: The attachment is not ready to use yet, because turnup is not complete. - PENDING_PARTNER: A newly-created PARTNER attachment that has not yet been configured on the Partner side. - PARTNER_REQUEST_RECEIVED: A PARTNER attachment is in the process of provisioning after a PARTNER_PROVIDER attachment was created that references it. - PENDING_CUSTOMER: A PARTNER or PARTNER_PROVIDER attachment that is waiting for a customer to activate it. - DEFUNCT: The attachment was deleted externally and is no longer functional. This could be because the associated Interconnect was removed, or because the other side of a Partner attachment was deleted. - * `vlanTag8021q` (*type:* `integer()`, *default:* `nil`) - The IEEE 802.1Q VLAN tag for this attachment, in the range 2-4094. Only specified at creation time. + * `vlanTag8021q` (*type:* `integer()`, *default:* `nil`) - The IEEE 802.1Q VLAN tag for this attachment, in the range 2-4093. Only specified at creation time. * `dataplaneVersion` (*type:* `integer()`, *default:* `nil`) - [Output Only] Dataplane version for this InterconnectAttachment. This field is only present for Dataplane version 2 and higher. Absence of this field in the API output indicates that the Dataplane is version 1. * `operationalStatus` (*type:* `String.t`, *default:* `nil`) - [Output Only] The current status of whether or not this interconnect attachment is functional, which can take one of the following values: - OS_ACTIVE: The attachment has been turned up and is ready to use. - OS_UNPROVISIONED: The attachment is not ready to use yet, because turnup is not complete. * `region` (*type:* `String.t`, *default:* `nil`) - [Output Only] URL of the region where the regional interconnect attachment resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body. + * `subnetLength` (*type:* `integer()`, *default:* `nil`) - Length of the IPv4 subnet mask. Allowed values: - 29 (default) - 30 The default value is 29, except for Cross-Cloud Interconnect connections that use an InterconnectRemoteLocation with a constraints.subnetLengthRange.min equal to 30. For example, connections that use an Azure remote location fall into this category. In these cases, the default value is 30, and requesting 29 returns an error. Where both 29 and 30 are allowed, 29 is preferred, because it gives Google Cloud Support more debugging visibility. * `encryption` (*type:* `String.t`, *default:* `nil`) - Indicates the user-supplied encryption option of this VLAN attachment (interconnectAttachment). Can only be specified at attachment creation for PARTNER or DEDICATED attachments. Possible values are: - NONE - This is the default value, which means that the VLAN attachment carries unencrypted traffic. VMs are able to send traffic to, or receive traffic from, such a VLAN attachment. - IPSEC - The VLAN attachment carries only encrypted traffic that is encrypted by an IPsec device, such as an HA VPN gateway or third-party IPsec VPN. VMs cannot directly send traffic to, or receive traffic from, such a VLAN attachment. To use *HA VPN over Cloud Interconnect*, the VLAN attachment must be created with this option. * `customerRouterIpAddress` (*type:* `String.t`, *default:* `nil`) - [Output Only] IPv4 address + prefix length to be configured on the customer router subinterface for this interconnect attachment. * `bandwidth` (*type:* `String.t`, *default:* `nil`) - Provisioned bandwidth capacity for the interconnect attachment. For attachments of type DEDICATED, the user can set the bandwidth. For attachments of type PARTNER, the Google Partner that is operating the interconnect must set the bandwidth. Output only for PARTNER type, mutable for PARTNER_PROVIDER and DEDICATED, and can take one of the following values: - BPS_50M: 50 Mbit/s - BPS_100M: 100 Mbit/s - BPS_200M: 200 Mbit/s - BPS_300M: 300 Mbit/s - BPS_400M: 400 Mbit/s - BPS_500M: 500 Mbit/s - BPS_1G: 1 Gbit/s - BPS_2G: 2 Gbit/s - BPS_5G: 5 Gbit/s - BPS_10G: 10 Gbit/s - BPS_20G: 20 Gbit/s - BPS_50G: 50 Gbit/s - * `pairingKey` (*type:* `String.t`, *default:* `nil`) - [Output only for type PARTNER. Input only for PARTNER_PROVIDER. Not present for DEDICATED]. The opaque identifier of an PARTNER attachment used to initiate provisioning with a selected partner. Of the form "XXXXX/region/domain" + * `pairingKey` (*type:* `String.t`, *default:* `nil`) - [Output only for type PARTNER. Input only for PARTNER_PROVIDER. Not present for DEDICATED]. The opaque identifier of a PARTNER attachment used to initiate provisioning with a selected partner. Of the form "XXXXX/region/domain" * `type` (*type:* `String.t`, *default:* `nil`) - The type of interconnect attachment this is, which can take one of the following values: - DEDICATED: an attachment to a Dedicated Interconnect. - PARTNER: an attachment to a Partner Interconnect, created by the customer. - PARTNER_PROVIDER: an attachment to a Partner Interconnect, created by the partner. * `edgeAvailabilityDomain` (*type:* `String.t`, *default:* `nil`) - Desired availability domain for the attachment. Only available for type PARTNER, at creation time, and can take one of the following values: - AVAILABILITY_DOMAIN_ANY - AVAILABILITY_DOMAIN_1 - AVAILABILITY_DOMAIN_2 For improved reliability, customers should configure a pair of attachments, one per availability domain. The selected availability domain will be provided to the Partner via the pairing key, so that the provisioned circuit will lie in the specified domain. If not specified, the value will default to AVAILABILITY_DOMAIN_ANY. * `candidateSubnets` (*type:* `list(String.t)`, *default:* `nil`) - Up to 16 candidate prefixes that can be used to restrict the allocation of cloudRouterIpAddress and customerRouterIpAddress for this attachment. All prefixes must be within link-local address space (169.254.0.0/16) and must be /29 or shorter (/28, /27, etc). Google will attempt to select an unused /29 from the supplied candidate prefix(es). The request will fail if all possible /29s are in use on Google's edge. If not supplied, Google will randomly select an unused /29 from all of link-local space. * `stackType` (*type:* `String.t`, *default:* `nil`) - The stack type for this interconnect attachment to identify whether the IPv6 feature is enabled or not. If not specified, IPV4_ONLY will be used. This field can be both set at interconnect attachments creation and update interconnect attachment operations. + * `labelFingerprint` (*type:* `String.t`, *default:* `nil`) - A fingerprint for the labels being applied to this InterconnectAttachment, which is essentially a hash of the labels set used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve an InterconnectAttachment. * `creationTimestamp` (*type:* `String.t`, *default:* `nil`) - [Output Only] Creation timestamp in RFC3339 text format. * `googleReferenceId` (*type:* `String.t`, *default:* `nil`) - [Output Only] Google reference ID, to be used when raising support tickets with Google or otherwise to debug backend connectivity issues. [Deprecated] This field is not used. * `id` (*type:* `String.t`, *default:* `nil`) - [Output Only] The unique identifier for the resource. This identifier is defined by the server. * `candidateIpv6Subnets` (*type:* `list(String.t)`, *default:* `nil`) - This field is not available. + * `labels` (*type:* `map()`, *default:* `nil`) - Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty. * `selfLink` (*type:* `String.t`, *default:* `nil`) - [Output Only] Server-defined URL for the resource. * `cloudRouterIpv6Address` (*type:* `String.t`, *default:* `nil`) - [Output Only] IPv6 address + prefix length to be configured on Cloud Router Interface for this interconnect attachment. * `cloudRouterIpv6InterfaceId` (*type:* `String.t`, *default:* `nil`) - This field is not available. @@ -68,12 +73,15 @@ defmodule GoogleApi.Compute.V1.Model.InterconnectAttachment do :ipsecInternalAddresses => list(String.t()) | nil, :mtu => integer() | nil, :partnerAsn => String.t() | nil, + :remoteService => String.t() | nil, :satisfiesPzs => boolean() | nil, :partnerMetadata => GoogleApi.Compute.V1.Model.InterconnectAttachmentPartnerMetadata.t() | nil, :description => String.t() | nil, :kind => String.t() | nil, :interconnect => String.t() | nil, + :configurationConstraints => + GoogleApi.Compute.V1.Model.InterconnectAttachmentConfigurationConstraints.t() | nil, :customerRouterIpv6Address => String.t() | nil, :router => String.t() | nil, :name => String.t() | nil, @@ -82,6 +90,7 @@ defmodule GoogleApi.Compute.V1.Model.InterconnectAttachment do :dataplaneVersion => integer() | nil, :operationalStatus => String.t() | nil, :region => String.t() | nil, + :subnetLength => integer() | nil, :encryption => String.t() | nil, :customerRouterIpAddress => String.t() | nil, :bandwidth => String.t() | nil, @@ -90,10 +99,12 @@ defmodule GoogleApi.Compute.V1.Model.InterconnectAttachment do :edgeAvailabilityDomain => String.t() | nil, :candidateSubnets => list(String.t()) | nil, :stackType => String.t() | nil, + :labelFingerprint => String.t() | nil, :creationTimestamp => String.t() | nil, :googleReferenceId => String.t() | nil, :id => String.t() | nil, :candidateIpv6Subnets => list(String.t()) | nil, + :labels => map() | nil, :selfLink => String.t() | nil, :cloudRouterIpv6Address => String.t() | nil, :cloudRouterIpv6InterfaceId => String.t() | nil, @@ -107,11 +118,17 @@ defmodule GoogleApi.Compute.V1.Model.InterconnectAttachment do field(:ipsecInternalAddresses, type: :list) field(:mtu) field(:partnerAsn) + field(:remoteService) field(:satisfiesPzs) field(:partnerMetadata, as: GoogleApi.Compute.V1.Model.InterconnectAttachmentPartnerMetadata) field(:description) field(:kind) field(:interconnect) + + field(:configurationConstraints, + as: GoogleApi.Compute.V1.Model.InterconnectAttachmentConfigurationConstraints + ) + field(:customerRouterIpv6Address) field(:router) field(:name) @@ -120,6 +137,7 @@ defmodule GoogleApi.Compute.V1.Model.InterconnectAttachment do field(:dataplaneVersion) field(:operationalStatus) field(:region) + field(:subnetLength) field(:encryption) field(:customerRouterIpAddress) field(:bandwidth) @@ -128,10 +146,12 @@ defmodule GoogleApi.Compute.V1.Model.InterconnectAttachment do field(:edgeAvailabilityDomain) field(:candidateSubnets, type: :list) field(:stackType) + field(:labelFingerprint) field(:creationTimestamp) field(:googleReferenceId) field(:id) field(:candidateIpv6Subnets, type: :list) + field(:labels, type: :map) field(:selfLink) field(:cloudRouterIpv6Address) field(:cloudRouterIpv6InterfaceId) diff --git a/clients/compute/lib/google_api/compute/v1/model/interconnect_attachment_configuration_constraints.ex b/clients/compute/lib/google_api/compute/v1/model/interconnect_attachment_configuration_constraints.ex new file mode 100644 index 0000000000..6e0c8bb814 --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/interconnect_attachment_configuration_constraints.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.InterconnectAttachmentConfigurationConstraints do + @moduledoc """ + + + ## Attributes + + * `bgpMd5` (*type:* `String.t`, *default:* `nil`) - [Output Only] Whether the attachment's BGP session requires/allows/disallows BGP MD5 authentication. This can take one of the following values: MD5_OPTIONAL, MD5_REQUIRED, MD5_UNSUPPORTED. For example, a Cross-Cloud Interconnect connection to a remote cloud provider that requires BGP MD5 authentication has the interconnectRemoteLocation attachment_configuration_constraints.bgp_md5 field set to MD5_REQUIRED, and that property is propagated to the attachment. Similarly, if BGP MD5 is MD5_UNSUPPORTED, an error is returned if MD5 is requested. + * `bgpPeerAsnRanges` (*type:* `list(GoogleApi.Compute.V1.Model.InterconnectAttachmentConfigurationConstraintsBgpPeerASNRange.t)`, *default:* `nil`) - [Output Only] List of ASN ranges that the remote location is known to support. Formatted as an array of inclusive ranges {min: min-value, max: max-value}. For example, [{min: 123, max: 123}, {min: 64512, max: 65534}] allows the peer ASN to be 123 or anything in the range 64512-65534. This field is only advisory. Although the API accepts other ranges, these are the ranges that we recommend. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :bgpMd5 => String.t() | nil, + :bgpPeerAsnRanges => + list( + GoogleApi.Compute.V1.Model.InterconnectAttachmentConfigurationConstraintsBgpPeerASNRange.t() + ) + | nil + } + + field(:bgpMd5) + + field(:bgpPeerAsnRanges, + as: GoogleApi.Compute.V1.Model.InterconnectAttachmentConfigurationConstraintsBgpPeerASNRange, + type: :list + ) +end + +defimpl Poison.Decoder, + for: GoogleApi.Compute.V1.Model.InterconnectAttachmentConfigurationConstraints do + def decode(value, options) do + GoogleApi.Compute.V1.Model.InterconnectAttachmentConfigurationConstraints.decode( + value, + options + ) + end +end + +defimpl Poison.Encoder, + for: GoogleApi.Compute.V1.Model.InterconnectAttachmentConfigurationConstraints 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/interconnect_attachment_configuration_constraints_bgp_peer_asn_range.ex b/clients/compute/lib/google_api/compute/v1/model/interconnect_attachment_configuration_constraints_bgp_peer_asn_range.ex new file mode 100644 index 0000000000..7e47865e5f --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/interconnect_attachment_configuration_constraints_bgp_peer_asn_range.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.InterconnectAttachmentConfigurationConstraintsBgpPeerASNRange do + @moduledoc """ + + + ## Attributes + + * `max` (*type:* `integer()`, *default:* `nil`) - + * `min` (*type:* `integer()`, *default:* `nil`) - + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :max => integer() | nil, + :min => integer() | nil + } + + field(:max) + field(:min) +end + +defimpl Poison.Decoder, + for: GoogleApi.Compute.V1.Model.InterconnectAttachmentConfigurationConstraintsBgpPeerASNRange do + def decode(value, options) do + GoogleApi.Compute.V1.Model.InterconnectAttachmentConfigurationConstraintsBgpPeerASNRange.decode( + value, + options + ) + end +end + +defimpl Poison.Encoder, + for: GoogleApi.Compute.V1.Model.InterconnectAttachmentConfigurationConstraintsBgpPeerASNRange 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/interconnect_diagnostics.ex b/clients/compute/lib/google_api/compute/v1/model/interconnect_diagnostics.ex index eee46ea159..6848b00842 100644 --- a/clients/compute/lib/google_api/compute/v1/model/interconnect_diagnostics.ex +++ b/clients/compute/lib/google_api/compute/v1/model/interconnect_diagnostics.ex @@ -17,11 +17,13 @@ defmodule GoogleApi.Compute.V1.Model.InterconnectDiagnostics do @moduledoc """ - Diagnostics information about interconnect, contains detailed and current technical information about Google's side of the connection. + Diagnostics information about the Interconnect connection, which contains detailed and current technical information about Google's side of the connection. ## Attributes * `arpCaches` (*type:* `list(GoogleApi.Compute.V1.Model.InterconnectDiagnosticsARPEntry.t)`, *default:* `nil`) - A list of InterconnectDiagnostics.ARPEntry objects, describing individual neighbors currently seen by the Google router in the ARP cache for the Interconnect. This will be empty when the Interconnect is not bundled. + * `bundleAggregationType` (*type:* `String.t`, *default:* `nil`) - The aggregation type of the bundle interface. + * `bundleOperationalStatus` (*type:* `String.t`, *default:* `nil`) - The operational status of the bundle interface. * `links` (*type:* `list(GoogleApi.Compute.V1.Model.InterconnectDiagnosticsLinkStatus.t)`, *default:* `nil`) - A list of InterconnectDiagnostics.LinkStatus objects, describing the status for each link on the Interconnect. * `macAddress` (*type:* `String.t`, *default:* `nil`) - The MAC address of the Interconnect's bundle interface. """ @@ -31,11 +33,15 @@ defmodule GoogleApi.Compute.V1.Model.InterconnectDiagnostics do @type t :: %__MODULE__{ :arpCaches => list(GoogleApi.Compute.V1.Model.InterconnectDiagnosticsARPEntry.t()) | nil, + :bundleAggregationType => String.t() | nil, + :bundleOperationalStatus => String.t() | nil, :links => list(GoogleApi.Compute.V1.Model.InterconnectDiagnosticsLinkStatus.t()) | nil, :macAddress => String.t() | nil } field(:arpCaches, as: GoogleApi.Compute.V1.Model.InterconnectDiagnosticsARPEntry, type: :list) + field(:bundleAggregationType) + field(:bundleOperationalStatus) field(:links, as: GoogleApi.Compute.V1.Model.InterconnectDiagnosticsLinkStatus, type: :list) field(:macAddress) end diff --git a/clients/compute/lib/google_api/compute/v1/model/interconnect_diagnostics_link_status.ex b/clients/compute/lib/google_api/compute/v1/model/interconnect_diagnostics_link_status.ex index cd041cdc6f..3666b14e4b 100644 --- a/clients/compute/lib/google_api/compute/v1/model/interconnect_diagnostics_link_status.ex +++ b/clients/compute/lib/google_api/compute/v1/model/interconnect_diagnostics_link_status.ex @@ -25,6 +25,8 @@ defmodule GoogleApi.Compute.V1.Model.InterconnectDiagnosticsLinkStatus do * `circuitId` (*type:* `String.t`, *default:* `nil`) - The unique ID for this link assigned during turn up by Google. * `googleDemarc` (*type:* `String.t`, *default:* `nil`) - The Demarc address assigned by Google and provided in the LoA. * `lacpStatus` (*type:* `GoogleApi.Compute.V1.Model.InterconnectDiagnosticsLinkLACPStatus.t`, *default:* `nil`) - + * `macsec` (*type:* `GoogleApi.Compute.V1.Model.InterconnectDiagnosticsMacsecStatus.t`, *default:* `nil`) - Describes the status of MACsec encryption on this link. + * `operationalStatus` (*type:* `String.t`, *default:* `nil`) - The operational status of the link. * `receivingOpticalPower` (*type:* `GoogleApi.Compute.V1.Model.InterconnectDiagnosticsLinkOpticalPower.t`, *default:* `nil`) - An InterconnectDiagnostics.LinkOpticalPower object, describing the current value and status of the received light level. * `transmittingOpticalPower` (*type:* `GoogleApi.Compute.V1.Model.InterconnectDiagnosticsLinkOpticalPower.t`, *default:* `nil`) - An InterconnectDiagnostics.LinkOpticalPower object, describing the current value and status of the transmitted light level. """ @@ -38,6 +40,8 @@ defmodule GoogleApi.Compute.V1.Model.InterconnectDiagnosticsLinkStatus do :googleDemarc => String.t() | nil, :lacpStatus => GoogleApi.Compute.V1.Model.InterconnectDiagnosticsLinkLACPStatus.t() | nil, + :macsec => GoogleApi.Compute.V1.Model.InterconnectDiagnosticsMacsecStatus.t() | nil, + :operationalStatus => String.t() | nil, :receivingOpticalPower => GoogleApi.Compute.V1.Model.InterconnectDiagnosticsLinkOpticalPower.t() | nil, :transmittingOpticalPower => @@ -48,6 +52,8 @@ defmodule GoogleApi.Compute.V1.Model.InterconnectDiagnosticsLinkStatus do field(:circuitId) field(:googleDemarc) field(:lacpStatus, as: GoogleApi.Compute.V1.Model.InterconnectDiagnosticsLinkLACPStatus) + field(:macsec, as: GoogleApi.Compute.V1.Model.InterconnectDiagnosticsMacsecStatus) + field(:operationalStatus) field(:receivingOpticalPower, as: GoogleApi.Compute.V1.Model.InterconnectDiagnosticsLinkOpticalPower diff --git a/clients/compute/lib/google_api/compute/v1/model/interconnect_diagnostics_macsec_status.ex b/clients/compute/lib/google_api/compute/v1/model/interconnect_diagnostics_macsec_status.ex new file mode 100644 index 0000000000..6914b8ff9a --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/interconnect_diagnostics_macsec_status.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.Compute.V1.Model.InterconnectDiagnosticsMacsecStatus do + @moduledoc """ + Describes the status of MACsec encryption on the link. + + ## Attributes + + * `ckn` (*type:* `String.t`, *default:* `nil`) - Indicates the Connectivity Association Key Name (CKN) currently being used if MACsec is operational. + * `operational` (*type:* `boolean()`, *default:* `nil`) - Indicates whether or not MACsec is operational on this link. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :ckn => String.t() | nil, + :operational => boolean() | nil + } + + field(:ckn) + field(:operational) +end + +defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.InterconnectDiagnosticsMacsecStatus do + def decode(value, options) do + GoogleApi.Compute.V1.Model.InterconnectDiagnosticsMacsecStatus.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.InterconnectDiagnosticsMacsecStatus 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/interconnect_location.ex b/clients/compute/lib/google_api/compute/v1/model/interconnect_location.ex index a58dcb0c60..d4e41c4b4c 100644 --- a/clients/compute/lib/google_api/compute/v1/model/interconnect_location.ex +++ b/clients/compute/lib/google_api/compute/v1/model/interconnect_location.ex @@ -23,6 +23,8 @@ defmodule GoogleApi.Compute.V1.Model.InterconnectLocation do * `address` (*type:* `String.t`, *default:* `nil`) - [Output Only] The postal address of the Point of Presence, each line in the address is separated by a newline character. * `availabilityZone` (*type:* `String.t`, *default:* `nil`) - [Output Only] Availability zone for this InterconnectLocation. Within a metropolitan area (metro), maintenance will not be simultaneously scheduled in more than one availability zone. Example: "zone1" or "zone2". + * `availableFeatures` (*type:* `list(String.t)`, *default:* `nil`) - [Output only] List of features available at this InterconnectLocation, which can take one of the following values: - MACSEC + * `availableLinkTypes` (*type:* `list(String.t)`, *default:* `nil`) - [Output only] List of link types available at this InterconnectLocation, which can take one of the following values: - LINK_TYPE_ETHERNET_10G_LR - LINK_TYPE_ETHERNET_100G_LR * `city` (*type:* `String.t`, *default:* `nil`) - [Output Only] Metropolitan area designator that indicates which city an interconnect is located. For example: "Chicago, IL", "Amsterdam, Netherlands". * `continent` (*type:* `String.t`, *default:* `nil`) - [Output Only] Continent for this location, which can take one of the following values: - AFRICA - ASIA_PAC - EUROPE - NORTH_AMERICA - SOUTH_AMERICA * `creationTimestamp` (*type:* `String.t`, *default:* `nil`) - [Output Only] Creation timestamp in RFC3339 text format. @@ -36,7 +38,7 @@ defmodule GoogleApi.Compute.V1.Model.InterconnectLocation do * `regionInfos` (*type:* `list(GoogleApi.Compute.V1.Model.InterconnectLocationRegionInfo.t)`, *default:* `nil`) - [Output Only] A list of InterconnectLocation.RegionInfo objects, that describe parameters pertaining to the relation between this InterconnectLocation and various Google Cloud regions. * `selfLink` (*type:* `String.t`, *default:* `nil`) - [Output Only] Server-defined URL for the resource. * `status` (*type:* `String.t`, *default:* `nil`) - [Output Only] The status of this InterconnectLocation, which can take one of the following values: - CLOSED: The InterconnectLocation is closed and is unavailable for provisioning new Interconnects. - AVAILABLE: The InterconnectLocation is available for provisioning new Interconnects. - * `supportsPzs` (*type:* `boolean()`, *default:* `nil`) - [Output Only] Set to true for locations that support physical zone separation. Defaults to false if the field is not present. + * `supportsPzs` (*type:* `boolean()`, *default:* `nil`) - [Output Only] Reserved for future use. """ use GoogleApi.Gax.ModelBase @@ -44,6 +46,8 @@ defmodule GoogleApi.Compute.V1.Model.InterconnectLocation do @type t :: %__MODULE__{ :address => String.t() | nil, :availabilityZone => String.t() | nil, + :availableFeatures => list(String.t()) | nil, + :availableLinkTypes => list(String.t()) | nil, :city => String.t() | nil, :continent => String.t() | nil, :creationTimestamp => String.t() | nil, @@ -63,6 +67,8 @@ defmodule GoogleApi.Compute.V1.Model.InterconnectLocation do field(:address) field(:availabilityZone) + field(:availableFeatures, type: :list) + field(:availableLinkTypes, type: :list) field(:city) field(:continent) field(:creationTimestamp) diff --git a/clients/compute/lib/google_api/compute/v1/model/interconnect_macsec.ex b/clients/compute/lib/google_api/compute/v1/model/interconnect_macsec.ex new file mode 100644 index 0000000000..ba9ccc6d74 --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/interconnect_macsec.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.Compute.V1.Model.InterconnectMacsec do + @moduledoc """ + Configuration information for enabling Media Access Control security (MACsec) on this Cloud Interconnect connection between Google and your on-premises router. + + ## Attributes + + * `failOpen` (*type:* `boolean()`, *default:* `nil`) - If set to true, the Interconnect connection is configured with a should-secure MACsec security policy, that allows the Google router to fallback to cleartext traffic if the MKA session cannot be established. By default, the Interconnect connection is configured with a must-secure security policy that drops all traffic if the MKA session cannot be established with your router. + * `preSharedKeys` (*type:* `list(GoogleApi.Compute.V1.Model.InterconnectMacsecPreSharedKey.t)`, *default:* `nil`) - Required. A keychain placeholder describing a set of named key objects along with their start times. A MACsec CKN/CAK is generated for each key in the key chain. Google router automatically picks the key with the most recent startTime when establishing or re-establishing a MACsec secure link. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :failOpen => boolean() | nil, + :preSharedKeys => + list(GoogleApi.Compute.V1.Model.InterconnectMacsecPreSharedKey.t()) | nil + } + + field(:failOpen) + + field(:preSharedKeys, as: GoogleApi.Compute.V1.Model.InterconnectMacsecPreSharedKey, type: :list) +end + +defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.InterconnectMacsec do + def decode(value, options) do + GoogleApi.Compute.V1.Model.InterconnectMacsec.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.InterconnectMacsec 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/interconnect_macsec_config.ex b/clients/compute/lib/google_api/compute/v1/model/interconnect_macsec_config.ex new file mode 100644 index 0000000000..cec5ae121c --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/interconnect_macsec_config.ex @@ -0,0 +1,50 @@ +# 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.InterconnectMacsecConfig do + @moduledoc """ + MACsec configuration information for the Interconnect connection. Contains the generated Connectivity Association Key Name (CKN) and the key (CAK) for this Interconnect connection. + + ## Attributes + + * `preSharedKeys` (*type:* `list(GoogleApi.Compute.V1.Model.InterconnectMacsecConfigPreSharedKey.t)`, *default:* `nil`) - A keychain placeholder describing a set of named key objects along with their start times. A MACsec CKN/CAK is generated for each key in the key chain. Google router automatically picks the key with the most recent startTime when establishing or re-establishing a MACsec secure link. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :preSharedKeys => + list(GoogleApi.Compute.V1.Model.InterconnectMacsecConfigPreSharedKey.t()) | nil + } + + field(:preSharedKeys, + as: GoogleApi.Compute.V1.Model.InterconnectMacsecConfigPreSharedKey, + type: :list + ) +end + +defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.InterconnectMacsecConfig do + def decode(value, options) do + GoogleApi.Compute.V1.Model.InterconnectMacsecConfig.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.InterconnectMacsecConfig 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/interconnect_macsec_config_pre_shared_key.ex b/clients/compute/lib/google_api/compute/v1/model/interconnect_macsec_config_pre_shared_key.ex new file mode 100644 index 0000000000..d8813ef8f4 --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/interconnect_macsec_config_pre_shared_key.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.InterconnectMacsecConfigPreSharedKey do + @moduledoc """ + Describes a pre-shared key used to setup MACsec in static connectivity association key (CAK) mode. + + ## Attributes + + * `cak` (*type:* `String.t`, *default:* `nil`) - An auto-generated Connectivity Association Key (CAK) for this key. + * `ckn` (*type:* `String.t`, *default:* `nil`) - An auto-generated Connectivity Association Key Name (CKN) for this key. + * `name` (*type:* `String.t`, *default:* `nil`) - User provided name for this pre-shared key. + * `startTime` (*type:* `String.t`, *default:* `nil`) - User provided timestamp on or after which this key is valid. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :cak => String.t() | nil, + :ckn => String.t() | nil, + :name => String.t() | nil, + :startTime => String.t() | nil + } + + field(:cak) + field(:ckn) + field(:name) + field(:startTime) +end + +defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.InterconnectMacsecConfigPreSharedKey do + def decode(value, options) do + GoogleApi.Compute.V1.Model.InterconnectMacsecConfigPreSharedKey.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.InterconnectMacsecConfigPreSharedKey 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/interconnect_macsec_pre_shared_key.ex b/clients/compute/lib/google_api/compute/v1/model/interconnect_macsec_pre_shared_key.ex new file mode 100644 index 0000000000..27262ff7ed --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/interconnect_macsec_pre_shared_key.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.Compute.V1.Model.InterconnectMacsecPreSharedKey do + @moduledoc """ + Describes a pre-shared key used to setup MACsec in static connectivity association key (CAK) mode. + + ## Attributes + + * `name` (*type:* `String.t`, *default:* `nil`) - Required. A name for this pre-shared key. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. + * `startTime` (*type:* `String.t`, *default:* `nil`) - A RFC3339 timestamp on or after which the key is valid. startTime can be in the future. If the keychain has a single key, startTime can be omitted. If the keychain has multiple keys, startTime is mandatory for each key. The start times of keys must be in increasing order. The start times of two consecutive keys must be at least 6 hours apart. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :name => String.t() | nil, + :startTime => String.t() | nil + } + + field(:name) + field(:startTime) +end + +defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.InterconnectMacsecPreSharedKey do + def decode(value, options) do + GoogleApi.Compute.V1.Model.InterconnectMacsecPreSharedKey.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.InterconnectMacsecPreSharedKey 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/interconnect_remote_location.ex b/clients/compute/lib/google_api/compute/v1/model/interconnect_remote_location.ex new file mode 100644 index 0000000000..6cf963f0c0 --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/interconnect_remote_location.ex @@ -0,0 +1,116 @@ +# 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.InterconnectRemoteLocation do + @moduledoc """ + Represents a Cross-Cloud Interconnect Remote Location resource. You can use this resource to find remote location details about an Interconnect attachment (VLAN). + + ## Attributes + + * `address` (*type:* `String.t`, *default:* `nil`) - [Output Only] The postal address of the Point of Presence, each line in the address is separated by a newline character. + * `attachmentConfigurationConstraints` (*type:* `GoogleApi.Compute.V1.Model.InterconnectAttachmentConfigurationConstraints.t`, *default:* `nil`) - [Output Only] Subset of fields from InterconnectAttachment's |configurationConstraints| field that apply to all attachments for this remote location. + * `city` (*type:* `String.t`, *default:* `nil`) - [Output Only] Metropolitan area designator that indicates which city an interconnect is located. For example: "Chicago, IL", "Amsterdam, Netherlands". + * `constraints` (*type:* `GoogleApi.Compute.V1.Model.InterconnectRemoteLocationConstraints.t`, *default:* `nil`) - [Output Only] Constraints on the parameters for creating Cross-Cloud Interconnect and associated InterconnectAttachments. + * `continent` (*type:* `String.t`, *default:* `nil`) - [Output Only] Continent for this location, which can take one of the following values: - AFRICA - ASIA_PAC - EUROPE - NORTH_AMERICA - SOUTH_AMERICA + * `creationTimestamp` (*type:* `String.t`, *default:* `nil`) - [Output Only] Creation timestamp in RFC3339 text format. + * `description` (*type:* `String.t`, *default:* `nil`) - [Output Only] An optional description of the resource. + * `facilityProvider` (*type:* `String.t`, *default:* `nil`) - [Output Only] The name of the provider for this facility (e.g., EQUINIX). + * `facilityProviderFacilityId` (*type:* `String.t`, *default:* `nil`) - [Output Only] A provider-assigned Identifier for this facility (e.g., Ashburn-DC1). + * `id` (*type:* `String.t`, *default:* `nil`) - [Output Only] The unique identifier for the resource. This identifier is defined by the server. + * `kind` (*type:* `String.t`, *default:* `compute#interconnectRemoteLocation`) - [Output Only] Type of the resource. Always compute#interconnectRemoteLocation for interconnect remote locations. + * `lacp` (*type:* `String.t`, *default:* `nil`) - [Output Only] Link Aggregation Control Protocol (LACP) constraints, which can take one of the following values: LACP_SUPPORTED, LACP_UNSUPPORTED + * `maxLagSize100Gbps` (*type:* `integer()`, *default:* `nil`) - [Output Only] The maximum number of 100 Gbps ports supported in a link aggregation group (LAG). When linkType is 100 Gbps, requestedLinkCount cannot exceed max_lag_size_100_gbps. + * `maxLagSize10Gbps` (*type:* `integer()`, *default:* `nil`) - [Output Only] The maximum number of 10 Gbps ports supported in a link aggregation group (LAG). When linkType is 10 Gbps, requestedLinkCount cannot exceed max_lag_size_10_gbps. + * `name` (*type:* `String.t`, *default:* `nil`) - [Output Only] Name of the resource. + * `peeringdbFacilityId` (*type:* `String.t`, *default:* `nil`) - [Output Only] The peeringdb identifier for this facility (corresponding with a netfac type in peeringdb). + * `permittedConnections` (*type:* `list(GoogleApi.Compute.V1.Model.InterconnectRemoteLocationPermittedConnections.t)`, *default:* `nil`) - [Output Only] Permitted connections. + * `remoteService` (*type:* `String.t`, *default:* `nil`) - [Output Only] Indicates the service provider present at the remote location. Example values: "Amazon Web Services", "Microsoft Azure". + * `selfLink` (*type:* `String.t`, *default:* `nil`) - [Output Only] Server-defined URL for the resource. + * `status` (*type:* `String.t`, *default:* `nil`) - [Output Only] The status of this InterconnectRemoteLocation, which can take one of the following values: - CLOSED: The InterconnectRemoteLocation is closed and is unavailable for provisioning new Cross-Cloud Interconnects. - AVAILABLE: The InterconnectRemoteLocation is available for provisioning new Cross-Cloud Interconnects. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :address => String.t() | nil, + :attachmentConfigurationConstraints => + GoogleApi.Compute.V1.Model.InterconnectAttachmentConfigurationConstraints.t() | nil, + :city => String.t() | nil, + :constraints => + GoogleApi.Compute.V1.Model.InterconnectRemoteLocationConstraints.t() | nil, + :continent => String.t() | nil, + :creationTimestamp => String.t() | nil, + :description => String.t() | nil, + :facilityProvider => String.t() | nil, + :facilityProviderFacilityId => String.t() | nil, + :id => String.t() | nil, + :kind => String.t() | nil, + :lacp => String.t() | nil, + :maxLagSize100Gbps => integer() | nil, + :maxLagSize10Gbps => integer() | nil, + :name => String.t() | nil, + :peeringdbFacilityId => String.t() | nil, + :permittedConnections => + list(GoogleApi.Compute.V1.Model.InterconnectRemoteLocationPermittedConnections.t()) + | nil, + :remoteService => String.t() | nil, + :selfLink => String.t() | nil, + :status => String.t() | nil + } + + field(:address) + + field(:attachmentConfigurationConstraints, + as: GoogleApi.Compute.V1.Model.InterconnectAttachmentConfigurationConstraints + ) + + field(:city) + field(:constraints, as: GoogleApi.Compute.V1.Model.InterconnectRemoteLocationConstraints) + field(:continent) + field(:creationTimestamp) + field(:description) + field(:facilityProvider) + field(:facilityProviderFacilityId) + field(:id) + field(:kind) + field(:lacp) + field(:maxLagSize100Gbps) + field(:maxLagSize10Gbps) + field(:name) + field(:peeringdbFacilityId) + + field(:permittedConnections, + as: GoogleApi.Compute.V1.Model.InterconnectRemoteLocationPermittedConnections, + type: :list + ) + + field(:remoteService) + field(:selfLink) + field(:status) +end + +defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.InterconnectRemoteLocation do + def decode(value, options) do + GoogleApi.Compute.V1.Model.InterconnectRemoteLocation.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.InterconnectRemoteLocation 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/interconnect_remote_location_constraints.ex b/clients/compute/lib/google_api/compute/v1/model/interconnect_remote_location_constraints.ex new file mode 100644 index 0000000000..5519fcd07d --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/interconnect_remote_location_constraints.ex @@ -0,0 +1,57 @@ +# 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.InterconnectRemoteLocationConstraints do + @moduledoc """ + + + ## Attributes + + * `portPairRemoteLocation` (*type:* `String.t`, *default:* `nil`) - [Output Only] Port pair remote location constraints, which can take one of the following values: PORT_PAIR_UNCONSTRAINED_REMOTE_LOCATION, PORT_PAIR_MATCHING_REMOTE_LOCATION. Google Cloud API refers only to individual ports, but the UI uses this field when ordering a pair of ports, to prevent users from accidentally ordering something that is incompatible with their cloud provider. Specifically, when ordering a redundant pair of Cross-Cloud Interconnect ports, and one of them uses a remote location with portPairMatchingRemoteLocation set to matching, the UI requires that both ports use the same remote location. + * `portPairVlan` (*type:* `String.t`, *default:* `nil`) - [Output Only] Port pair VLAN constraints, which can take one of the following values: PORT_PAIR_UNCONSTRAINED_VLAN, PORT_PAIR_MATCHING_VLAN + * `subnetLengthRange` (*type:* `GoogleApi.Compute.V1.Model.InterconnectRemoteLocationConstraintsSubnetLengthRange.t`, *default:* `nil`) - [Output Only] [min-length, max-length] The minimum and maximum value (inclusive) for the IPv4 subnet length. For example, an interconnectRemoteLocation for Azure has {min: 30, max: 30} because Azure requires /30 subnets. This range specifies the values supported by both cloud providers. Interconnect currently supports /29 and /30 IPv4 subnet lengths. If a remote cloud has no constraint on IPv4 subnet length, the range would thus be {min: 29, max: 30}. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :portPairRemoteLocation => String.t() | nil, + :portPairVlan => String.t() | nil, + :subnetLengthRange => + GoogleApi.Compute.V1.Model.InterconnectRemoteLocationConstraintsSubnetLengthRange.t() + | nil + } + + field(:portPairRemoteLocation) + field(:portPairVlan) + + field(:subnetLengthRange, + as: GoogleApi.Compute.V1.Model.InterconnectRemoteLocationConstraintsSubnetLengthRange + ) +end + +defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.InterconnectRemoteLocationConstraints do + def decode(value, options) do + GoogleApi.Compute.V1.Model.InterconnectRemoteLocationConstraints.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.InterconnectRemoteLocationConstraints 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/interconnect_remote_location_constraints_subnet_length_range.ex b/clients/compute/lib/google_api/compute/v1/model/interconnect_remote_location_constraints_subnet_length_range.ex new file mode 100644 index 0000000000..1e83b25e91 --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/interconnect_remote_location_constraints_subnet_length_range.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.InterconnectRemoteLocationConstraintsSubnetLengthRange do + @moduledoc """ + + + ## Attributes + + * `max` (*type:* `integer()`, *default:* `nil`) - + * `min` (*type:* `integer()`, *default:* `nil`) - + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :max => integer() | nil, + :min => integer() | nil + } + + field(:max) + field(:min) +end + +defimpl Poison.Decoder, + for: GoogleApi.Compute.V1.Model.InterconnectRemoteLocationConstraintsSubnetLengthRange do + def decode(value, options) do + GoogleApi.Compute.V1.Model.InterconnectRemoteLocationConstraintsSubnetLengthRange.decode( + value, + options + ) + end +end + +defimpl Poison.Encoder, + for: GoogleApi.Compute.V1.Model.InterconnectRemoteLocationConstraintsSubnetLengthRange 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/interconnect_remote_location_list.ex b/clients/compute/lib/google_api/compute/v1/model/interconnect_remote_location_list.ex new file mode 100644 index 0000000000..37c9e27557 --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/interconnect_remote_location_list.ex @@ -0,0 +1,61 @@ +# 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.InterconnectRemoteLocationList do + @moduledoc """ + Response to the list request, and contains a list of interconnect remote locations. + + ## 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.InterconnectRemoteLocation.t)`, *default:* `nil`) - A list of InterconnectRemoteLocation resources. + * `kind` (*type:* `String.t`, *default:* `compute#interconnectRemoteLocationList`) - [Output Only] Type of resource. Always compute#interconnectRemoteLocationList for lists of interconnect remote locations. + * `nextPageToken` (*type:* `String.t`, *default:* `nil`) - [Output Only] This token lets you 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.InterconnectRemoteLocationListWarning.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.InterconnectRemoteLocation.t()) | nil, + :kind => String.t() | nil, + :nextPageToken => String.t() | nil, + :selfLink => String.t() | nil, + :warning => GoogleApi.Compute.V1.Model.InterconnectRemoteLocationListWarning.t() | nil + } + + field(:id) + field(:items, as: GoogleApi.Compute.V1.Model.InterconnectRemoteLocation, type: :list) + field(:kind) + field(:nextPageToken) + field(:selfLink) + field(:warning, as: GoogleApi.Compute.V1.Model.InterconnectRemoteLocationListWarning) +end + +defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.InterconnectRemoteLocationList do + def decode(value, options) do + GoogleApi.Compute.V1.Model.InterconnectRemoteLocationList.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.InterconnectRemoteLocationList 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/interconnect_remote_location_list_warning.ex b/clients/compute/lib/google_api/compute/v1/model/interconnect_remote_location_list_warning.ex new file mode 100644 index 0000000000..f1d8810174 --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/interconnect_remote_location_list_warning.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.InterconnectRemoteLocationListWarning 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.InterconnectRemoteLocationListWarningData.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.InterconnectRemoteLocationListWarningData.t()) | nil, + :message => String.t() | nil + } + + field(:code) + + field(:data, + as: GoogleApi.Compute.V1.Model.InterconnectRemoteLocationListWarningData, + type: :list + ) + + field(:message) +end + +defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.InterconnectRemoteLocationListWarning do + def decode(value, options) do + GoogleApi.Compute.V1.Model.InterconnectRemoteLocationListWarning.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.InterconnectRemoteLocationListWarning 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/interconnect_remote_location_list_warning_data.ex b/clients/compute/lib/google_api/compute/v1/model/interconnect_remote_location_list_warning_data.ex new file mode 100644 index 0000000000..150d41caa9 --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/interconnect_remote_location_list_warning_data.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.Compute.V1.Model.InterconnectRemoteLocationListWarningData 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.InterconnectRemoteLocationListWarningData do + def decode(value, options) do + GoogleApi.Compute.V1.Model.InterconnectRemoteLocationListWarningData.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.InterconnectRemoteLocationListWarningData 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/interconnect_remote_location_permitted_connections.ex b/clients/compute/lib/google_api/compute/v1/model/interconnect_remote_location_permitted_connections.ex new file mode 100644 index 0000000000..390126a41d --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/interconnect_remote_location_permitted_connections.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.Compute.V1.Model.InterconnectRemoteLocationPermittedConnections do + @moduledoc """ + + + ## Attributes + + * `interconnectLocation` (*type:* `String.t`, *default:* `nil`) - [Output Only] URL of an Interconnect location that is permitted to connect to this Interconnect remote location. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :interconnectLocation => String.t() | nil + } + + field(:interconnectLocation) +end + +defimpl Poison.Decoder, + for: GoogleApi.Compute.V1.Model.InterconnectRemoteLocationPermittedConnections do + def decode(value, options) do + GoogleApi.Compute.V1.Model.InterconnectRemoteLocationPermittedConnections.decode( + value, + options + ) + end +end + +defimpl Poison.Encoder, + for: GoogleApi.Compute.V1.Model.InterconnectRemoteLocationPermittedConnections 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/interconnects_get_macsec_config_response.ex b/clients/compute/lib/google_api/compute/v1/model/interconnects_get_macsec_config_response.ex new file mode 100644 index 0000000000..5509b9be04 --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/interconnects_get_macsec_config_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.Compute.V1.Model.InterconnectsGetMacsecConfigResponse do + @moduledoc """ + Response for the InterconnectsGetMacsecConfigRequest. + + ## Attributes + + * `etag` (*type:* `String.t`, *default:* `nil`) - end_interface: MixerGetResponseWithEtagBuilder + * `result` (*type:* `GoogleApi.Compute.V1.Model.InterconnectMacsecConfig.t`, *default:* `nil`) - + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :etag => String.t() | nil, + :result => GoogleApi.Compute.V1.Model.InterconnectMacsecConfig.t() | nil + } + + field(:etag) + field(:result, as: GoogleApi.Compute.V1.Model.InterconnectMacsecConfig) +end + +defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.InterconnectsGetMacsecConfigResponse do + def decode(value, options) do + GoogleApi.Compute.V1.Model.InterconnectsGetMacsecConfigResponse.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.InterconnectsGetMacsecConfigResponse 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/machine_image.ex b/clients/compute/lib/google_api/compute/v1/model/machine_image.ex index f3affc4295..bfce0e6d6b 100644 --- a/clients/compute/lib/google_api/compute/v1/model/machine_image.ex +++ b/clients/compute/lib/google_api/compute/v1/model/machine_image.ex @@ -29,6 +29,7 @@ defmodule GoogleApi.Compute.V1.Model.MachineImage do * `kind` (*type:* `String.t`, *default:* `compute#machineImage`) - [Output Only] The resource type, which is always compute#machineImage for machine image. * `machineImageEncryptionKey` (*type:* `GoogleApi.Compute.V1.Model.CustomerEncryptionKey.t`, *default:* `nil`) - Encrypts the machine image using a customer-supplied encryption key. After you encrypt a machine image using a customer-supplied key, you must provide the same key if you use the machine image later. For example, you must provide the encryption key when you create an instance from the encrypted machine image in a future request. Customer-supplied encryption keys do not protect access to metadata of the machine image. If you do not provide an encryption key when creating the machine image, then the machine image will be encrypted using an automatically generated key and you do not need to provide a key to use the machine image later. * `name` (*type:* `String.t`, *default:* `nil`) - Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. + * `satisfiesPzi` (*type:* `boolean()`, *default:* `nil`) - Output only. Reserved for future use. * `satisfiesPzs` (*type:* `boolean()`, *default:* `nil`) - [Output Only] Reserved for future use. * `savedDisks` (*type:* `list(GoogleApi.Compute.V1.Model.SavedDisk.t)`, *default:* `nil`) - An array of Machine Image specific properties for disks attached to the source instance * `selfLink` (*type:* `String.t`, *default:* `nil`) - [Output Only] The URL for this machine image. The server defines this URL. @@ -52,6 +53,7 @@ defmodule GoogleApi.Compute.V1.Model.MachineImage do :machineImageEncryptionKey => GoogleApi.Compute.V1.Model.CustomerEncryptionKey.t() | nil, :name => String.t() | nil, + :satisfiesPzi => boolean() | nil, :satisfiesPzs => boolean() | nil, :savedDisks => list(GoogleApi.Compute.V1.Model.SavedDisk.t()) | nil, :selfLink => String.t() | nil, @@ -73,6 +75,7 @@ defmodule GoogleApi.Compute.V1.Model.MachineImage do field(:kind) field(:machineImageEncryptionKey, as: GoogleApi.Compute.V1.Model.CustomerEncryptionKey) field(:name) + field(:satisfiesPzi) field(:satisfiesPzs) field(:savedDisks, as: GoogleApi.Compute.V1.Model.SavedDisk, type: :list) field(:selfLink) diff --git a/clients/compute/lib/google_api/compute/v1/model/machine_type_accelerators.ex b/clients/compute/lib/google_api/compute/v1/model/machine_type_accelerators.ex index 16c65a26ce..f15d2e9232 100644 --- a/clients/compute/lib/google_api/compute/v1/model/machine_type_accelerators.ex +++ b/clients/compute/lib/google_api/compute/v1/model/machine_type_accelerators.ex @@ -22,7 +22,7 @@ defmodule GoogleApi.Compute.V1.Model.MachineTypeAccelerators do ## Attributes * `guestAcceleratorCount` (*type:* `integer()`, *default:* `nil`) - Number of accelerator cards exposed to the guest. - * `guestAcceleratorType` (*type:* `String.t`, *default:* `nil`) - The accelerator type resource name, not a full URL, e.g. 'nvidia-tesla-k80'. + * `guestAcceleratorType` (*type:* `String.t`, *default:* `nil`) - The accelerator type resource name, not a full URL, e.g. nvidia-tesla-t4. """ use GoogleApi.Gax.ModelBase diff --git a/clients/compute/lib/google_api/compute/v1/model/managed_instance.ex b/clients/compute/lib/google_api/compute/v1/model/managed_instance.ex index 76d1adedf0..bbc2c3654e 100644 --- a/clients/compute/lib/google_api/compute/v1/model/managed_instance.ex +++ b/clients/compute/lib/google_api/compute/v1/model/managed_instance.ex @@ -27,6 +27,7 @@ defmodule GoogleApi.Compute.V1.Model.ManagedInstance do * `instanceHealth` (*type:* `list(GoogleApi.Compute.V1.Model.ManagedInstanceInstanceHealth.t)`, *default:* `nil`) - [Output Only] Health state of the instance per health-check. * `instanceStatus` (*type:* `String.t`, *default:* `nil`) - [Output Only] The status of the instance. This field is empty when the instance does not exist. * `lastAttempt` (*type:* `GoogleApi.Compute.V1.Model.ManagedInstanceLastAttempt.t`, *default:* `nil`) - [Output Only] Information about the last attempt to create or delete the instance. + * `name` (*type:* `String.t`, *default:* `nil`) - [Output Only] The name of the instance. The name always exists even if the instance has not yet been created. * `preservedStateFromConfig` (*type:* `GoogleApi.Compute.V1.Model.PreservedState.t`, *default:* `nil`) - [Output Only] Preserved state applied from per-instance config for this instance. * `preservedStateFromPolicy` (*type:* `GoogleApi.Compute.V1.Model.PreservedState.t`, *default:* `nil`) - [Output Only] Preserved state generated based on stateful policy for this instance. * `version` (*type:* `GoogleApi.Compute.V1.Model.ManagedInstanceVersion.t`, *default:* `nil`) - [Output Only] Intended version of this instance. @@ -42,6 +43,7 @@ defmodule GoogleApi.Compute.V1.Model.ManagedInstance do list(GoogleApi.Compute.V1.Model.ManagedInstanceInstanceHealth.t()) | nil, :instanceStatus => String.t() | nil, :lastAttempt => GoogleApi.Compute.V1.Model.ManagedInstanceLastAttempt.t() | nil, + :name => String.t() | nil, :preservedStateFromConfig => GoogleApi.Compute.V1.Model.PreservedState.t() | nil, :preservedStateFromPolicy => GoogleApi.Compute.V1.Model.PreservedState.t() | nil, :version => GoogleApi.Compute.V1.Model.ManagedInstanceVersion.t() | nil @@ -55,6 +57,7 @@ defmodule GoogleApi.Compute.V1.Model.ManagedInstance do field(:instanceStatus) field(:lastAttempt, as: GoogleApi.Compute.V1.Model.ManagedInstanceLastAttempt) + field(:name) field(:preservedStateFromConfig, as: GoogleApi.Compute.V1.Model.PreservedState) field(:preservedStateFromPolicy, as: GoogleApi.Compute.V1.Model.PreservedState) field(:version, as: GoogleApi.Compute.V1.Model.ManagedInstanceVersion) diff --git a/clients/compute/lib/google_api/compute/v1/model/nat_ip_info.ex b/clients/compute/lib/google_api/compute/v1/model/nat_ip_info.ex new file mode 100644 index 0000000000..aec3937f2f --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/nat_ip_info.ex @@ -0,0 +1,50 @@ +# 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.NatIpInfo do + @moduledoc """ + Contains NAT IP information of a NAT config (i.e. usage status, mode). + + ## Attributes + + * `natIpInfoMappings` (*type:* `list(GoogleApi.Compute.V1.Model.NatIpInfoNatIpInfoMapping.t)`, *default:* `nil`) - A list of all NAT IPs assigned to this NAT config. + * `natName` (*type:* `String.t`, *default:* `nil`) - Name of the NAT config which the NAT IP belongs to. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :natIpInfoMappings => + list(GoogleApi.Compute.V1.Model.NatIpInfoNatIpInfoMapping.t()) | nil, + :natName => String.t() | nil + } + + field(:natIpInfoMappings, as: GoogleApi.Compute.V1.Model.NatIpInfoNatIpInfoMapping, type: :list) + field(:natName) +end + +defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.NatIpInfo do + def decode(value, options) do + GoogleApi.Compute.V1.Model.NatIpInfo.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.NatIpInfo 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/nat_ip_info_nat_ip_info_mapping.ex b/clients/compute/lib/google_api/compute/v1/model/nat_ip_info_nat_ip_info_mapping.ex new file mode 100644 index 0000000000..12aaa70984 --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/nat_ip_info_nat_ip_info_mapping.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.Compute.V1.Model.NatIpInfoNatIpInfoMapping do + @moduledoc """ + Contains information of a NAT IP. + + ## Attributes + + * `mode` (*type:* `String.t`, *default:* `nil`) - Specifies whether NAT IP is auto or manual. + * `natIp` (*type:* `String.t`, *default:* `nil`) - NAT IP address. For example: 203.0.113.11. + * `usage` (*type:* `String.t`, *default:* `nil`) - Specifies whether NAT IP is currently serving at least one endpoint or not. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :mode => String.t() | nil, + :natIp => String.t() | nil, + :usage => String.t() | nil + } + + field(:mode) + field(:natIp) + field(:usage) +end + +defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.NatIpInfoNatIpInfoMapping do + def decode(value, options) do + GoogleApi.Compute.V1.Model.NatIpInfoNatIpInfoMapping.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.NatIpInfoNatIpInfoMapping 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/nat_ip_info_response.ex b/clients/compute/lib/google_api/compute/v1/model/nat_ip_info_response.ex new file mode 100644 index 0000000000..a9d47aeb41 --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/nat_ip_info_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.Compute.V1.Model.NatIpInfoResponse do + @moduledoc """ + + + ## Attributes + + * `result` (*type:* `list(GoogleApi.Compute.V1.Model.NatIpInfo.t)`, *default:* `nil`) - [Output Only] A list of NAT IP information. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :result => list(GoogleApi.Compute.V1.Model.NatIpInfo.t()) | nil + } + + field(:result, as: GoogleApi.Compute.V1.Model.NatIpInfo, type: :list) +end + +defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.NatIpInfoResponse do + def decode(value, options) do + GoogleApi.Compute.V1.Model.NatIpInfoResponse.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.NatIpInfoResponse 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/network.ex b/clients/compute/lib/google_api/compute/v1/model/network.ex index 6b3ce21674..4b9b8653fc 100644 --- a/clients/compute/lib/google_api/compute/v1/model/network.ex +++ b/clients/compute/lib/google_api/compute/v1/model/network.ex @@ -27,7 +27,7 @@ defmodule GoogleApi.Compute.V1.Model.Network do * `description` (*type:* `String.t`, *default:* `nil`) - An optional description of this resource. Provide this field when you create the resource. * `enableUlaInternalIpv6` (*type:* `boolean()`, *default:* `nil`) - Enable ULA internal ipv6 on this network. Enabling this feature will assign a /48 from google defined ULA prefix fd20::/20. . * `firewallPolicy` (*type:* `String.t`, *default:* `nil`) - [Output Only] URL of the firewall policy the network is associated with. - * `gatewayIPv4` (*type:* `String.t`, *default:* `nil`) - [Output Only] The gateway address for default routing out of the network, selected by GCP. + * `gatewayIPv4` (*type:* `String.t`, *default:* `nil`) - [Output Only] The gateway address for default routing out of the network, selected by Google Cloud. * `id` (*type:* `String.t`, *default:* `nil`) - [Output Only] The unique identifier for the resource. This identifier is defined by the server. * `internalIpv6Range` (*type:* `String.t`, *default:* `nil`) - When enabling ula internal ipv6, caller optionally can specify the /48 range they want from the google defined ULA prefix fd20::/20. The input must be a valid /48 ULA IPv6 address and must be within the fd20::/20. Operation will fail if the speficied /48 is already in used by another resource. If the field is not speficied, then a /48 range will be randomly allocated from fd20::/20 and returned via this field. . * `kind` (*type:* `String.t`, *default:* `compute#network`) - [Output Only] Type of the resource. Always compute#network for networks. diff --git a/clients/compute/lib/google_api/compute/v1/model/network_attachment.ex b/clients/compute/lib/google_api/compute/v1/model/network_attachment.ex new file mode 100644 index 0000000000..17b899332f --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/network_attachment.ex @@ -0,0 +1,93 @@ +# 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.NetworkAttachment do + @moduledoc """ + NetworkAttachments A network attachment resource ... + + ## Attributes + + * `connectionEndpoints` (*type:* `list(GoogleApi.Compute.V1.Model.NetworkAttachmentConnectedEndpoint.t)`, *default:* `nil`) - [Output Only] An array of connections for all the producers connected to this network attachment. + * `connectionPreference` (*type:* `String.t`, *default:* `nil`) - + * `creationTimestamp` (*type:* `String.t`, *default:* `nil`) - [Output Only] Creation timestamp in RFC3339 text format. + * `description` (*type:* `String.t`, *default:* `nil`) - An optional description of this resource. Provide this property when you create the resource. + * `fingerprint` (*type:* `String.t`, *default:* `nil`) - Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. An up-to-date fingerprint must be provided in order to patch. + * `id` (*type:* `String.t`, *default:* `nil`) - [Output Only] The unique identifier for the resource type. The server generates this identifier. + * `kind` (*type:* `String.t`, *default:* `compute#networkAttachment`) - [Output Only] Type of the resource. + * `name` (*type:* `String.t`, *default:* `nil`) - Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. + * `network` (*type:* `String.t`, *default:* `nil`) - [Output Only] The URL of the network which the Network Attachment belongs to. Practically it is inferred by fetching the network of the first subnetwork associated. Because it is required that all the subnetworks must be from the same network, it is assured that the Network Attachment belongs to the same network as all the subnetworks. + * `producerAcceptLists` (*type:* `list(String.t)`, *default:* `nil`) - Projects that are allowed to connect to this network attachment. The project can be specified using its id or number. + * `producerRejectLists` (*type:* `list(String.t)`, *default:* `nil`) - Projects that are not allowed to connect to this network attachment. The project can be specified using its id or number. + * `region` (*type:* `String.t`, *default:* `nil`) - [Output Only] URL of the region where the network attachment resides. This field applies only to the region resource. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body. + * `selfLink` (*type:* `String.t`, *default:* `nil`) - [Output Only] Server-defined URL for the resource. + * `selfLinkWithId` (*type:* `String.t`, *default:* `nil`) - [Output Only] Server-defined URL for this resource's resource id. + * `subnetworks` (*type:* `list(String.t)`, *default:* `nil`) - An array of URLs where each entry is the URL of a subnet provided by the service consumer to use for endpoints in the producers that connect to this network attachment. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :connectionEndpoints => + list(GoogleApi.Compute.V1.Model.NetworkAttachmentConnectedEndpoint.t()) | nil, + :connectionPreference => String.t() | nil, + :creationTimestamp => String.t() | nil, + :description => String.t() | nil, + :fingerprint => String.t() | nil, + :id => String.t() | nil, + :kind => String.t() | nil, + :name => String.t() | nil, + :network => String.t() | nil, + :producerAcceptLists => list(String.t()) | nil, + :producerRejectLists => list(String.t()) | nil, + :region => String.t() | nil, + :selfLink => String.t() | nil, + :selfLinkWithId => String.t() | nil, + :subnetworks => list(String.t()) | nil + } + + field(:connectionEndpoints, + as: GoogleApi.Compute.V1.Model.NetworkAttachmentConnectedEndpoint, + type: :list + ) + + field(:connectionPreference) + field(:creationTimestamp) + field(:description) + field(:fingerprint) + field(:id) + field(:kind) + field(:name) + field(:network) + field(:producerAcceptLists, type: :list) + field(:producerRejectLists, type: :list) + field(:region) + field(:selfLink) + field(:selfLinkWithId) + field(:subnetworks, type: :list) +end + +defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.NetworkAttachment do + def decode(value, options) do + GoogleApi.Compute.V1.Model.NetworkAttachment.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.NetworkAttachment 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/network_attachment_aggregated_list.ex b/clients/compute/lib/google_api/compute/v1/model/network_attachment_aggregated_list.ex new file mode 100644 index 0000000000..64d387ee10 --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/network_attachment_aggregated_list.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.Compute.V1.Model.NetworkAttachmentAggregatedList do + @moduledoc """ + Contains a list of NetworkAttachmentsScopedList. + + ## Attributes + + * `id` (*type:* `String.t`, *default:* `nil`) - [Output Only] Unique identifier for the resource; defined by the server. + * `items` (*type:* `%{optional(String.t) => GoogleApi.Compute.V1.Model.NetworkAttachmentsScopedList.t}`, *default:* `nil`) - A list of NetworkAttachmentsScopedList resources. + * `kind` (*type:* `String.t`, *default:* `compute#networkAttachmentAggregatedList`) - + * `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.NetworkAttachmentAggregatedListWarning.t`, *default:* `nil`) - [Output Only] Informational warning message. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :id => String.t() | nil, + :items => + %{optional(String.t()) => GoogleApi.Compute.V1.Model.NetworkAttachmentsScopedList.t()} + | nil, + :kind => String.t() | nil, + :nextPageToken => String.t() | nil, + :selfLink => String.t() | nil, + :warning => GoogleApi.Compute.V1.Model.NetworkAttachmentAggregatedListWarning.t() | nil + } + + field(:id) + field(:items, as: GoogleApi.Compute.V1.Model.NetworkAttachmentsScopedList, type: :map) + field(:kind) + field(:nextPageToken) + field(:selfLink) + field(:warning, as: GoogleApi.Compute.V1.Model.NetworkAttachmentAggregatedListWarning) +end + +defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.NetworkAttachmentAggregatedList do + def decode(value, options) do + GoogleApi.Compute.V1.Model.NetworkAttachmentAggregatedList.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.NetworkAttachmentAggregatedList 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/network_attachment_aggregated_list_warning.ex b/clients/compute/lib/google_api/compute/v1/model/network_attachment_aggregated_list_warning.ex new file mode 100644 index 0000000000..284ac063e0 --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/network_attachment_aggregated_list_warning.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.NetworkAttachmentAggregatedListWarning 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.NetworkAttachmentAggregatedListWarningData.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.NetworkAttachmentAggregatedListWarningData.t()) | nil, + :message => String.t() | nil + } + + field(:code) + + field(:data, + as: GoogleApi.Compute.V1.Model.NetworkAttachmentAggregatedListWarningData, + type: :list + ) + + field(:message) +end + +defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.NetworkAttachmentAggregatedListWarning do + def decode(value, options) do + GoogleApi.Compute.V1.Model.NetworkAttachmentAggregatedListWarning.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.NetworkAttachmentAggregatedListWarning 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/network_attachment_aggregated_list_warning_data.ex b/clients/compute/lib/google_api/compute/v1/model/network_attachment_aggregated_list_warning_data.ex new file mode 100644 index 0000000000..41e15f17fb --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/network_attachment_aggregated_list_warning_data.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.Compute.V1.Model.NetworkAttachmentAggregatedListWarningData 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.NetworkAttachmentAggregatedListWarningData do + def decode(value, options) do + GoogleApi.Compute.V1.Model.NetworkAttachmentAggregatedListWarningData.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.NetworkAttachmentAggregatedListWarningData 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/network_attachment_connected_endpoint.ex b/clients/compute/lib/google_api/compute/v1/model/network_attachment_connected_endpoint.ex new file mode 100644 index 0000000000..0bc92b417e --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/network_attachment_connected_endpoint.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.Compute.V1.Model.NetworkAttachmentConnectedEndpoint do + @moduledoc """ + [Output Only] A connection connected to this network attachment. + + ## Attributes + + * `ipAddress` (*type:* `String.t`, *default:* `nil`) - The IPv4 address assigned to the producer instance network interface. This value will be a range in case of Serverless. + * `ipv6Address` (*type:* `String.t`, *default:* `nil`) - The IPv6 address assigned to the producer instance network interface. This is only assigned when the stack types of both the instance network interface and the consumer subnet are IPv4_IPv6. + * `projectIdOrNum` (*type:* `String.t`, *default:* `nil`) - The project id or number of the interface to which the IP was assigned. + * `secondaryIpCidrRanges` (*type:* `list(String.t)`, *default:* `nil`) - Alias IP ranges from the same subnetwork. + * `status` (*type:* `String.t`, *default:* `nil`) - The status of a connected endpoint to this network attachment. + * `subnetwork` (*type:* `String.t`, *default:* `nil`) - The subnetwork used to assign the IP to the producer instance network interface. + * `subnetworkCidrRange` (*type:* `String.t`, *default:* `nil`) - [Output Only] The CIDR range of the subnet from which the IPv4 internal IP was allocated from. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :ipAddress => String.t() | nil, + :ipv6Address => String.t() | nil, + :projectIdOrNum => String.t() | nil, + :secondaryIpCidrRanges => list(String.t()) | nil, + :status => String.t() | nil, + :subnetwork => String.t() | nil, + :subnetworkCidrRange => String.t() | nil + } + + field(:ipAddress) + field(:ipv6Address) + field(:projectIdOrNum) + field(:secondaryIpCidrRanges, type: :list) + field(:status) + field(:subnetwork) + field(:subnetworkCidrRange) +end + +defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.NetworkAttachmentConnectedEndpoint do + def decode(value, options) do + GoogleApi.Compute.V1.Model.NetworkAttachmentConnectedEndpoint.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.NetworkAttachmentConnectedEndpoint 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/network_attachment_list.ex b/clients/compute/lib/google_api/compute/v1/model/network_attachment_list.ex new file mode 100644 index 0000000000..27faa5b3b5 --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/network_attachment_list.ex @@ -0,0 +1,61 @@ +# 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.NetworkAttachmentList do + @moduledoc """ + + + ## 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.NetworkAttachment.t)`, *default:* `nil`) - A list of NetworkAttachment resources. + * `kind` (*type:* `String.t`, *default:* `compute#networkAttachmentList`) - + * `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.NetworkAttachmentListWarning.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.NetworkAttachment.t()) | nil, + :kind => String.t() | nil, + :nextPageToken => String.t() | nil, + :selfLink => String.t() | nil, + :warning => GoogleApi.Compute.V1.Model.NetworkAttachmentListWarning.t() | nil + } + + field(:id) + field(:items, as: GoogleApi.Compute.V1.Model.NetworkAttachment, type: :list) + field(:kind) + field(:nextPageToken) + field(:selfLink) + field(:warning, as: GoogleApi.Compute.V1.Model.NetworkAttachmentListWarning) +end + +defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.NetworkAttachmentList do + def decode(value, options) do + GoogleApi.Compute.V1.Model.NetworkAttachmentList.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.NetworkAttachmentList 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/network_attachment_list_warning.ex b/clients/compute/lib/google_api/compute/v1/model/network_attachment_list_warning.ex new file mode 100644 index 0000000000..c880793545 --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/network_attachment_list_warning.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.Compute.V1.Model.NetworkAttachmentListWarning 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.NetworkAttachmentListWarningData.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.NetworkAttachmentListWarningData.t()) | nil, + :message => String.t() | nil + } + + field(:code) + field(:data, as: GoogleApi.Compute.V1.Model.NetworkAttachmentListWarningData, type: :list) + field(:message) +end + +defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.NetworkAttachmentListWarning do + def decode(value, options) do + GoogleApi.Compute.V1.Model.NetworkAttachmentListWarning.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.NetworkAttachmentListWarning 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/network_attachment_list_warning_data.ex b/clients/compute/lib/google_api/compute/v1/model/network_attachment_list_warning_data.ex new file mode 100644 index 0000000000..f240e98102 --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/network_attachment_list_warning_data.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.Compute.V1.Model.NetworkAttachmentListWarningData 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.NetworkAttachmentListWarningData do + def decode(value, options) do + GoogleApi.Compute.V1.Model.NetworkAttachmentListWarningData.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.NetworkAttachmentListWarningData 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/network_attachments_scoped_list.ex b/clients/compute/lib/google_api/compute/v1/model/network_attachments_scoped_list.ex new file mode 100644 index 0000000000..9ad0b27598 --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/network_attachments_scoped_list.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.Compute.V1.Model.NetworkAttachmentsScopedList do + @moduledoc """ + + + ## Attributes + + * `networkAttachments` (*type:* `list(GoogleApi.Compute.V1.Model.NetworkAttachment.t)`, *default:* `nil`) - A list of NetworkAttachments contained in this scope. + * `warning` (*type:* `GoogleApi.Compute.V1.Model.NetworkAttachmentsScopedListWarning.t`, *default:* `nil`) - Informational warning which replaces the list of network attachments when the list is empty. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :networkAttachments => list(GoogleApi.Compute.V1.Model.NetworkAttachment.t()) | nil, + :warning => GoogleApi.Compute.V1.Model.NetworkAttachmentsScopedListWarning.t() | nil + } + + field(:networkAttachments, as: GoogleApi.Compute.V1.Model.NetworkAttachment, type: :list) + field(:warning, as: GoogleApi.Compute.V1.Model.NetworkAttachmentsScopedListWarning) +end + +defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.NetworkAttachmentsScopedList do + def decode(value, options) do + GoogleApi.Compute.V1.Model.NetworkAttachmentsScopedList.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.NetworkAttachmentsScopedList 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/network_attachments_scoped_list_warning.ex b/clients/compute/lib/google_api/compute/v1/model/network_attachments_scoped_list_warning.ex new file mode 100644 index 0000000000..d63b98006b --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/network_attachments_scoped_list_warning.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.NetworkAttachmentsScopedListWarning do + @moduledoc """ + Informational warning which replaces the list of network attachments when the list is empty. + + ## 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.NetworkAttachmentsScopedListWarningData.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.NetworkAttachmentsScopedListWarningData.t()) | nil, + :message => String.t() | nil + } + + field(:code) + + field(:data, as: GoogleApi.Compute.V1.Model.NetworkAttachmentsScopedListWarningData, type: :list) + + field(:message) +end + +defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.NetworkAttachmentsScopedListWarning do + def decode(value, options) do + GoogleApi.Compute.V1.Model.NetworkAttachmentsScopedListWarning.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.NetworkAttachmentsScopedListWarning 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/network_attachments_scoped_list_warning_data.ex b/clients/compute/lib/google_api/compute/v1/model/network_attachments_scoped_list_warning_data.ex new file mode 100644 index 0000000000..714bb71264 --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/network_attachments_scoped_list_warning_data.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.Compute.V1.Model.NetworkAttachmentsScopedListWarningData 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.NetworkAttachmentsScopedListWarningData do + def decode(value, options) do + GoogleApi.Compute.V1.Model.NetworkAttachmentsScopedListWarningData.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.NetworkAttachmentsScopedListWarningData 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/network_endpoint.ex b/clients/compute/lib/google_api/compute/v1/model/network_endpoint.ex index d8223d85e0..32830d8390 100644 --- a/clients/compute/lib/google_api/compute/v1/model/network_endpoint.ex +++ b/clients/compute/lib/google_api/compute/v1/model/network_endpoint.ex @@ -23,9 +23,9 @@ defmodule GoogleApi.Compute.V1.Model.NetworkEndpoint do * `annotations` (*type:* `map()`, *default:* `nil`) - Metadata defined as annotations on the network endpoint. * `fqdn` (*type:* `String.t`, *default:* `nil`) - Optional fully qualified domain name of network endpoint. This can only be specified when NetworkEndpointGroup.network_endpoint_type is NON_GCP_FQDN_PORT. - * `instance` (*type:* `String.t`, *default:* `nil`) - The name for a specific VM instance that the IP address belongs to. This is required for network endpoints of type GCE_VM_IP_PORT. The instance must be in the same zone of network endpoint group. The name must be 1-63 characters long, and comply with RFC1035. - * `ipAddress` (*type:* `String.t`, *default:* `nil`) - Optional IPv4 address of network endpoint. The IP address must belong to a VM in Compute Engine (either the primary IP or as part of an aliased IP range). If the IP address is not specified, then the primary IP address for the VM instance in the network that the network endpoint group belongs to will be used. - * `port` (*type:* `integer()`, *default:* `nil`) - Optional port number of network endpoint. If not specified, the defaultPort for the network endpoint group will be used. + * `instance` (*type:* `String.t`, *default:* `nil`) - The name or a URL of VM instance of this network endpoint. This field is required for network endpoints of type GCE_VM_IP and GCE_VM_IP_PORT. The instance must be in the same zone of network endpoint group (for zonal NEGs) or in the zone within the region of the NEG (for regional NEGs). If the ipAddress is specified, it must belongs to the VM instance. The name must be 1-63 characters long, and comply with RFC1035 or be a valid URL pointing to an existing instance. + * `ipAddress` (*type:* `String.t`, *default:* `nil`) - Optional IPv4 address of network endpoint. The IP address must belong to a VM in Compute Engine (either the primary IP or as part of an aliased IP range). If the IP address is not specified, then the primary IP address for the VM instance in the network that the network endpoint group belongs to will be used. This field is redundant and need not be set for network endpoints of type GCE_VM_IP. If set, it must be set to the primary internal IP address of the attached VM instance that matches the subnetwork of the NEG. The primary internal IP address from any NIC of a multi-NIC VM instance can be added to a NEG as long as it matches the NEG subnetwork. + * `port` (*type:* `integer()`, *default:* `nil`) - Optional port number of network endpoint. If not specified, the defaultPort for the network endpoint group will be used. This field can not be set for network endpoints of type GCE_VM_IP. """ use GoogleApi.Gax.ModelBase diff --git a/clients/compute/lib/google_api/compute/v1/model/network_endpoint_group.ex b/clients/compute/lib/google_api/compute/v1/model/network_endpoint_group.ex index eed4ce8b5f..0f8ce974b0 100644 --- a/clients/compute/lib/google_api/compute/v1/model/network_endpoint_group.ex +++ b/clients/compute/lib/google_api/compute/v1/model/network_endpoint_group.ex @@ -17,24 +17,24 @@ defmodule GoogleApi.Compute.V1.Model.NetworkEndpointGroup do @moduledoc """ - Represents a collection of network endpoints. A network endpoint group (NEG) defines how a set of endpoints should be reached, whether they are reachable, and where they are located. For more information about using NEGs, see Setting up external HTTP(S) Load Balancing with internet NEGs, Setting up zonal NEGs, or Setting up external HTTP(S) Load Balancing with serverless NEGs. + Represents a collection of network endpoints. A network endpoint group (NEG) defines how a set of endpoints should be reached, whether they are reachable, and where they are located. For more information about using NEGs for different use cases, see Network endpoint groups overview. ## Attributes * `annotations` (*type:* `map()`, *default:* `nil`) - Metadata defined as annotations on the network endpoint group. - * `appEngine` (*type:* `GoogleApi.Compute.V1.Model.NetworkEndpointGroupAppEngine.t`, *default:* `nil`) - Only valid when networkEndpointType is "SERVERLESS". Only one of cloudRun, appEngine or cloudFunction may be set. - * `cloudFunction` (*type:* `GoogleApi.Compute.V1.Model.NetworkEndpointGroupCloudFunction.t`, *default:* `nil`) - Only valid when networkEndpointType is "SERVERLESS". Only one of cloudRun, appEngine or cloudFunction may be set. - * `cloudRun` (*type:* `GoogleApi.Compute.V1.Model.NetworkEndpointGroupCloudRun.t`, *default:* `nil`) - Only valid when networkEndpointType is "SERVERLESS". Only one of cloudRun, appEngine or cloudFunction may be set. + * `appEngine` (*type:* `GoogleApi.Compute.V1.Model.NetworkEndpointGroupAppEngine.t`, *default:* `nil`) - Only valid when networkEndpointType is SERVERLESS. Only one of cloudRun, appEngine or cloudFunction may be set. + * `cloudFunction` (*type:* `GoogleApi.Compute.V1.Model.NetworkEndpointGroupCloudFunction.t`, *default:* `nil`) - Only valid when networkEndpointType is SERVERLESS. Only one of cloudRun, appEngine or cloudFunction may be set. + * `cloudRun` (*type:* `GoogleApi.Compute.V1.Model.NetworkEndpointGroupCloudRun.t`, *default:* `nil`) - Only valid when networkEndpointType is SERVERLESS. Only one of cloudRun, appEngine or cloudFunction may be set. * `creationTimestamp` (*type:* `String.t`, *default:* `nil`) - [Output Only] Creation timestamp in RFC3339 text format. - * `defaultPort` (*type:* `integer()`, *default:* `nil`) - The default port used if the port number is not specified in the network endpoint. + * `defaultPort` (*type:* `integer()`, *default:* `nil`) - The default port used if the port number is not specified in the network endpoint. If the network endpoint type is either GCE_VM_IP, SERVERLESS or PRIVATE_SERVICE_CONNECT, this field must not be specified. * `description` (*type:* `String.t`, *default:* `nil`) - An optional description of this resource. Provide this property when you create the resource. * `id` (*type:* `String.t`, *default:* `nil`) - [Output Only] The unique identifier for the resource. This identifier is defined by the server. * `kind` (*type:* `String.t`, *default:* `compute#networkEndpointGroup`) - [Output Only] Type of the resource. Always compute#networkEndpointGroup for network endpoint group. * `name` (*type:* `String.t`, *default:* `nil`) - Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. - * `network` (*type:* `String.t`, *default:* `nil`) - The URL of the network to which all network endpoints in the NEG belong. Uses "default" project network if unspecified. + * `network` (*type:* `String.t`, *default:* `nil`) - The URL of the network to which all network endpoints in the NEG belong. Uses default project network if unspecified. * `networkEndpointType` (*type:* `String.t`, *default:* `nil`) - Type of network endpoints in this network endpoint group. Can be one of GCE_VM_IP, GCE_VM_IP_PORT, NON_GCP_PRIVATE_IP_PORT, INTERNET_FQDN_PORT, INTERNET_IP_PORT, SERVERLESS, PRIVATE_SERVICE_CONNECT. * `pscData` (*type:* `GoogleApi.Compute.V1.Model.NetworkEndpointGroupPscData.t`, *default:* `nil`) - - * `pscTargetService` (*type:* `String.t`, *default:* `nil`) - The target service url used to set up private service connection to a Google API or a PSC Producer Service Attachment. An example value is: "asia-northeast3-cloudkms.googleapis.com" + * `pscTargetService` (*type:* `String.t`, *default:* `nil`) - The target service url used to set up private service connection to a Google API or a PSC Producer Service Attachment. An example value is: asia-northeast3-cloudkms.googleapis.com * `region` (*type:* `String.t`, *default:* `nil`) - [Output Only] The URL of the region where the network endpoint group is located. * `selfLink` (*type:* `String.t`, *default:* `nil`) - [Output Only] Server-defined URL for the resource. * `size` (*type:* `integer()`, *default:* `nil`) - [Output only] Number of network endpoints in the network endpoint group. diff --git a/clients/compute/lib/google_api/compute/v1/model/network_endpoint_group_app_engine.ex b/clients/compute/lib/google_api/compute/v1/model/network_endpoint_group_app_engine.ex index d5f7d8af39..6db34ad5d1 100644 --- a/clients/compute/lib/google_api/compute/v1/model/network_endpoint_group_app_engine.ex +++ b/clients/compute/lib/google_api/compute/v1/model/network_endpoint_group_app_engine.ex @@ -21,9 +21,9 @@ defmodule GoogleApi.Compute.V1.Model.NetworkEndpointGroupAppEngine do ## Attributes - * `service` (*type:* `String.t`, *default:* `nil`) - Optional serving service. The service name is case-sensitive and must be 1-63 characters long. Example value: "default", "my-service". - * `urlMask` (*type:* `String.t`, *default:* `nil`) - A template to parse service and version fields from a request URL. URL mask allows for routing to multiple App Engine services without having to create multiple Network Endpoint Groups and backend services. For example, the request URLs "foo1-dot-appname.appspot.com/v1" and "foo1-dot-appname.appspot.com/v2" can be backed by the same Serverless NEG with URL mask "-dot-appname.appspot.com/". The URL mask will parse them to { service = "foo1", version = "v1" } and { service = "foo1", version = "v2" } respectively. - * `version` (*type:* `String.t`, *default:* `nil`) - Optional serving version. The version name is case-sensitive and must be 1-100 characters long. Example value: "v1", "v2". + * `service` (*type:* `String.t`, *default:* `nil`) - Optional serving service. The service name is case-sensitive and must be 1-63 characters long. Example value: default, my-service. + * `urlMask` (*type:* `String.t`, *default:* `nil`) - An URL mask is one of the main components of the Cloud Function. A template to parse service and version fields from a request URL. URL mask allows for routing to multiple App Engine services without having to create multiple Network Endpoint Groups and backend services. For example, the request URLs foo1-dot-appname.appspot.com/v1 and foo1-dot-appname.appspot.com/v2 can be backed by the same Serverless NEG with URL mask -dot-appname.appspot.com/. The URL mask will parse them to { service = "foo1", version = "v1" } and { service = "foo1", version = "v2" } respectively. + * `version` (*type:* `String.t`, *default:* `nil`) - Optional serving version. The version name is case-sensitive and must be 1-100 characters long. Example value: v1, v2. """ use GoogleApi.Gax.ModelBase diff --git a/clients/compute/lib/google_api/compute/v1/model/network_endpoint_group_cloud_function.ex b/clients/compute/lib/google_api/compute/v1/model/network_endpoint_group_cloud_function.ex index ffecdfae8e..13d6cec542 100644 --- a/clients/compute/lib/google_api/compute/v1/model/network_endpoint_group_cloud_function.ex +++ b/clients/compute/lib/google_api/compute/v1/model/network_endpoint_group_cloud_function.ex @@ -21,8 +21,8 @@ defmodule GoogleApi.Compute.V1.Model.NetworkEndpointGroupCloudFunction do ## Attributes - * `function` (*type:* `String.t`, *default:* `nil`) - A user-defined name of the Cloud Function. The function name is case-sensitive and must be 1-63 characters long. Example value: "func1". - * `urlMask` (*type:* `String.t`, *default:* `nil`) - A template to parse function field from a request URL. URL mask allows for routing to multiple Cloud Functions without having to create multiple Network Endpoint Groups and backend services. For example, request URLs " mydomain.com/function1" and "mydomain.com/function2" can be backed by the same Serverless NEG with URL mask "/". The URL mask will parse them to { function = "function1" } and { function = "function2" } respectively. + * `function` (*type:* `String.t`, *default:* `nil`) - A user-defined name of the Cloud Function. The function name is case-sensitive and must be 1-63 characters long. Example value: func1. + * `urlMask` (*type:* `String.t`, *default:* `nil`) - An URL mask is one of the main components of the Cloud Function. A template to parse function field from a request URL. URL mask allows for routing to multiple Cloud Functions without having to create multiple Network Endpoint Groups and backend services. For example, request URLs mydomain.com/function1 and mydomain.com/function2 can be backed by the same Serverless NEG with URL mask /. The URL mask will parse them to { function = "function1" } and { function = "function2" } respectively. """ use GoogleApi.Gax.ModelBase diff --git a/clients/compute/lib/google_api/compute/v1/model/network_endpoint_group_cloud_run.ex b/clients/compute/lib/google_api/compute/v1/model/network_endpoint_group_cloud_run.ex index 8974caab88..8b660ba12c 100644 --- a/clients/compute/lib/google_api/compute/v1/model/network_endpoint_group_cloud_run.ex +++ b/clients/compute/lib/google_api/compute/v1/model/network_endpoint_group_cloud_run.ex @@ -23,7 +23,7 @@ defmodule GoogleApi.Compute.V1.Model.NetworkEndpointGroupCloudRun do * `service` (*type:* `String.t`, *default:* `nil`) - Cloud Run service is the main resource of Cloud Run. The service must be 1-63 characters long, and comply with RFC1035. Example value: "run-service". * `tag` (*type:* `String.t`, *default:* `nil`) - Optional Cloud Run tag represents the "named-revision" to provide additional fine-grained traffic routing information. The tag must be 1-63 characters long, and comply with RFC1035. Example value: "revision-0010". - * `urlMask` (*type:* `String.t`, *default:* `nil`) - A template to parse and fields from a request URL. URL mask allows for routing to multiple Run services without having to create multiple network endpoint groups and backend services. For example, request URLs "foo1.domain.com/bar1" and "foo1.domain.com/bar2" can be backed by the same Serverless Network Endpoint Group (NEG) with URL mask ".domain.com/". The URL mask will parse them to { service="bar1", tag="foo1" } and { service="bar2", tag="foo2" } respectively. + * `urlMask` (*type:* `String.t`, *default:* `nil`) - An URL mask is one of the main components of the Cloud Function. A template to parse and fields from a request URL. URL mask allows for routing to multiple Run services without having to create multiple network endpoint groups and backend services. For example, request URLs foo1.domain.com/bar1 and foo1.domain.com/bar2 can be backed by the same Serverless Network Endpoint Group (NEG) with URL mask .domain.com/. The URL mask will parse them to { service="bar1", tag="foo1" } and { service="bar2", tag="foo2" } respectively. """ use GoogleApi.Gax.ModelBase diff --git a/clients/compute/lib/google_api/compute/v1/model/network_interface.ex b/clients/compute/lib/google_api/compute/v1/model/network_interface.ex index d2e12af572..c24d1d96b1 100644 --- a/clients/compute/lib/google_api/compute/v1/model/network_interface.ex +++ b/clients/compute/lib/google_api/compute/v1/model/network_interface.ex @@ -27,14 +27,15 @@ defmodule GoogleApi.Compute.V1.Model.NetworkInterface do * `internalIpv6PrefixLength` (*type:* `integer()`, *default:* `nil`) - The prefix length of the primary internal IPv6 range. * `ipv6AccessConfigs` (*type:* `list(GoogleApi.Compute.V1.Model.AccessConfig.t)`, *default:* `nil`) - An array of IPv6 access configurations for this interface. Currently, only one IPv6 access config, DIRECT_IPV6, is supported. If there is no ipv6AccessConfig specified, then this instance will have no external IPv6 Internet access. * `ipv6AccessType` (*type:* `String.t`, *default:* `nil`) - [Output Only] One of EXTERNAL, INTERNAL to indicate whether the IP can be accessed from the Internet. This field is always inherited from its subnetwork. Valid only if stackType is IPV4_IPV6. - * `ipv6Address` (*type:* `String.t`, *default:* `nil`) - An IPv6 internal network address for this network interface. + * `ipv6Address` (*type:* `String.t`, *default:* `nil`) - An IPv6 internal network address for this network interface. To use a static internal IP address, it must be unused and in the same region as the instance's zone. If not specified, Google Cloud will automatically assign an internal IPv6 address from the instance's subnetwork. * `kind` (*type:* `String.t`, *default:* `compute#networkInterface`) - [Output Only] Type of the resource. Always compute#networkInterface for network interfaces. * `name` (*type:* `String.t`, *default:* `nil`) - [Output Only] The name of the network interface, which is generated by the server. For a VM, the network interface uses the nicN naming format. Where N is a value between 0 and 7. The default interface value is nic0. * `network` (*type:* `String.t`, *default:* `nil`) - URL of the VPC network resource for this instance. When creating an instance, if neither the network nor the subnetwork is specified, the default network global/networks/default is used. If the selected project doesn't have the default network, you must specify a network or subnet. If the network is not specified but the subnetwork is specified, the network is inferred. If you specify this property, you can specify the network as a full or partial URL. For example, the following are all valid URLs: - https://www.googleapis.com/compute/v1/projects/project/global/networks/ network - projects/project/global/networks/network - global/networks/default + * `networkAttachment` (*type:* `String.t`, *default:* `nil`) - The URL of the network attachment that this interface should connect to in the following format: projects/{project_number}/regions/{region_name}/networkAttachments/{network_attachment_name}. * `networkIP` (*type:* `String.t`, *default:* `nil`) - An IPv4 internal IP address to assign to the instance for this network interface. If not specified by the user, an unused internal IP is assigned by the system. * `nicType` (*type:* `String.t`, *default:* `nil`) - The type of vNIC to be used on this interface. This may be gVNIC or VirtioNet. * `queueCount` (*type:* `integer()`, *default:* `nil`) - The networking queue count that's specified by users for the network interface. Both Rx and Tx queues will be set to this number. It'll be empty if not specified by the users. - * `stackType` (*type:* `String.t`, *default:* `nil`) - The stack type for this network interface to identify whether the IPv6 feature is enabled or not. If not specified, IPV4_ONLY will be used. This field can be both set at instance creation and update network interface operations. + * `stackType` (*type:* `String.t`, *default:* `nil`) - The stack type for this network interface. To assign only IPv4 addresses, use IPV4_ONLY. To assign both IPv4 and IPv6 addresses, use IPV4_IPV6. If not specified, IPV4_ONLY is used. This field can be both set at instance creation and update network interface operations. * `subnetwork` (*type:* `String.t`, *default:* `nil`) - The URL of the Subnetwork resource for this instance. If the network resource is in legacy mode, do not specify this field. If the network is in auto subnet mode, specifying the subnetwork is optional. If the network is in custom subnet mode, specifying the subnetwork is required. If you specify this field, you can specify the subnetwork as a full or partial URL. For example, the following are all valid URLs: - https://www.googleapis.com/compute/v1/projects/project/regions/region /subnetworks/subnetwork - regions/region/subnetworks/subnetwork """ @@ -51,6 +52,7 @@ defmodule GoogleApi.Compute.V1.Model.NetworkInterface do :kind => String.t() | nil, :name => String.t() | nil, :network => String.t() | nil, + :networkAttachment => String.t() | nil, :networkIP => String.t() | nil, :nicType => String.t() | nil, :queueCount => integer() | nil, @@ -68,6 +70,7 @@ defmodule GoogleApi.Compute.V1.Model.NetworkInterface do field(:kind) field(:name) field(:network) + field(:networkAttachment) field(:networkIP) field(:nicType) field(:queueCount) diff --git a/clients/compute/lib/google_api/compute/v1/model/node_groups_simulate_maintenance_event_request.ex b/clients/compute/lib/google_api/compute/v1/model/node_groups_simulate_maintenance_event_request.ex new file mode 100644 index 0000000000..451cadc2a8 --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/node_groups_simulate_maintenance_event_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.Compute.V1.Model.NodeGroupsSimulateMaintenanceEventRequest do + @moduledoc """ + + + ## Attributes + + * `nodes` (*type:* `list(String.t)`, *default:* `nil`) - Names of the nodes to go under maintenance simulation. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :nodes => list(String.t()) | nil + } + + field(:nodes, type: :list) +end + +defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.NodeGroupsSimulateMaintenanceEventRequest do + def decode(value, options) do + GoogleApi.Compute.V1.Model.NodeGroupsSimulateMaintenanceEventRequest.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.NodeGroupsSimulateMaintenanceEventRequest 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/node_template.ex b/clients/compute/lib/google_api/compute/v1/model/node_template.ex index 5690fb9dc1..a4c70fd08d 100644 --- a/clients/compute/lib/google_api/compute/v1/model/node_template.ex +++ b/clients/compute/lib/google_api/compute/v1/model/node_template.ex @@ -31,7 +31,7 @@ defmodule GoogleApi.Compute.V1.Model.NodeTemplate do * `name` (*type:* `String.t`, *default:* `nil`) - The name of the resource, provided by the client when initially creating the resource. The resource name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. * `nodeAffinityLabels` (*type:* `map()`, *default:* `nil`) - Labels to use for node affinity, which will be used in instance scheduling. * `nodeType` (*type:* `String.t`, *default:* `nil`) - The node type to use for nodes group that are created from this template. - * `nodeTypeFlexibility` (*type:* `GoogleApi.Compute.V1.Model.NodeTemplateNodeTypeFlexibility.t`, *default:* `nil`) - The flexible properties of the desired node type. Node groups that use this node template will create nodes of a type that matches these properties. This field is mutually exclusive with the node_type property; you can only define one or the other, but not both. + * `nodeTypeFlexibility` (*type:* `GoogleApi.Compute.V1.Model.NodeTemplateNodeTypeFlexibility.t`, *default:* `nil`) - Do not use. Instead, use the node_type property. * `region` (*type:* `String.t`, *default:* `nil`) - [Output Only] The name of the region where the node template resides, such as us-central1. * `selfLink` (*type:* `String.t`, *default:* `nil`) - [Output Only] Server-defined URL for the resource. * `serverBinding` (*type:* `GoogleApi.Compute.V1.Model.ServerBinding.t`, *default:* `nil`) - Sets the binding properties for the physical server. Valid values include: - *[Default]* RESTART_NODE_ON_ANY_SERVER: Restarts VMs on any available physical server - RESTART_NODE_ON_MINIMAL_SERVER: Restarts VMs on the same physical server whenever possible See Sole-tenant node options for more information. diff --git a/clients/compute/lib/google_api/compute/v1/model/notification_endpoint_grpc_settings.ex b/clients/compute/lib/google_api/compute/v1/model/notification_endpoint_grpc_settings.ex index 12dce272f3..78ad164a99 100644 --- a/clients/compute/lib/google_api/compute/v1/model/notification_endpoint_grpc_settings.ex +++ b/clients/compute/lib/google_api/compute/v1/model/notification_endpoint_grpc_settings.ex @@ -24,7 +24,7 @@ defmodule GoogleApi.Compute.V1.Model.NotificationEndpointGrpcSettings do * `authority` (*type:* `String.t`, *default:* `nil`) - Optional. If specified, this field is used to set the authority header by the sender of notifications. See https://tools.ietf.org/html/rfc7540#section-8.1.2.3 * `endpoint` (*type:* `String.t`, *default:* `nil`) - Endpoint to which gRPC notifications are sent. This must be a valid gRPCLB DNS name. * `payloadName` (*type:* `String.t`, *default:* `nil`) - Optional. If specified, this field is used to populate the "name" field in gRPC requests. - * `resendInterval` (*type:* `GoogleApi.Compute.V1.Model.Duration.t`, *default:* `nil`) - Optional. This field is used to configure how often to send a full update of all non-healthy backends. If unspecified, full updates are not sent. If specified, must be in the range between 600 seconds to 3600 seconds. Nanos are disallowed. + * `resendInterval` (*type:* `GoogleApi.Compute.V1.Model.Duration.t`, *default:* `nil`) - Optional. This field is used to configure how often to send a full update of all non-healthy backends. If unspecified, full updates are not sent. If specified, must be in the range between 600 seconds to 3600 seconds. Nanos are disallowed. Can only be set for regional notification endpoints. * `retryDurationSec` (*type:* `integer()`, *default:* `nil`) - How much time (in seconds) is spent attempting notification retries until a successful response is received. Default is 30s. Limit is 20m (1200s). Must be a positive number. """ diff --git a/clients/compute/lib/google_api/compute/v1/model/operation.ex b/clients/compute/lib/google_api/compute/v1/model/operation.ex index a9b0bf3bf2..159c362b04 100644 --- a/clients/compute/lib/google_api/compute/v1/model/operation.ex +++ b/clients/compute/lib/google_api/compute/v1/model/operation.ex @@ -17,7 +17,7 @@ defmodule GoogleApi.Compute.V1.Model.Operation do @moduledoc """ - Represents an Operation resource. Google Compute Engine has three Operation resources: * [Global](/compute/docs/reference/rest/v1/globalOperations) * [Regional](/compute/docs/reference/rest/v1/regionOperations) * [Zonal](/compute/docs/reference/rest/v1/zoneOperations) You can use an operation resource to manage asynchronous API requests. For more information, read Handling API responses. Operations can be global, regional or zonal. - For global operations, use the `globalOperations` resource. - For regional operations, use the `regionOperations` resource. - For zonal operations, use the `zonalOperations` resource. For more information, read Global, Regional, and Zonal Resources. + Represents an Operation resource. Google Compute Engine has three Operation resources: * [Global](/compute/docs/reference/rest/v1/globalOperations) * [Regional](/compute/docs/reference/rest/v1/regionOperations) * [Zonal](/compute/docs/reference/rest/v1/zoneOperations) You can use an operation resource to manage asynchronous API requests. For more information, read Handling API responses. Operations can be global, regional or zonal. - For global operations, use the `globalOperations` resource. - For regional operations, use the `regionOperations` resource. - For zonal operations, use the `zoneOperations` resource. For more information, read Global, Regional, and Zonal Resources. Note that completed Operation resources have a limited retention period. ## Attributes @@ -30,6 +30,7 @@ defmodule GoogleApi.Compute.V1.Model.Operation do * `httpErrorStatusCode` (*type:* `integer()`, *default:* `nil`) - [Output Only] If the operation fails, this field contains the HTTP error status code that was returned. For example, a `404` means the resource was not found. * `id` (*type:* `String.t`, *default:* `nil`) - [Output Only] The unique identifier for the operation. This identifier is defined by the server. * `insertTime` (*type:* `String.t`, *default:* `nil`) - [Output Only] The time that this operation was requested. This value is in RFC3339 text format. + * `instancesBulkInsertOperationMetadata` (*type:* `GoogleApi.Compute.V1.Model.InstancesBulkInsertOperationMetadata.t`, *default:* `nil`) - * `kind` (*type:* `String.t`, *default:* `compute#operation`) - [Output Only] Type of the resource. Always `compute#operation` for Operation resources. * `name` (*type:* `String.t`, *default:* `nil`) - [Output Only] Name of the operation. * `operationGroupId` (*type:* `String.t`, *default:* `nil`) - [Output Only] An ID that represents a group of operations, such as when a group of operations results from a `bulkInsert` API request. @@ -37,12 +38,13 @@ defmodule GoogleApi.Compute.V1.Model.Operation do * `progress` (*type:* `integer()`, *default:* `nil`) - [Output Only] An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess when the operation will be complete. This number should monotonically increase as the operation progresses. * `region` (*type:* `String.t`, *default:* `nil`) - [Output Only] The URL of the region where the operation resides. Only applicable when performing regional operations. * `selfLink` (*type:* `String.t`, *default:* `nil`) - [Output Only] Server-defined URL for the resource. + * `setCommonInstanceMetadataOperationMetadata` (*type:* `GoogleApi.Compute.V1.Model.SetCommonInstanceMetadataOperationMetadata.t`, *default:* `nil`) - [Output Only] If the operation is for projects.setCommonInstanceMetadata, this field will contain information on all underlying zonal actions and their state. * `startTime` (*type:* `String.t`, *default:* `nil`) - [Output Only] The time that this operation was started by the server. This value is in RFC3339 text format. * `status` (*type:* `String.t`, *default:* `nil`) - [Output Only] The status of the operation, which can be one of the following: `PENDING`, `RUNNING`, or `DONE`. * `statusMessage` (*type:* `String.t`, *default:* `nil`) - [Output Only] An optional textual description of the current status of the operation. * `targetId` (*type:* `String.t`, *default:* `nil`) - [Output Only] The unique target ID, which identifies a specific incarnation of the target resource. * `targetLink` (*type:* `String.t`, *default:* `nil`) - [Output Only] The URL of the resource that the operation modifies. For operations related to creating a snapshot, this points to the persistent disk that the snapshot was created from. - * `user` (*type:* `String.t`, *default:* `nil`) - [Output Only] User who requested the operation, for example: `user@example.com`. + * `user` (*type:* `String.t`, *default:* `nil`) - [Output Only] User who requested the operation, for example: `user@example.com` or `alice_smith_identifier (global/workforcePools/example-com-us-employees)`. * `warnings` (*type:* `list(GoogleApi.Compute.V1.Model.OperationWarnings.t)`, *default:* `nil`) - [Output Only] If warning messages are generated during processing of the operation, this field will be populated. * `zone` (*type:* `String.t`, *default:* `nil`) - [Output Only] The URL of the zone where the operation resides. Only applicable when performing per-zone operations. """ @@ -59,6 +61,8 @@ defmodule GoogleApi.Compute.V1.Model.Operation do :httpErrorStatusCode => integer() | nil, :id => String.t() | nil, :insertTime => String.t() | nil, + :instancesBulkInsertOperationMetadata => + GoogleApi.Compute.V1.Model.InstancesBulkInsertOperationMetadata.t() | nil, :kind => String.t() | nil, :name => String.t() | nil, :operationGroupId => String.t() | nil, @@ -66,6 +70,8 @@ defmodule GoogleApi.Compute.V1.Model.Operation do :progress => integer() | nil, :region => String.t() | nil, :selfLink => String.t() | nil, + :setCommonInstanceMetadataOperationMetadata => + GoogleApi.Compute.V1.Model.SetCommonInstanceMetadataOperationMetadata.t() | nil, :startTime => String.t() | nil, :status => String.t() | nil, :statusMessage => String.t() | nil, @@ -85,6 +91,11 @@ defmodule GoogleApi.Compute.V1.Model.Operation do field(:httpErrorStatusCode) field(:id) field(:insertTime) + + field(:instancesBulkInsertOperationMetadata, + as: GoogleApi.Compute.V1.Model.InstancesBulkInsertOperationMetadata + ) + field(:kind) field(:name) field(:operationGroupId) @@ -92,6 +103,11 @@ defmodule GoogleApi.Compute.V1.Model.Operation do field(:progress) field(:region) field(:selfLink) + + field(:setCommonInstanceMetadataOperationMetadata, + as: GoogleApi.Compute.V1.Model.SetCommonInstanceMetadataOperationMetadata + ) + field(:startTime) field(:status) field(:statusMessage) diff --git a/clients/compute/lib/google_api/compute/v1/model/outlier_detection.ex b/clients/compute/lib/google_api/compute/v1/model/outlier_detection.ex index e40b197114..980bd883cd 100644 --- a/clients/compute/lib/google_api/compute/v1/model/outlier_detection.ex +++ b/clients/compute/lib/google_api/compute/v1/model/outlier_detection.ex @@ -21,17 +21,17 @@ defmodule GoogleApi.Compute.V1.Model.OutlierDetection do ## Attributes - * `baseEjectionTime` (*type:* `GoogleApi.Compute.V1.Model.Duration.t`, *default:* `nil`) - The base time that a host is ejected for. The real ejection time is equal to the base ejection time multiplied by the number of times the host has been ejected. Defaults to 30000ms or 30s. - * `consecutiveErrors` (*type:* `integer()`, *default:* `nil`) - Number of errors before a host is ejected from the connection pool. When the backend host is accessed over HTTP, a 5xx return code qualifies as an error. Defaults to 5. Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. - * `consecutiveGatewayFailure` (*type:* `integer()`, *default:* `nil`) - The number of consecutive gateway failures (502, 503, 504 status or connection errors that are mapped to one of those status codes) before a consecutive gateway failure ejection occurs. Defaults to 3. Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. - * `enforcingConsecutiveErrors` (*type:* `integer()`, *default:* `nil`) - The percentage chance that a host will be actually ejected when an outlier status is detected through consecutive 5xx. This setting can be used to disable ejection or to ramp it up slowly. Defaults to 0. Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. - * `enforcingConsecutiveGatewayFailure` (*type:* `integer()`, *default:* `nil`) - The percentage chance that a host will be actually ejected when an outlier status is detected through consecutive gateway failures. This setting can be used to disable ejection or to ramp it up slowly. Defaults to 100. Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. - * `enforcingSuccessRate` (*type:* `integer()`, *default:* `nil`) - The percentage chance that a host will be actually ejected when an outlier status is detected through success rate statistics. This setting can be used to disable ejection or to ramp it up slowly. Defaults to 100. - * `interval` (*type:* `GoogleApi.Compute.V1.Model.Duration.t`, *default:* `nil`) - Time interval between ejection analysis sweeps. This can result in both new ejections as well as hosts being returned to service. Defaults to 1 second. - * `maxEjectionPercent` (*type:* `integer()`, *default:* `nil`) - Maximum percentage of hosts in the load balancing pool for the backend service that can be ejected. Defaults to 50%. - * `successRateMinimumHosts` (*type:* `integer()`, *default:* `nil`) - The number of hosts in a cluster that must have enough request volume to detect success rate outliers. If the number of hosts is less than this setting, outlier detection via success rate statistics is not performed for any host in the cluster. Defaults to 5. - * `successRateRequestVolume` (*type:* `integer()`, *default:* `nil`) - The minimum number of total requests that must be collected in one interval (as defined by the interval duration above) to include this host in success rate based outlier detection. If the volume is lower than this setting, outlier detection via success rate statistics is not performed for that host. Defaults to 100. - * `successRateStdevFactor` (*type:* `integer()`, *default:* `nil`) - This factor is used to determine the ejection threshold for success rate outlier ejection. The ejection threshold is the difference between the mean success rate, and the product of this factor and the standard deviation of the mean success rate: mean - (stdev * success_rate_stdev_factor). This factor is divided by a thousand to get a double. That is, if the desired factor is 1.9, the runtime value should be 1900. Defaults to 1900. + * `baseEjectionTime` (*type:* `GoogleApi.Compute.V1.Model.Duration.t`, *default:* `nil`) - The base time that a backend endpoint is ejected for. Defaults to 30000ms or 30s. After a backend endpoint is returned back to the load balancing pool, it can be ejected again in another ejection analysis. Thus, the total ejection time is equal to the base ejection time multiplied by the number of times the backend endpoint has been ejected. Defaults to 30000ms or 30s. + * `consecutiveErrors` (*type:* `integer()`, *default:* `nil`) - Number of consecutive errors before a backend endpoint is ejected from the load balancing pool. When the backend endpoint is accessed over HTTP, a 5xx return code qualifies as an error. Defaults to 5. + * `consecutiveGatewayFailure` (*type:* `integer()`, *default:* `nil`) - The number of consecutive gateway failures (502, 503, 504 status or connection errors that are mapped to one of those status codes) before a consecutive gateway failure ejection occurs. Defaults to 3. + * `enforcingConsecutiveErrors` (*type:* `integer()`, *default:* `nil`) - The percentage chance that a backend endpoint will be ejected when an outlier status is detected through consecutive 5xx. This setting can be used to disable ejection or to ramp it up slowly. Defaults to 0. + * `enforcingConsecutiveGatewayFailure` (*type:* `integer()`, *default:* `nil`) - The percentage chance that a backend endpoint will be ejected when an outlier status is detected through consecutive gateway failures. This setting can be used to disable ejection or to ramp it up slowly. Defaults to 100. + * `enforcingSuccessRate` (*type:* `integer()`, *default:* `nil`) - The percentage chance that a backend endpoint will be ejected when an outlier status is detected through success rate statistics. This setting can be used to disable ejection or to ramp it up slowly. Defaults to 100. Not supported when the backend service uses Serverless NEG. + * `interval` (*type:* `GoogleApi.Compute.V1.Model.Duration.t`, *default:* `nil`) - Time interval between ejection analysis sweeps. This can result in both new ejections and backend endpoints being returned to service. The interval is equal to the number of seconds as defined in outlierDetection.interval.seconds plus the number of nanoseconds as defined in outlierDetection.interval.nanos. Defaults to 1 second. + * `maxEjectionPercent` (*type:* `integer()`, *default:* `nil`) - Maximum percentage of backend endpoints in the load balancing pool for the backend service that can be ejected if the ejection conditions are met. Defaults to 50%. + * `successRateMinimumHosts` (*type:* `integer()`, *default:* `nil`) - The number of backend endpoints in the load balancing pool that must have enough request volume to detect success rate outliers. If the number of backend endpoints is fewer than this setting, outlier detection via success rate statistics is not performed for any backend endpoint in the load balancing pool. Defaults to 5. Not supported when the backend service uses Serverless NEG. + * `successRateRequestVolume` (*type:* `integer()`, *default:* `nil`) - The minimum number of total requests that must be collected in one interval (as defined by the interval duration above) to include this backend endpoint in success rate based outlier detection. If the volume is lower than this setting, outlier detection via success rate statistics is not performed for that backend endpoint. Defaults to 100. Not supported when the backend service uses Serverless NEG. + * `successRateStdevFactor` (*type:* `integer()`, *default:* `nil`) - This factor is used to determine the ejection threshold for success rate outlier ejection. The ejection threshold is the difference between the mean success rate, and the product of this factor and the standard deviation of the mean success rate: mean - (stdev * successRateStdevFactor). This factor is divided by a thousand to get a double. That is, if the desired factor is 1.9, the runtime value should be 1900. Defaults to 1900. Not supported when the backend service uses Serverless NEG. """ use GoogleApi.Gax.ModelBase diff --git a/clients/compute/lib/google_api/compute/v1/model/packet_mirroring_filter.ex b/clients/compute/lib/google_api/compute/v1/model/packet_mirroring_filter.ex index 465df40a26..ed891f0777 100644 --- a/clients/compute/lib/google_api/compute/v1/model/packet_mirroring_filter.ex +++ b/clients/compute/lib/google_api/compute/v1/model/packet_mirroring_filter.ex @@ -21,8 +21,8 @@ defmodule GoogleApi.Compute.V1.Model.PacketMirroringFilter do ## Attributes - * `IPProtocols` (*type:* `list(String.t)`, *default:* `nil`) - Protocols that apply as filter on mirrored traffic. If no protocols are specified, all traffic that matches the specified CIDR ranges is mirrored. If neither cidrRanges nor IPProtocols is specified, all traffic is mirrored. - * `cidrRanges` (*type:* `list(String.t)`, *default:* `nil`) - IP CIDR ranges that apply as filter on the source (ingress) or destination (egress) IP in the IP header. Only IPv4 is supported. If no ranges are specified, all traffic that matches the specified IPProtocols is mirrored. If neither cidrRanges nor IPProtocols is specified, all traffic is mirrored. + * `IPProtocols` (*type:* `list(String.t)`, *default:* `nil`) - Protocols that apply as filter on mirrored traffic. If no protocols are specified, all traffic that matches the specified CIDR ranges is mirrored. If neither cidrRanges nor IPProtocols is specified, all IPv4 traffic is mirrored. + * `cidrRanges` (*type:* `list(String.t)`, *default:* `nil`) - One or more IPv4 or IPv6 CIDR ranges that apply as filter on the source (ingress) or destination (egress) IP in the IP header. If no ranges are specified, all IPv4 traffic that matches the specified IPProtocols is mirrored. If neither cidrRanges nor IPProtocols is specified, all IPv4 traffic is mirrored. To mirror all IPv4 and IPv6 traffic, use "0.0.0.0/0,::/0". Note: Support for IPv6 traffic is in preview. * `direction` (*type:* `String.t`, *default:* `nil`) - Direction of traffic to mirror, either INGRESS, EGRESS, or BOTH. The default is BOTH. """ diff --git a/clients/compute/lib/google_api/compute/v1/model/path_matcher.ex b/clients/compute/lib/google_api/compute/v1/model/path_matcher.ex index 2ac793db9f..2e3e8ad9ad 100644 --- a/clients/compute/lib/google_api/compute/v1/model/path_matcher.ex +++ b/clients/compute/lib/google_api/compute/v1/model/path_matcher.ex @@ -21,7 +21,7 @@ defmodule GoogleApi.Compute.V1.Model.PathMatcher do ## Attributes - * `defaultRouteAction` (*type:* `GoogleApi.Compute.V1.Model.HttpRouteAction.t`, *default:* `nil`) - defaultRouteAction takes effect when none of the pathRules or routeRules match. The load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If defaultRouteAction specifies any weightedBackendServices, defaultService must not be set. Conversely if defaultService is set, defaultRouteAction cannot contain any weightedBackendServices. Only one of defaultRouteAction or defaultUrlRedirect must be set. URL maps for Classic external HTTP(S) load balancers only support the urlRewrite action within a path matcher's defaultRouteAction. + * `defaultRouteAction` (*type:* `GoogleApi.Compute.V1.Model.HttpRouteAction.t`, *default:* `nil`) - defaultRouteAction takes effect when none of the pathRules or routeRules match. The load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If defaultRouteAction specifies any weightedBackendServices, defaultService must not be set. Conversely if defaultService is set, defaultRouteAction cannot contain any weightedBackendServices. Only one of defaultRouteAction or defaultUrlRedirect must be set. URL maps for classic Application Load Balancers only support the urlRewrite action within a path matcher's defaultRouteAction. * `defaultService` (*type:* `String.t`, *default:* `nil`) - The full or partial URL to the BackendService resource. This URL is used if none of the pathRules or routeRules defined by this PathMatcher are matched. For example, the following are all valid URLs to a BackendService resource: - https://www.googleapis.com/compute/v1/projects/project /global/backendServices/backendService - compute/v1/projects/project/global/backendServices/backendService - global/backendServices/backendService If defaultRouteAction is also specified, advanced routing actions, such as URL rewrites, take effect before sending the request to the backend. However, if defaultService is specified, defaultRouteAction cannot contain any weightedBackendServices. Conversely, if defaultRouteAction specifies any weightedBackendServices, defaultService must not be specified. Only one of defaultService, defaultUrlRedirect , or defaultRouteAction.weightedBackendService must be set. Authorization requires one or more of the following Google IAM permissions on the specified resource default_service: - compute.backendBuckets.use - compute.backendServices.use * `defaultUrlRedirect` (*type:* `GoogleApi.Compute.V1.Model.HttpRedirectAction.t`, *default:* `nil`) - When none of the specified pathRules or routeRules match, the request is redirected to a URL specified by defaultUrlRedirect. If defaultUrlRedirect is specified, defaultService or defaultRouteAction must not be set. Not supported when the URL map is bound to a target gRPC proxy. * `description` (*type:* `String.t`, *default:* `nil`) - An optional description of this resource. Provide this property when you create the resource. diff --git a/clients/compute/lib/google_api/compute/v1/model/path_rule.ex b/clients/compute/lib/google_api/compute/v1/model/path_rule.ex index e2fe35af6b..4a8bace62b 100644 --- a/clients/compute/lib/google_api/compute/v1/model/path_rule.ex +++ b/clients/compute/lib/google_api/compute/v1/model/path_rule.ex @@ -22,7 +22,7 @@ defmodule GoogleApi.Compute.V1.Model.PathRule do ## Attributes * `paths` (*type:* `list(String.t)`, *default:* `nil`) - The list of path patterns to match. Each must start with / and the only place a * is allowed is at the end following a /. The string fed to the path matcher does not include any text after the first ? or #, and those chars are not allowed here. - * `routeAction` (*type:* `GoogleApi.Compute.V1.Model.HttpRouteAction.t`, *default:* `nil`) - In response to a matching path, the load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If routeAction specifies any weightedBackendServices, service must not be set. Conversely if service is set, routeAction cannot contain any weightedBackendServices. Only one of routeAction or urlRedirect must be set. URL maps for Classic external HTTP(S) load balancers only support the urlRewrite action within a path rule's routeAction. + * `routeAction` (*type:* `GoogleApi.Compute.V1.Model.HttpRouteAction.t`, *default:* `nil`) - In response to a matching path, the load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If routeAction specifies any weightedBackendServices, service must not be set. Conversely if service is set, routeAction cannot contain any weightedBackendServices. Only one of routeAction or urlRedirect must be set. URL maps for classic Application Load Balancers only support the urlRewrite action within a path rule's routeAction. * `service` (*type:* `String.t`, *default:* `nil`) - The full or partial URL of the backend service resource to which traffic is directed if this rule is matched. If routeAction is also specified, advanced routing actions, such as URL rewrites, take effect before sending the request to the backend. However, if service is specified, routeAction cannot contain any weightedBackendServices. Conversely, if routeAction specifies any weightedBackendServices, service must not be specified. Only one of urlRedirect, service or routeAction.weightedBackendService must be set. * `urlRedirect` (*type:* `GoogleApi.Compute.V1.Model.HttpRedirectAction.t`, *default:* `nil`) - When a path pattern is matched, the request is redirected to a URL specified by urlRedirect. If urlRedirect is specified, service or routeAction must not be set. Not supported when the URL map is bound to a target gRPC proxy. """ diff --git a/clients/compute/lib/google_api/compute/v1/model/policy.ex b/clients/compute/lib/google_api/compute/v1/model/policy.ex index 7a7fbdb7a0..0c07fab45c 100644 --- a/clients/compute/lib/google_api/compute/v1/model/policy.ex +++ b/clients/compute/lib/google_api/compute/v1/model/policy.ex @@ -17,7 +17,7 @@ defmodule GoogleApi.Compute.V1.Model.Policy do @moduledoc """ - An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { "bindings": [ { "role": "roles/resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, { "role": "roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com" ], "condition": { "title": "expirable access", "description": "Does not grant access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag": "BwWWja0YfJA=", "version": 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/). + An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ``` { "bindings": [ { "role": "roles/resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, { "role": "roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com" ], "condition": { "title": "expirable access", "description": "Does not grant access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag": "BwWWja0YfJA=", "version": 3 } ``` **YAML example:** ``` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/). ## Attributes diff --git a/clients/compute/lib/google_api/compute/v1/model/preserved_state.ex b/clients/compute/lib/google_api/compute/v1/model/preserved_state.ex index 805f78ae4d..0b67d0f811 100644 --- a/clients/compute/lib/google_api/compute/v1/model/preserved_state.ex +++ b/clients/compute/lib/google_api/compute/v1/model/preserved_state.ex @@ -22,6 +22,8 @@ defmodule GoogleApi.Compute.V1.Model.PreservedState do ## Attributes * `disks` (*type:* `%{optional(String.t) => GoogleApi.Compute.V1.Model.PreservedStatePreservedDisk.t}`, *default:* `nil`) - Preserved disks defined for this instance. This map is keyed with the device names of the disks. + * `externalIPs` (*type:* `%{optional(String.t) => GoogleApi.Compute.V1.Model.PreservedStatePreservedNetworkIp.t}`, *default:* `nil`) - Preserved external IPs defined for this instance. This map is keyed with the name of the network interface. + * `internalIPs` (*type:* `%{optional(String.t) => GoogleApi.Compute.V1.Model.PreservedStatePreservedNetworkIp.t}`, *default:* `nil`) - Preserved internal IPs defined for this instance. This map is keyed with the name of the network interface. * `metadata` (*type:* `map()`, *default:* `nil`) - Preserved metadata defined for this instance. """ @@ -31,10 +33,24 @@ defmodule GoogleApi.Compute.V1.Model.PreservedState do :disks => %{optional(String.t()) => GoogleApi.Compute.V1.Model.PreservedStatePreservedDisk.t()} | nil, + :externalIPs => + %{ + optional(String.t()) => + GoogleApi.Compute.V1.Model.PreservedStatePreservedNetworkIp.t() + } + | nil, + :internalIPs => + %{ + optional(String.t()) => + GoogleApi.Compute.V1.Model.PreservedStatePreservedNetworkIp.t() + } + | nil, :metadata => map() | nil } field(:disks, as: GoogleApi.Compute.V1.Model.PreservedStatePreservedDisk, type: :map) + field(:externalIPs, as: GoogleApi.Compute.V1.Model.PreservedStatePreservedNetworkIp, type: :map) + field(:internalIPs, as: GoogleApi.Compute.V1.Model.PreservedStatePreservedNetworkIp, type: :map) field(:metadata, type: :map) end diff --git a/clients/compute/lib/google_api/compute/v1/model/preserved_state_preserved_network_ip.ex b/clients/compute/lib/google_api/compute/v1/model/preserved_state_preserved_network_ip.ex new file mode 100644 index 0000000000..fc6754ec3c --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/preserved_state_preserved_network_ip.ex @@ -0,0 +1,50 @@ +# 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.PreservedStatePreservedNetworkIp do + @moduledoc """ + + + ## Attributes + + * `autoDelete` (*type:* `String.t`, *default:* `nil`) - These stateful IPs will never be released during autohealing, update or VM instance recreate operations. This flag is used to configure if the IP reservation should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. + * `ipAddress` (*type:* `GoogleApi.Compute.V1.Model.PreservedStatePreservedNetworkIpIpAddress.t`, *default:* `nil`) - Ip address representation + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :autoDelete => String.t() | nil, + :ipAddress => + GoogleApi.Compute.V1.Model.PreservedStatePreservedNetworkIpIpAddress.t() | nil + } + + field(:autoDelete) + field(:ipAddress, as: GoogleApi.Compute.V1.Model.PreservedStatePreservedNetworkIpIpAddress) +end + +defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.PreservedStatePreservedNetworkIp do + def decode(value, options) do + GoogleApi.Compute.V1.Model.PreservedStatePreservedNetworkIp.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.PreservedStatePreservedNetworkIp 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/preserved_state_preserved_network_ip_ip_address.ex b/clients/compute/lib/google_api/compute/v1/model/preserved_state_preserved_network_ip_ip_address.ex new file mode 100644 index 0000000000..2ab6531465 --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/preserved_state_preserved_network_ip_ip_address.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.Compute.V1.Model.PreservedStatePreservedNetworkIpIpAddress do + @moduledoc """ + + + ## Attributes + + * `address` (*type:* `String.t`, *default:* `nil`) - The URL of the reservation for this IP address. + * `literal` (*type:* `String.t`, *default:* `nil`) - An IPv4 internal network address to assign to the instance for this network interface. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :address => String.t() | nil, + :literal => String.t() | nil + } + + field(:address) + field(:literal) +end + +defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.PreservedStatePreservedNetworkIpIpAddress do + def decode(value, options) do + GoogleApi.Compute.V1.Model.PreservedStatePreservedNetworkIpIpAddress.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.PreservedStatePreservedNetworkIpIpAddress 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/project.ex b/clients/compute/lib/google_api/compute/v1/model/project.ex index 9d1e739534..27355fe62c 100644 --- a/clients/compute/lib/google_api/compute/v1/model/project.ex +++ b/clients/compute/lib/google_api/compute/v1/model/project.ex @@ -21,6 +21,7 @@ defmodule GoogleApi.Compute.V1.Model.Project do ## Attributes + * `cloudArmorTier` (*type:* `String.t`, *default:* `nil`) - [Output Only] The Cloud Armor tier for this project. It can be one of the following values: CA_STANDARD, CA_ENTERPRISE_PAYGO. If this field is not specified, it is assumed to be CA_STANDARD. * `commonInstanceMetadata` (*type:* `GoogleApi.Compute.V1.Model.Metadata.t`, *default:* `nil`) - Metadata key/value pairs available to all instances contained in this project. See Custom metadata for more information. * `creationTimestamp` (*type:* `String.t`, *default:* `nil`) - [Output Only] Creation timestamp in RFC3339 text format. * `defaultNetworkTier` (*type:* `String.t`, *default:* `nil`) - This signifies the default network tier used for configuring resources of the project and can only take the following values: PREMIUM, STANDARD. Initially the default network tier is PREMIUM. @@ -33,12 +34,14 @@ defmodule GoogleApi.Compute.V1.Model.Project do * `quotas` (*type:* `list(GoogleApi.Compute.V1.Model.Quota.t)`, *default:* `nil`) - [Output Only] Quotas assigned to this project. * `selfLink` (*type:* `String.t`, *default:* `nil`) - [Output Only] Server-defined URL for the resource. * `usageExportLocation` (*type:* `GoogleApi.Compute.V1.Model.UsageExportLocation.t`, *default:* `nil`) - The naming prefix for daily usage reports and the Google Cloud Storage bucket where they are stored. + * `vmDnsSetting` (*type:* `String.t`, *default:* `nil`) - [Output Only] Default internal DNS setting used by VMs running in this project. * `xpnProjectStatus` (*type:* `String.t`, *default:* `nil`) - [Output Only] The role this project has in a shared VPC configuration. Currently, only projects with the host role, which is specified by the value HOST, are differentiated. """ use GoogleApi.Gax.ModelBase @type t :: %__MODULE__{ + :cloudArmorTier => String.t() | nil, :commonInstanceMetadata => GoogleApi.Compute.V1.Model.Metadata.t() | nil, :creationTimestamp => String.t() | nil, :defaultNetworkTier => String.t() | nil, @@ -51,9 +54,11 @@ defmodule GoogleApi.Compute.V1.Model.Project do :quotas => list(GoogleApi.Compute.V1.Model.Quota.t()) | nil, :selfLink => String.t() | nil, :usageExportLocation => GoogleApi.Compute.V1.Model.UsageExportLocation.t() | nil, + :vmDnsSetting => String.t() | nil, :xpnProjectStatus => String.t() | nil } + field(:cloudArmorTier) field(:commonInstanceMetadata, as: GoogleApi.Compute.V1.Model.Metadata) field(:creationTimestamp) field(:defaultNetworkTier) @@ -66,6 +71,7 @@ defmodule GoogleApi.Compute.V1.Model.Project do field(:quotas, as: GoogleApi.Compute.V1.Model.Quota, type: :list) field(:selfLink) field(:usageExportLocation, as: GoogleApi.Compute.V1.Model.UsageExportLocation) + field(:vmDnsSetting) field(:xpnProjectStatus) end diff --git a/clients/compute/lib/google_api/compute/v1/model/projects_set_cloud_armor_tier_request.ex b/clients/compute/lib/google_api/compute/v1/model/projects_set_cloud_armor_tier_request.ex new file mode 100644 index 0000000000..1d7d325cf5 --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/projects_set_cloud_armor_tier_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.Compute.V1.Model.ProjectsSetCloudArmorTierRequest do + @moduledoc """ + + + ## Attributes + + * `cloudArmorTier` (*type:* `String.t`, *default:* `nil`) - Managed protection tier to be set. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :cloudArmorTier => String.t() | nil + } + + field(:cloudArmorTier) +end + +defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.ProjectsSetCloudArmorTierRequest do + def decode(value, options) do + GoogleApi.Compute.V1.Model.ProjectsSetCloudArmorTierRequest.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.ProjectsSetCloudArmorTierRequest 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/public_advertised_prefix.ex b/clients/compute/lib/google_api/compute/v1/model/public_advertised_prefix.ex index 0d0e063bc1..14544b7461 100644 --- a/clients/compute/lib/google_api/compute/v1/model/public_advertised_prefix.ex +++ b/clients/compute/lib/google_api/compute/v1/model/public_advertised_prefix.ex @@ -21,14 +21,16 @@ defmodule GoogleApi.Compute.V1.Model.PublicAdvertisedPrefix do ## Attributes + * `byoipApiVersion` (*type:* `String.t`, *default:* `nil`) - [Output Only] The version of BYOIP API. * `creationTimestamp` (*type:* `String.t`, *default:* `nil`) - [Output Only] Creation timestamp in RFC3339 text format. * `description` (*type:* `String.t`, *default:* `nil`) - An optional description of this resource. Provide this property when you create the resource. - * `dnsVerificationIp` (*type:* `String.t`, *default:* `nil`) - The IPv4 address to be used for reverse DNS verification. + * `dnsVerificationIp` (*type:* `String.t`, *default:* `nil`) - The address to be used for reverse DNS verification. * `fingerprint` (*type:* `String.t`, *default:* `nil`) - Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field will be ignored when inserting a new PublicAdvertisedPrefix. An up-to-date fingerprint must be provided in order to update the PublicAdvertisedPrefix, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve a PublicAdvertisedPrefix. * `id` (*type:* `String.t`, *default:* `nil`) - [Output Only] The unique identifier for the resource type. The server generates this identifier. - * `ipCidrRange` (*type:* `String.t`, *default:* `nil`) - The IPv4 address range, in CIDR format, represented by this public advertised prefix. + * `ipCidrRange` (*type:* `String.t`, *default:* `nil`) - The address range, in CIDR format, represented by this public advertised prefix. * `kind` (*type:* `String.t`, *default:* `compute#publicAdvertisedPrefix`) - [Output Only] Type of the resource. Always compute#publicAdvertisedPrefix for public advertised prefixes. * `name` (*type:* `String.t`, *default:* `nil`) - Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. + * `pdpScope` (*type:* `String.t`, *default:* `nil`) - Specifies how child public delegated prefix will be scoped. It could be one of following values: - `REGIONAL`: The public delegated prefix is regional only. The provisioning will take a few minutes. - `GLOBAL`: The public delegated prefix is global only. The provisioning will take ~4 weeks. - `GLOBAL_AND_REGIONAL` [output only]: The public delegated prefixes is BYOIP V1 legacy prefix. This is output only value and no longer supported in BYOIP V2. * `publicDelegatedPrefixs` (*type:* `list(GoogleApi.Compute.V1.Model.PublicAdvertisedPrefixPublicDelegatedPrefix.t)`, *default:* `nil`) - [Output Only] The list of public delegated prefixes that exist for this public advertised prefix. * `selfLink` (*type:* `String.t`, *default:* `nil`) - [Output Only] Server-defined URL for the resource. * `sharedSecret` (*type:* `String.t`, *default:* `nil`) - [Output Only] The shared secret to be used for reverse DNS verification. @@ -38,6 +40,7 @@ defmodule GoogleApi.Compute.V1.Model.PublicAdvertisedPrefix do use GoogleApi.Gax.ModelBase @type t :: %__MODULE__{ + :byoipApiVersion => String.t() | nil, :creationTimestamp => String.t() | nil, :description => String.t() | nil, :dnsVerificationIp => String.t() | nil, @@ -46,6 +49,7 @@ defmodule GoogleApi.Compute.V1.Model.PublicAdvertisedPrefix do :ipCidrRange => String.t() | nil, :kind => String.t() | nil, :name => String.t() | nil, + :pdpScope => String.t() | nil, :publicDelegatedPrefixs => list(GoogleApi.Compute.V1.Model.PublicAdvertisedPrefixPublicDelegatedPrefix.t()) | nil, :selfLink => String.t() | nil, @@ -53,6 +57,7 @@ defmodule GoogleApi.Compute.V1.Model.PublicAdvertisedPrefix do :status => String.t() | nil } + field(:byoipApiVersion) field(:creationTimestamp) field(:description) field(:dnsVerificationIp) @@ -61,6 +66,7 @@ defmodule GoogleApi.Compute.V1.Model.PublicAdvertisedPrefix do field(:ipCidrRange) field(:kind) field(:name) + field(:pdpScope) field(:publicDelegatedPrefixs, as: GoogleApi.Compute.V1.Model.PublicAdvertisedPrefixPublicDelegatedPrefix, diff --git a/clients/compute/lib/google_api/compute/v1/model/public_delegated_prefix.ex b/clients/compute/lib/google_api/compute/v1/model/public_delegated_prefix.ex index 0b55eda4d4..92a381bcde 100644 --- a/clients/compute/lib/google_api/compute/v1/model/public_delegated_prefix.ex +++ b/clients/compute/lib/google_api/compute/v1/model/public_delegated_prefix.ex @@ -21,11 +21,12 @@ defmodule GoogleApi.Compute.V1.Model.PublicDelegatedPrefix do ## Attributes + * `byoipApiVersion` (*type:* `String.t`, *default:* `nil`) - [Output Only] The version of BYOIP API. * `creationTimestamp` (*type:* `String.t`, *default:* `nil`) - [Output Only] Creation timestamp in RFC3339 text format. * `description` (*type:* `String.t`, *default:* `nil`) - An optional description of this resource. Provide this property when you create the resource. * `fingerprint` (*type:* `String.t`, *default:* `nil`) - Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field will be ignored when inserting a new PublicDelegatedPrefix. An up-to-date fingerprint must be provided in order to update the PublicDelegatedPrefix, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve a PublicDelegatedPrefix. * `id` (*type:* `String.t`, *default:* `nil`) - [Output Only] The unique identifier for the resource type. The server generates this identifier. - * `ipCidrRange` (*type:* `String.t`, *default:* `nil`) - The IPv4 address range, in CIDR format, represented by this public delegated prefix. + * `ipCidrRange` (*type:* `String.t`, *default:* `nil`) - The IP address range, in CIDR format, represented by this public delegated prefix. * `isLiveMigration` (*type:* `boolean()`, *default:* `nil`) - If true, the prefix will be live migrated. * `kind` (*type:* `String.t`, *default:* `compute#publicDelegatedPrefix`) - [Output Only] Type of the resource. Always compute#publicDelegatedPrefix for public delegated prefixes. * `name` (*type:* `String.t`, *default:* `nil`) - Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. @@ -39,6 +40,7 @@ defmodule GoogleApi.Compute.V1.Model.PublicDelegatedPrefix do use GoogleApi.Gax.ModelBase @type t :: %__MODULE__{ + :byoipApiVersion => String.t() | nil, :creationTimestamp => String.t() | nil, :description => String.t() | nil, :fingerprint => String.t() | nil, @@ -56,6 +58,7 @@ defmodule GoogleApi.Compute.V1.Model.PublicDelegatedPrefix do :status => String.t() | nil } + field(:byoipApiVersion) field(:creationTimestamp) field(:description) field(:fingerprint) diff --git a/clients/compute/lib/google_api/compute/v1/model/public_delegated_prefix_public_delegated_sub_prefix.ex b/clients/compute/lib/google_api/compute/v1/model/public_delegated_prefix_public_delegated_sub_prefix.ex index 030b0c4f1f..b5350ef7e9 100644 --- a/clients/compute/lib/google_api/compute/v1/model/public_delegated_prefix_public_delegated_sub_prefix.ex +++ b/clients/compute/lib/google_api/compute/v1/model/public_delegated_prefix_public_delegated_sub_prefix.ex @@ -23,7 +23,7 @@ defmodule GoogleApi.Compute.V1.Model.PublicDelegatedPrefixPublicDelegatedSubPref * `delegateeProject` (*type:* `String.t`, *default:* `nil`) - Name of the project scoping this PublicDelegatedSubPrefix. * `description` (*type:* `String.t`, *default:* `nil`) - An optional description of this resource. Provide this property when you create the resource. - * `ipCidrRange` (*type:* `String.t`, *default:* `nil`) - The IPv4 address range, in CIDR format, represented by this sub public delegated prefix. + * `ipCidrRange` (*type:* `String.t`, *default:* `nil`) - The IP address range, in CIDR format, represented by this sub public delegated prefix. * `isAddress` (*type:* `boolean()`, *default:* `nil`) - Whether the sub prefix is delegated to create Address resources in the delegatee project. * `name` (*type:* `String.t`, *default:* `nil`) - The name of the sub public delegated prefix. * `region` (*type:* `String.t`, *default:* `nil`) - [Output Only] The region of the sub public delegated prefix if it is regional. If absent, the sub prefix is global. diff --git a/clients/compute/lib/google_api/compute/v1/model/quota_exceeded_info.ex b/clients/compute/lib/google_api/compute/v1/model/quota_exceeded_info.ex index 0ea7f5bc96..d3846818ce 100644 --- a/clients/compute/lib/google_api/compute/v1/model/quota_exceeded_info.ex +++ b/clients/compute/lib/google_api/compute/v1/model/quota_exceeded_info.ex @@ -22,24 +22,30 @@ defmodule GoogleApi.Compute.V1.Model.QuotaExceededInfo do ## Attributes * `dimensions` (*type:* `map()`, *default:* `nil`) - The map holding related quota dimensions. + * `futureLimit` (*type:* `float()`, *default:* `nil`) - Future quota limit being rolled out. The limit's unit depends on the quota type or metric. * `limit` (*type:* `float()`, *default:* `nil`) - Current effective quota limit. The limit's unit depends on the quota type or metric. * `limitName` (*type:* `String.t`, *default:* `nil`) - The name of the quota limit. * `metricName` (*type:* `String.t`, *default:* `nil`) - The Compute Engine quota metric name. + * `rolloutStatus` (*type:* `String.t`, *default:* `nil`) - Rollout status of the future quota limit. """ use GoogleApi.Gax.ModelBase @type t :: %__MODULE__{ :dimensions => map() | nil, + :futureLimit => float() | nil, :limit => float() | nil, :limitName => String.t() | nil, - :metricName => String.t() | nil + :metricName => String.t() | nil, + :rolloutStatus => String.t() | nil } field(:dimensions, type: :map) + field(:futureLimit) field(:limit) field(:limitName) field(:metricName) + field(:rolloutStatus) end defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.QuotaExceededInfo do diff --git a/clients/compute/lib/google_api/compute/v1/model/region_addresses_move_request.ex b/clients/compute/lib/google_api/compute/v1/model/region_addresses_move_request.ex new file mode 100644 index 0000000000..e2ea7231eb --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/region_addresses_move_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.Compute.V1.Model.RegionAddressesMoveRequest do + @moduledoc """ + + + ## Attributes + + * `description` (*type:* `String.t`, *default:* `nil`) - An optional destination address description if intended to be different from the source. + * `destinationAddress` (*type:* `String.t`, *default:* `nil`) - The URL of the destination address to move to. This can be a full or partial URL. For example, the following are all valid URLs to a address: - https://www.googleapis.com/compute/v1/projects/project/regions/region /addresses/address - projects/project/regions/region/addresses/address Note that destination project must be different from the source project. So /regions/region/addresses/address is not valid partial url. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :description => String.t() | nil, + :destinationAddress => String.t() | nil + } + + field(:description) + field(:destinationAddress) +end + +defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.RegionAddressesMoveRequest do + def decode(value, options) do + GoogleApi.Compute.V1.Model.RegionAddressesMoveRequest.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.RegionAddressesMoveRequest 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_disks_start_async_replication_request.ex b/clients/compute/lib/google_api/compute/v1/model/region_disks_start_async_replication_request.ex new file mode 100644 index 0000000000..a23c14bcd1 --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/region_disks_start_async_replication_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.Compute.V1.Model.RegionDisksStartAsyncReplicationRequest do + @moduledoc """ + + + ## Attributes + + * `asyncSecondaryDisk` (*type:* `String.t`, *default:* `nil`) - The secondary disk to start asynchronous replication to. You can provide this as a partial or full URL to the resource. For example, the following are valid values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /disks/disk - https://www.googleapis.com/compute/v1/projects/project/regions/region /disks/disk - projects/project/zones/zone/disks/disk - projects/project/regions/region/disks/disk - zones/zone/disks/disk - regions/region/disks/disk + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :asyncSecondaryDisk => String.t() | nil + } + + field(:asyncSecondaryDisk) +end + +defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.RegionDisksStartAsyncReplicationRequest do + def decode(value, options) do + GoogleApi.Compute.V1.Model.RegionDisksStartAsyncReplicationRequest.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.RegionDisksStartAsyncReplicationRequest 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_instance_group_managers_apply_updates_request.ex b/clients/compute/lib/google_api/compute/v1/model/region_instance_group_managers_apply_updates_request.ex index 67da0747c7..a1826c0141 100644 --- a/clients/compute/lib/google_api/compute/v1/model/region_instance_group_managers_apply_updates_request.ex +++ b/clients/compute/lib/google_api/compute/v1/model/region_instance_group_managers_apply_updates_request.ex @@ -23,8 +23,8 @@ defmodule GoogleApi.Compute.V1.Model.RegionInstanceGroupManagersApplyUpdatesRequ * `allInstances` (*type:* `boolean()`, *default:* `nil`) - Flag to update all instances instead of specified list of “instances”. If the flag is set to true then the instances may not be specified in the request. * `instances` (*type:* `list(String.t)`, *default:* `nil`) - The list of URLs of one or more instances for which you want to apply updates. Each URL can be a full URL or a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME]. - * `minimalAction` (*type:* `String.t`, *default:* `nil`) - The minimal action that you want to perform on each instance during the update: - REPLACE: At minimum, delete the instance and create it again. - RESTART: Stop the instance and start it again. - REFRESH: Do not stop the instance. - NONE: Do not disrupt the instance at all. By default, the minimum action is NONE. If your update requires a more disruptive action than you set with this flag, the necessary action is performed to execute the update. - * `mostDisruptiveAllowedAction` (*type:* `String.t`, *default:* `nil`) - The most disruptive action that you want to perform on each instance during the update: - REPLACE: Delete the instance and create it again. - RESTART: Stop the instance and start it again. - REFRESH: Do not stop the instance. - NONE: Do not disrupt the instance at all. By default, the most disruptive allowed action is REPLACE. If your update requires a more disruptive action than you set with this flag, the update request will fail. + * `minimalAction` (*type:* `String.t`, *default:* `nil`) - The minimal action that you want to perform on each instance during the update: - REPLACE: At minimum, delete the instance and create it again. - RESTART: Stop the instance and start it again. - REFRESH: Do not stop the instance and limit disruption as much as possible. - NONE: Do not disrupt the instance at all. By default, the minimum action is NONE. If your update requires a more disruptive action than you set with this flag, the necessary action is performed to execute the update. + * `mostDisruptiveAllowedAction` (*type:* `String.t`, *default:* `nil`) - The most disruptive action that you want to perform on each instance during the update: - REPLACE: Delete the instance and create it again. - RESTART: Stop the instance and start it again. - REFRESH: Do not stop the instance and limit disruption as much as possible. - NONE: Do not disrupt the instance at all. By default, the most disruptive allowed action is REPLACE. If your update requires a more disruptive action than you set with this flag, the update request will fail. """ use GoogleApi.Gax.ModelBase diff --git a/clients/compute/lib/google_api/compute/v1/model/region_network_endpoint_groups_attach_endpoints_request.ex b/clients/compute/lib/google_api/compute/v1/model/region_network_endpoint_groups_attach_endpoints_request.ex new file mode 100644 index 0000000000..0284f9a3cf --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/region_network_endpoint_groups_attach_endpoints_request.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.Compute.V1.Model.RegionNetworkEndpointGroupsAttachEndpointsRequest do + @moduledoc """ + + + ## Attributes + + * `networkEndpoints` (*type:* `list(GoogleApi.Compute.V1.Model.NetworkEndpoint.t)`, *default:* `nil`) - The list of network endpoints to be attached. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :networkEndpoints => list(GoogleApi.Compute.V1.Model.NetworkEndpoint.t()) | nil + } + + field(:networkEndpoints, as: GoogleApi.Compute.V1.Model.NetworkEndpoint, type: :list) +end + +defimpl Poison.Decoder, + for: GoogleApi.Compute.V1.Model.RegionNetworkEndpointGroupsAttachEndpointsRequest do + def decode(value, options) do + GoogleApi.Compute.V1.Model.RegionNetworkEndpointGroupsAttachEndpointsRequest.decode( + value, + options + ) + end +end + +defimpl Poison.Encoder, + for: GoogleApi.Compute.V1.Model.RegionNetworkEndpointGroupsAttachEndpointsRequest 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_endpoint_groups_detach_endpoints_request.ex b/clients/compute/lib/google_api/compute/v1/model/region_network_endpoint_groups_detach_endpoints_request.ex new file mode 100644 index 0000000000..a4015cb0cc --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/region_network_endpoint_groups_detach_endpoints_request.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.Compute.V1.Model.RegionNetworkEndpointGroupsDetachEndpointsRequest do + @moduledoc """ + + + ## Attributes + + * `networkEndpoints` (*type:* `list(GoogleApi.Compute.V1.Model.NetworkEndpoint.t)`, *default:* `nil`) - The list of network endpoints to be detached. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :networkEndpoints => list(GoogleApi.Compute.V1.Model.NetworkEndpoint.t()) | nil + } + + field(:networkEndpoints, as: GoogleApi.Compute.V1.Model.NetworkEndpoint, type: :list) +end + +defimpl Poison.Decoder, + for: GoogleApi.Compute.V1.Model.RegionNetworkEndpointGroupsDetachEndpointsRequest do + def decode(value, options) do + GoogleApi.Compute.V1.Model.RegionNetworkEndpointGroupsDetachEndpointsRequest.decode( + value, + options + ) + end +end + +defimpl Poison.Encoder, + for: GoogleApi.Compute.V1.Model.RegionNetworkEndpointGroupsDetachEndpointsRequest 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/reservation.ex b/clients/compute/lib/google_api/compute/v1/model/reservation.ex index 828813af25..7f113d7aed 100644 --- a/clients/compute/lib/google_api/compute/v1/model/reservation.ex +++ b/clients/compute/lib/google_api/compute/v1/model/reservation.ex @@ -21,12 +21,15 @@ defmodule GoogleApi.Compute.V1.Model.Reservation do ## Attributes + * `aggregateReservation` (*type:* `GoogleApi.Compute.V1.Model.AllocationAggregateReservation.t`, *default:* `nil`) - Reservation for aggregated resources, providing shape flexibility. * `commitment` (*type:* `String.t`, *default:* `nil`) - [Output Only] Full or partial URL to a parent commitment. This field displays for reservations that are tied to a commitment. * `creationTimestamp` (*type:* `String.t`, *default:* `nil`) - [Output Only] Creation timestamp in RFC3339 text format. * `description` (*type:* `String.t`, *default:* `nil`) - An optional description of this resource. Provide this property when you create the resource. * `id` (*type:* `String.t`, *default:* `nil`) - [Output Only] The unique identifier for the resource. This identifier is defined by the server. * `kind` (*type:* `String.t`, *default:* `compute#reservation`) - [Output Only] Type of the resource. Always compute#reservations for reservations. * `name` (*type:* `String.t`, *default:* `nil`) - The name of the resource, provided by the client when initially creating the resource. The resource name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. + * `resourcePolicies` (*type:* `map()`, *default:* `nil`) - Resource policies to be added to this reservation. The key is defined by user, and the value is resource policy url. This is to define placement policy with reservation. + * `resourceStatus` (*type:* `GoogleApi.Compute.V1.Model.AllocationResourceStatus.t`, *default:* `nil`) - [Output Only] Status information for Reservation resource. * `satisfiesPzs` (*type:* `boolean()`, *default:* `nil`) - [Output Only] Reserved for future use. * `selfLink` (*type:* `String.t`, *default:* `nil`) - [Output Only] Server-defined fully-qualified URL for this resource. * `shareSettings` (*type:* `GoogleApi.Compute.V1.Model.ShareSettings.t`, *default:* `nil`) - Specify share-settings to create a shared reservation. This property is optional. For more information about the syntax and options for this field and its subfields, see the guide for creating a shared reservation. @@ -39,12 +42,16 @@ defmodule GoogleApi.Compute.V1.Model.Reservation do use GoogleApi.Gax.ModelBase @type t :: %__MODULE__{ + :aggregateReservation => + GoogleApi.Compute.V1.Model.AllocationAggregateReservation.t() | nil, :commitment => String.t() | nil, :creationTimestamp => String.t() | nil, :description => String.t() | nil, :id => String.t() | nil, :kind => String.t() | nil, :name => String.t() | nil, + :resourcePolicies => map() | nil, + :resourceStatus => GoogleApi.Compute.V1.Model.AllocationResourceStatus.t() | nil, :satisfiesPzs => boolean() | nil, :selfLink => String.t() | nil, :shareSettings => GoogleApi.Compute.V1.Model.ShareSettings.t() | nil, @@ -55,12 +62,15 @@ defmodule GoogleApi.Compute.V1.Model.Reservation do :zone => String.t() | nil } + field(:aggregateReservation, as: GoogleApi.Compute.V1.Model.AllocationAggregateReservation) field(:commitment) field(:creationTimestamp) field(:description) field(:id) field(:kind) field(:name) + field(:resourcePolicies, type: :map) + field(:resourceStatus, as: GoogleApi.Compute.V1.Model.AllocationResourceStatus) field(:satisfiesPzs) field(:selfLink) field(:shareSettings, as: GoogleApi.Compute.V1.Model.ShareSettings) diff --git a/clients/compute/lib/google_api/compute/v1/model/resource_commitment.ex b/clients/compute/lib/google_api/compute/v1/model/resource_commitment.ex index 39494c6f1b..dff4b15b21 100644 --- a/clients/compute/lib/google_api/compute/v1/model/resource_commitment.ex +++ b/clients/compute/lib/google_api/compute/v1/model/resource_commitment.ex @@ -23,7 +23,7 @@ defmodule GoogleApi.Compute.V1.Model.ResourceCommitment do * `acceleratorType` (*type:* `String.t`, *default:* `nil`) - Name of the accelerator type resource. Applicable only when the type is ACCELERATOR. * `amount` (*type:* `String.t`, *default:* `nil`) - The amount of the resource purchased (in a type-dependent unit, such as bytes). For vCPUs, this can just be an integer. For memory, this must be provided in MB. Memory must be a multiple of 256 MB, with up to 6.5GB of memory per every vCPU. - * `type` (*type:* `String.t`, *default:* `nil`) - Type of resource for which this commitment applies. Possible values are VCPU and MEMORY + * `type` (*type:* `String.t`, *default:* `nil`) - Type of resource for which this commitment applies. Possible values are VCPU, MEMORY, LOCAL_SSD, and ACCELERATOR. """ use GoogleApi.Gax.ModelBase diff --git a/clients/compute/lib/google_api/compute/v1/model/resource_policy.ex b/clients/compute/lib/google_api/compute/v1/model/resource_policy.ex index f009b4dde1..6e1504b512 100644 --- a/clients/compute/lib/google_api/compute/v1/model/resource_policy.ex +++ b/clients/compute/lib/google_api/compute/v1/model/resource_policy.ex @@ -23,6 +23,7 @@ defmodule GoogleApi.Compute.V1.Model.ResourcePolicy do * `creationTimestamp` (*type:* `String.t`, *default:* `nil`) - [Output Only] Creation timestamp in RFC3339 text format. * `description` (*type:* `String.t`, *default:* `nil`) - + * `diskConsistencyGroupPolicy` (*type:* `GoogleApi.Compute.V1.Model.ResourcePolicyDiskConsistencyGroupPolicy.t`, *default:* `nil`) - Resource policy for disk consistency groups. * `groupPlacementPolicy` (*type:* `GoogleApi.Compute.V1.Model.ResourcePolicyGroupPlacementPolicy.t`, *default:* `nil`) - Resource policy for instances for placement configuration. * `id` (*type:* `String.t`, *default:* `nil`) - [Output Only] The unique identifier for the resource. This identifier is defined by the server. * `instanceSchedulePolicy` (*type:* `GoogleApi.Compute.V1.Model.ResourcePolicyInstanceSchedulePolicy.t`, *default:* `nil`) - Resource policy for scheduling instance operations. @@ -40,6 +41,8 @@ defmodule GoogleApi.Compute.V1.Model.ResourcePolicy do @type t :: %__MODULE__{ :creationTimestamp => String.t() | nil, :description => String.t() | nil, + :diskConsistencyGroupPolicy => + GoogleApi.Compute.V1.Model.ResourcePolicyDiskConsistencyGroupPolicy.t() | nil, :groupPlacementPolicy => GoogleApi.Compute.V1.Model.ResourcePolicyGroupPlacementPolicy.t() | nil, :id => String.t() | nil, @@ -57,6 +60,11 @@ defmodule GoogleApi.Compute.V1.Model.ResourcePolicy do field(:creationTimestamp) field(:description) + + field(:diskConsistencyGroupPolicy, + as: GoogleApi.Compute.V1.Model.ResourcePolicyDiskConsistencyGroupPolicy + ) + field(:groupPlacementPolicy, as: GoogleApi.Compute.V1.Model.ResourcePolicyGroupPlacementPolicy) field(:id) diff --git a/clients/compute/lib/google_api/compute/v1/model/resource_policy_disk_consistency_group_policy.ex b/clients/compute/lib/google_api/compute/v1/model/resource_policy_disk_consistency_group_policy.ex new file mode 100644 index 0000000000..787326fff7 --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/resource_policy_disk_consistency_group_policy.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.Compute.V1.Model.ResourcePolicyDiskConsistencyGroupPolicy do + @moduledoc """ + Resource policy for disk consistency groups. + + ## Attributes + + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{} +end + +defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.ResourcePolicyDiskConsistencyGroupPolicy do + def decode(value, options) do + GoogleApi.Compute.V1.Model.ResourcePolicyDiskConsistencyGroupPolicy.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.ResourcePolicyDiskConsistencyGroupPolicy 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/resource_policy_instance_schedule_policy.ex b/clients/compute/lib/google_api/compute/v1/model/resource_policy_instance_schedule_policy.ex index e41f5b4f5c..3459dc6867 100644 --- a/clients/compute/lib/google_api/compute/v1/model/resource_policy_instance_schedule_policy.ex +++ b/clients/compute/lib/google_api/compute/v1/model/resource_policy_instance_schedule_policy.ex @@ -23,7 +23,7 @@ defmodule GoogleApi.Compute.V1.Model.ResourcePolicyInstanceSchedulePolicy do * `expirationTime` (*type:* `String.t`, *default:* `nil`) - The expiration time of the schedule. The timestamp is an RFC3339 string. * `startTime` (*type:* `String.t`, *default:* `nil`) - The start time of the schedule. The timestamp is an RFC3339 string. - * `timeZone` (*type:* `String.t`, *default:* `nil`) - Specifies the time zone to be used in interpreting Schedule.schedule. The value of this field must be a time zone name from the tz database: http://en.wikipedia.org/wiki/Tz_database. + * `timeZone` (*type:* `String.t`, *default:* `nil`) - Specifies the time zone to be used in interpreting Schedule.schedule. The value of this field must be a time zone name from the tz database: https://wikipedia.org/wiki/Tz_database. * `vmStartSchedule` (*type:* `GoogleApi.Compute.V1.Model.ResourcePolicyInstanceSchedulePolicySchedule.t`, *default:* `nil`) - Specifies the schedule for starting instances. * `vmStopSchedule` (*type:* `GoogleApi.Compute.V1.Model.ResourcePolicyInstanceSchedulePolicySchedule.t`, *default:* `nil`) - Specifies the schedule for stopping instances. """ diff --git a/clients/compute/lib/google_api/compute/v1/model/resource_status.ex b/clients/compute/lib/google_api/compute/v1/model/resource_status.ex index 21f880ca47..ded2bf2847 100644 --- a/clients/compute/lib/google_api/compute/v1/model/resource_status.ex +++ b/clients/compute/lib/google_api/compute/v1/model/resource_status.ex @@ -22,15 +22,18 @@ defmodule GoogleApi.Compute.V1.Model.ResourceStatus do ## Attributes * `physicalHost` (*type:* `String.t`, *default:* `nil`) - [Output Only] An opaque ID of the host on which the VM is running. + * `upcomingMaintenance` (*type:* `GoogleApi.Compute.V1.Model.UpcomingMaintenance.t`, *default:* `nil`) - """ use GoogleApi.Gax.ModelBase @type t :: %__MODULE__{ - :physicalHost => String.t() | nil + :physicalHost => String.t() | nil, + :upcomingMaintenance => GoogleApi.Compute.V1.Model.UpcomingMaintenance.t() | nil } field(:physicalHost) + field(:upcomingMaintenance, as: GoogleApi.Compute.V1.Model.UpcomingMaintenance) end defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.ResourceStatus do diff --git a/clients/compute/lib/google_api/compute/v1/model/route.ex b/clients/compute/lib/google_api/compute/v1/model/route.ex index ae93de04ab..f346bb799b 100644 --- a/clients/compute/lib/google_api/compute/v1/model/route.ex +++ b/clients/compute/lib/google_api/compute/v1/model/route.ex @@ -24,15 +24,16 @@ defmodule GoogleApi.Compute.V1.Model.Route do * `asPaths` (*type:* `list(GoogleApi.Compute.V1.Model.RouteAsPath.t)`, *default:* `nil`) - [Output Only] AS path. * `creationTimestamp` (*type:* `String.t`, *default:* `nil`) - [Output Only] Creation timestamp in RFC3339 text format. * `description` (*type:* `String.t`, *default:* `nil`) - An optional description of this resource. Provide this field when you create the resource. - * `destRange` (*type:* `String.t`, *default:* `nil`) - The destination range of outgoing packets that this route applies to. Both IPv4 and IPv6 are supported. + * `destRange` (*type:* `String.t`, *default:* `nil`) - The destination range of outgoing packets that this route applies to. Both IPv4 and IPv6 are supported. Must specify an IPv4 range (e.g. 192.0.2.0/24) or an IPv6 range in RFC 4291 format (e.g. 2001:db8::/32). IPv6 range will be displayed using RFC 5952 compressed format. * `id` (*type:* `String.t`, *default:* `nil`) - [Output Only] The unique identifier for the resource. This identifier is defined by the server. * `kind` (*type:* `String.t`, *default:* `compute#route`) - [Output Only] Type of this resource. Always compute#routes for Route resources. * `name` (*type:* `String.t`, *default:* `nil`) - Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?`. The first character must be a lowercase letter, and all following characters (except for the last character) must be a dash, lowercase letter, or digit. The last character must be a lowercase letter or digit. * `network` (*type:* `String.t`, *default:* `nil`) - Fully-qualified URL of the network that this route applies to. * `nextHopGateway` (*type:* `String.t`, *default:* `nil`) - The URL to a gateway that should handle matching packets. You can only specify the internet gateway using a full or partial valid URL: projects/ project/global/gateways/default-internet-gateway + * `nextHopHub` (*type:* `String.t`, *default:* `nil`) - [Output Only] The full resource name of the Network Connectivity Center hub that will handle matching packets. * `nextHopIlb` (*type:* `String.t`, *default:* `nil`) - The URL to a forwarding rule of type loadBalancingScheme=INTERNAL that should handle matching packets or the IP address of the forwarding Rule. For example, the following are all valid URLs: - 10.128.0.56 - https://www.googleapis.com/compute/v1/projects/project/regions/region /forwardingRules/forwardingRule - regions/region/forwardingRules/forwardingRule * `nextHopInstance` (*type:* `String.t`, *default:* `nil`) - The URL to an instance that should handle matching packets. You can specify this as a full or partial URL. For example: https://www.googleapis.com/compute/v1/projects/project/zones/zone/instances/ - * `nextHopIp` (*type:* `String.t`, *default:* `nil`) - The network IP address of an instance that should handle matching packets. Only IPv4 is supported. + * `nextHopIp` (*type:* `String.t`, *default:* `nil`) - The network IP address of an instance that should handle matching packets. Both IPv6 address and IPv4 addresses are supported. Must specify an IPv4 address in dot-decimal notation (e.g. 192.0.2.99) or an IPv6 address in RFC 4291 format (e.g. 2001:db8::2d9:51:0:0 or 2001:db8:0:0:2d9:51:0:0). IPv6 addresses will be displayed using RFC 5952 compressed format (e.g. 2001:db8::2d9:51:0:0). Should never be an IPv4-mapped IPv6 address. * `nextHopNetwork` (*type:* `String.t`, *default:* `nil`) - The URL of the local network if it should handle matching packets. * `nextHopPeering` (*type:* `String.t`, *default:* `nil`) - [Output Only] The network peering name that should handle matching packets, which should conform to RFC1035. * `nextHopVpnTunnel` (*type:* `String.t`, *default:* `nil`) - The URL to a VpnTunnel that should handle matching packets. @@ -56,6 +57,7 @@ defmodule GoogleApi.Compute.V1.Model.Route do :name => String.t() | nil, :network => String.t() | nil, :nextHopGateway => String.t() | nil, + :nextHopHub => String.t() | nil, :nextHopIlb => String.t() | nil, :nextHopInstance => String.t() | nil, :nextHopIp => String.t() | nil, @@ -79,6 +81,7 @@ defmodule GoogleApi.Compute.V1.Model.Route do field(:name) field(:network) field(:nextHopGateway) + field(:nextHopHub) field(:nextHopIlb) field(:nextHopInstance) field(:nextHopIp) diff --git a/clients/compute/lib/google_api/compute/v1/model/router.ex b/clients/compute/lib/google_api/compute/v1/model/router.ex index 74385d2390..1db3a6cc4e 100644 --- a/clients/compute/lib/google_api/compute/v1/model/router.ex +++ b/clients/compute/lib/google_api/compute/v1/model/router.ex @@ -27,7 +27,7 @@ defmodule GoogleApi.Compute.V1.Model.Router do * `description` (*type:* `String.t`, *default:* `nil`) - An optional description of this resource. Provide this property when you create the resource. * `encryptedInterconnectRouter` (*type:* `boolean()`, *default:* `nil`) - Indicates if a router is dedicated for use with encrypted VLAN attachments (interconnectAttachments). * `id` (*type:* `String.t`, *default:* `nil`) - [Output Only] The unique identifier for the resource. This identifier is defined by the server. - * `interfaces` (*type:* `list(GoogleApi.Compute.V1.Model.RouterInterface.t)`, *default:* `nil`) - Router interfaces. Each interface requires either one linked resource, (for example, linkedVpnTunnel), or IP address and IP address range (for example, ipRange), or both. + * `interfaces` (*type:* `list(GoogleApi.Compute.V1.Model.RouterInterface.t)`, *default:* `nil`) - Router interfaces. To create a BGP peer that uses a router interface, the interface must have one of the following fields specified: - linkedVpnTunnel - linkedInterconnectAttachment - subnetwork You can create a router interface without any of these fields specified. However, you cannot create a BGP peer that uses that interface. * `kind` (*type:* `String.t`, *default:* `compute#router`) - [Output Only] Type of resource. Always compute#router for routers. * `md5AuthenticationKeys` (*type:* `list(GoogleApi.Compute.V1.Model.RouterMd5AuthenticationKey.t)`, *default:* `nil`) - Keys used for MD5 authentication. * `name` (*type:* `String.t`, *default:* `nil`) - Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. diff --git a/clients/compute/lib/google_api/compute/v1/model/router_bgp_peer.ex b/clients/compute/lib/google_api/compute/v1/model/router_bgp_peer.ex index 391770f6c6..26221f672f 100644 --- a/clients/compute/lib/google_api/compute/v1/model/router_bgp_peer.ex +++ b/clients/compute/lib/google_api/compute/v1/model/router_bgp_peer.ex @@ -22,10 +22,12 @@ defmodule GoogleApi.Compute.V1.Model.RouterBgpPeer do ## Attributes * `advertiseMode` (*type:* `String.t`, *default:* `nil`) - User-specified flag to indicate which mode to use for advertisement. - * `advertisedGroups` (*type:* `list(String.t)`, *default:* `nil`) - User-specified list of prefix groups to advertise in custom mode, which can take one of the following options: - ALL_SUBNETS: Advertises all available subnets, including peer VPC subnets. - ALL_VPC_SUBNETS: Advertises the router's own VPC subnets. Note that this field can only be populated if advertise_mode is CUSTOM and overrides the list defined for the router (in the "bgp" message). These groups are advertised in addition to any specified prefixes. Leave this field blank to advertise no custom groups. + * `advertisedGroups` (*type:* `list(String.t)`, *default:* `nil`) - User-specified list of prefix groups to advertise in custom mode, which currently supports the following option: - ALL_SUBNETS: Advertises all of the router's own VPC subnets. This excludes any routes learned for subnets that use VPC Network Peering. Note that this field can only be populated if advertise_mode is CUSTOM and overrides the list defined for the router (in the "bgp" message). These groups are advertised in addition to any specified prefixes. Leave this field blank to advertise no custom groups. * `advertisedIpRanges` (*type:* `list(GoogleApi.Compute.V1.Model.RouterAdvertisedIpRange.t)`, *default:* `nil`) - User-specified list of individual IP ranges to advertise in custom mode. This field can only be populated if advertise_mode is CUSTOM and overrides the list defined for the router (in the "bgp" message). These IP ranges are advertised in addition to any specified groups. Leave this field blank to advertise no custom IP ranges. * `advertisedRoutePriority` (*type:* `integer()`, *default:* `nil`) - The priority of routes advertised to this BGP peer. Where there is more than one matching route of maximum length, the routes with the lowest priority value win. * `bfd` (*type:* `GoogleApi.Compute.V1.Model.RouterBgpPeerBfd.t`, *default:* `nil`) - BFD configuration for the BGP peering. + * `customLearnedIpRanges` (*type:* `list(GoogleApi.Compute.V1.Model.RouterBgpPeerCustomLearnedIpRange.t)`, *default:* `nil`) - A list of user-defined custom learned route IP address ranges for a BGP session. + * `customLearnedRoutePriority` (*type:* `integer()`, *default:* `nil`) - The user-defined custom learned route priority for a BGP session. This value is applied to all custom learned route ranges for the session. You can choose a value from `0` to `65335`. If you don't provide a value, Google Cloud assigns a priority of `100` to the ranges. * `enable` (*type:* `String.t`, *default:* `nil`) - The status of the BGP peer connection. If set to FALSE, any active session with the peer is terminated and all associated routing information is removed. If set to TRUE, the peer connection can be established with routing information. The default is TRUE. * `enableIpv6` (*type:* `boolean()`, *default:* `nil`) - Enable IPv6 traffic over BGP Peer. If not specified, it is disabled by default. * `interfaceName` (*type:* `String.t`, *default:* `nil`) - Name of the interface the BGP peer is associated with. @@ -49,6 +51,9 @@ defmodule GoogleApi.Compute.V1.Model.RouterBgpPeer do list(GoogleApi.Compute.V1.Model.RouterAdvertisedIpRange.t()) | nil, :advertisedRoutePriority => integer() | nil, :bfd => GoogleApi.Compute.V1.Model.RouterBgpPeerBfd.t() | nil, + :customLearnedIpRanges => + list(GoogleApi.Compute.V1.Model.RouterBgpPeerCustomLearnedIpRange.t()) | nil, + :customLearnedRoutePriority => integer() | nil, :enable => String.t() | nil, :enableIpv6 => boolean() | nil, :interfaceName => String.t() | nil, @@ -68,6 +73,13 @@ defmodule GoogleApi.Compute.V1.Model.RouterBgpPeer do field(:advertisedIpRanges, as: GoogleApi.Compute.V1.Model.RouterAdvertisedIpRange, type: :list) field(:advertisedRoutePriority) field(:bfd, as: GoogleApi.Compute.V1.Model.RouterBgpPeerBfd) + + field(:customLearnedIpRanges, + as: GoogleApi.Compute.V1.Model.RouterBgpPeerCustomLearnedIpRange, + type: :list + ) + + field(:customLearnedRoutePriority) field(:enable) field(:enableIpv6) field(:interfaceName) diff --git a/clients/compute/lib/google_api/compute/v1/model/router_bgp_peer_custom_learned_ip_range.ex b/clients/compute/lib/google_api/compute/v1/model/router_bgp_peer_custom_learned_ip_range.ex new file mode 100644 index 0000000000..d5554b15a2 --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/router_bgp_peer_custom_learned_ip_range.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.Compute.V1.Model.RouterBgpPeerCustomLearnedIpRange do + @moduledoc """ + + + ## Attributes + + * `range` (*type:* `String.t`, *default:* `nil`) - The custom learned route IP address range. Must be a valid CIDR-formatted prefix. If an IP address is provided without a subnet mask, it is interpreted as, for IPv4, a `/32` singular IP address range, and, for IPv6, `/128`. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :range => String.t() | nil + } + + field(:range) +end + +defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.RouterBgpPeerCustomLearnedIpRange do + def decode(value, options) do + GoogleApi.Compute.V1.Model.RouterBgpPeerCustomLearnedIpRange.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.RouterBgpPeerCustomLearnedIpRange 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/router_interface.ex b/clients/compute/lib/google_api/compute/v1/model/router_interface.ex index e758731d38..248eff7d5b 100644 --- a/clients/compute/lib/google_api/compute/v1/model/router_interface.ex +++ b/clients/compute/lib/google_api/compute/v1/model/router_interface.ex @@ -22,8 +22,8 @@ defmodule GoogleApi.Compute.V1.Model.RouterInterface do ## Attributes * `ipRange` (*type:* `String.t`, *default:* `nil`) - IP address and range of the interface. The IP range must be in the RFC3927 link-local IP address space. The value must be a CIDR-formatted string, for example: 169.254.0.1/30. NOTE: Do not truncate the address as it represents the IP address of the interface. - * `linkedInterconnectAttachment` (*type:* `String.t`, *default:* `nil`) - URI of the linked Interconnect attachment. It must be in the same region as the router. Each interface can have one linked resource, which can be a VPN tunnel, an Interconnect attachment, or a virtual machine instance. - * `linkedVpnTunnel` (*type:* `String.t`, *default:* `nil`) - URI of the linked VPN tunnel, which must be in the same region as the router. Each interface can have one linked resource, which can be a VPN tunnel, an Interconnect attachment, or a virtual machine instance. + * `linkedInterconnectAttachment` (*type:* `String.t`, *default:* `nil`) - URI of the linked Interconnect attachment. It must be in the same region as the router. Each interface can have one linked resource, which can be a VPN tunnel, an Interconnect attachment, or a subnetwork. + * `linkedVpnTunnel` (*type:* `String.t`, *default:* `nil`) - URI of the linked VPN tunnel, which must be in the same region as the router. Each interface can have one linked resource, which can be a VPN tunnel, an Interconnect attachment, or a subnetwork. * `managementType` (*type:* `String.t`, *default:* `nil`) - [Output Only] The resource that configures and manages this interface. - MANAGED_BY_USER is the default value and can be managed directly by users. - MANAGED_BY_ATTACHMENT is an interface that is configured and managed by Cloud Interconnect, specifically, by an InterconnectAttachment of type PARTNER. Google automatically creates, updates, and deletes this type of interface when the PARTNER InterconnectAttachment is created, updated, or deleted. * `name` (*type:* `String.t`, *default:* `nil`) - Name of this interface entry. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. * `privateIpAddress` (*type:* `String.t`, *default:* `nil`) - The regional private internal IP address that is used to establish BGP sessions to a VM instance acting as a third-party Router Appliance, such as a Next Gen Firewall, a Virtual Router, or an SD-WAN VM. diff --git a/clients/compute/lib/google_api/compute/v1/model/router_md5_authentication_key.ex b/clients/compute/lib/google_api/compute/v1/model/router_md5_authentication_key.ex index 52d8b3d04e..e9a9e02c96 100644 --- a/clients/compute/lib/google_api/compute/v1/model/router_md5_authentication_key.ex +++ b/clients/compute/lib/google_api/compute/v1/model/router_md5_authentication_key.ex @@ -22,7 +22,7 @@ defmodule GoogleApi.Compute.V1.Model.RouterMd5AuthenticationKey do ## Attributes * `key` (*type:* `String.t`, *default:* `nil`) - [Input only] Value of the key. For patch and update calls, it can be skipped to copy the value from the previous configuration. This is allowed if the key with the same name existed before the operation. Maximum length is 80 characters. Can only contain printable ASCII characters. - * `name` (*type:* `String.t`, *default:* `nil`) - Name used to identify the key. Must be unique within a router. Must be referenced by at least one bgpPeer. Must comply with RFC1035. + * `name` (*type:* `String.t`, *default:* `nil`) - Name used to identify the key. Must be unique within a router. Must be referenced by exactly one bgpPeer. Must comply with RFC1035. """ use GoogleApi.Gax.ModelBase diff --git a/clients/compute/lib/google_api/compute/v1/model/router_nat.ex b/clients/compute/lib/google_api/compute/v1/model/router_nat.ex index 064298c79f..087a9402a5 100644 --- a/clients/compute/lib/google_api/compute/v1/model/router_nat.ex +++ b/clients/compute/lib/google_api/compute/v1/model/router_nat.ex @@ -21,6 +21,7 @@ defmodule GoogleApi.Compute.V1.Model.RouterNat do ## Attributes + * `autoNetworkTier` (*type:* `String.t`, *default:* `nil`) - The network tier to use when automatically reserving NAT IP addresses. Must be one of: PREMIUM, STANDARD. If not specified, then the current project-level default tier is used. * `drainNatIps` (*type:* `list(String.t)`, *default:* `nil`) - A list of URLs of the IP resources to be drained. These IPs must be valid static external IPs that have been assigned to the NAT. These IPs should be used for updating/patching a NAT only. * `enableDynamicPortAllocation` (*type:* `boolean()`, *default:* `nil`) - Enable Dynamic Port Allocation. If not specified, it is disabled by default. If set to true, - Dynamic Port Allocation will be enabled on this NAT config. - enableEndpointIndependentMapping cannot be set to true. - If minPorts is set, minPortsPerVm must be set to a power of two greater than or equal to 32. If minPortsPerVm is not set, a minimum of 32 ports will be allocated to a VM from this NAT config. * `enableEndpointIndependentMapping` (*type:* `boolean()`, *default:* `nil`) - @@ -33,17 +34,19 @@ defmodule GoogleApi.Compute.V1.Model.RouterNat do * `natIpAllocateOption` (*type:* `String.t`, *default:* `nil`) - Specify the NatIpAllocateOption, which can take one of the following values: - MANUAL_ONLY: Uses only Nat IP addresses provided by customers. When there are not enough specified Nat IPs, the Nat service fails for new VMs. - AUTO_ONLY: Nat IPs are allocated by Google Cloud Platform; customers can't specify any Nat IPs. When choosing AUTO_ONLY, then nat_ip should be empty. * `natIps` (*type:* `list(String.t)`, *default:* `nil`) - A list of URLs of the IP resources used for this Nat service. These IP addresses must be valid static external IP addresses assigned to the project. * `rules` (*type:* `list(GoogleApi.Compute.V1.Model.RouterNatRule.t)`, *default:* `nil`) - A list of rules associated with this NAT. - * `sourceSubnetworkIpRangesToNat` (*type:* `String.t`, *default:* `nil`) - Specify the Nat option, which can take one of the following values: - ALL_SUBNETWORKS_ALL_IP_RANGES: All of the IP ranges in every Subnetwork are allowed to Nat. - ALL_SUBNETWORKS_ALL_PRIMARY_IP_RANGES: All of the primary IP ranges in every Subnetwork are allowed to Nat. - LIST_OF_SUBNETWORKS: A list of Subnetworks are allowed to Nat (specified in the field subnetwork below) The default is SUBNETWORK_IP_RANGE_TO_NAT_OPTION_UNSPECIFIED. Note that if this field contains ALL_SUBNETWORKS_ALL_IP_RANGES or ALL_SUBNETWORKS_ALL_PRIMARY_IP_RANGES, then there should not be any other Router.Nat section in any Router for this network in this region. + * `sourceSubnetworkIpRangesToNat` (*type:* `String.t`, *default:* `nil`) - Specify the Nat option, which can take one of the following values: - ALL_SUBNETWORKS_ALL_IP_RANGES: All of the IP ranges in every Subnetwork are allowed to Nat. - ALL_SUBNETWORKS_ALL_PRIMARY_IP_RANGES: All of the primary IP ranges in every Subnetwork are allowed to Nat. - LIST_OF_SUBNETWORKS: A list of Subnetworks are allowed to Nat (specified in the field subnetwork below) The default is SUBNETWORK_IP_RANGE_TO_NAT_OPTION_UNSPECIFIED. Note that if this field contains ALL_SUBNETWORKS_ALL_IP_RANGES then there should not be any other Router.Nat section in any Router for this network in this region. * `subnetworks` (*type:* `list(GoogleApi.Compute.V1.Model.RouterNatSubnetworkToNat.t)`, *default:* `nil`) - A list of Subnetwork resources whose traffic should be translated by NAT Gateway. It is used only when LIST_OF_SUBNETWORKS is selected for the SubnetworkIpRangeToNatOption above. * `tcpEstablishedIdleTimeoutSec` (*type:* `integer()`, *default:* `nil`) - Timeout (in seconds) for TCP established connections. Defaults to 1200s if not set. * `tcpTimeWaitTimeoutSec` (*type:* `integer()`, *default:* `nil`) - Timeout (in seconds) for TCP connections that are in TIME_WAIT state. Defaults to 120s if not set. * `tcpTransitoryIdleTimeoutSec` (*type:* `integer()`, *default:* `nil`) - Timeout (in seconds) for TCP transitory connections. Defaults to 30s if not set. + * `type` (*type:* `String.t`, *default:* `nil`) - Indicates whether this NAT is used for public or private IP translation. If unspecified, it defaults to PUBLIC. * `udpIdleTimeoutSec` (*type:* `integer()`, *default:* `nil`) - Timeout (in seconds) for UDP connections. Defaults to 30s if not set. """ use GoogleApi.Gax.ModelBase @type t :: %__MODULE__{ + :autoNetworkTier => String.t() | nil, :drainNatIps => list(String.t()) | nil, :enableDynamicPortAllocation => boolean() | nil, :enableEndpointIndependentMapping => boolean() | nil, @@ -61,9 +64,11 @@ defmodule GoogleApi.Compute.V1.Model.RouterNat do :tcpEstablishedIdleTimeoutSec => integer() | nil, :tcpTimeWaitTimeoutSec => integer() | nil, :tcpTransitoryIdleTimeoutSec => integer() | nil, + :type => String.t() | nil, :udpIdleTimeoutSec => integer() | nil } + field(:autoNetworkTier) field(:drainNatIps, type: :list) field(:enableDynamicPortAllocation) field(:enableEndpointIndependentMapping) @@ -81,6 +86,7 @@ defmodule GoogleApi.Compute.V1.Model.RouterNat do field(:tcpEstablishedIdleTimeoutSec) field(:tcpTimeWaitTimeoutSec) field(:tcpTransitoryIdleTimeoutSec) + field(:type) field(:udpIdleTimeoutSec) end diff --git a/clients/compute/lib/google_api/compute/v1/model/router_nat_rule.ex b/clients/compute/lib/google_api/compute/v1/model/router_nat_rule.ex index d371b86c2c..487d344934 100644 --- a/clients/compute/lib/google_api/compute/v1/model/router_nat_rule.ex +++ b/clients/compute/lib/google_api/compute/v1/model/router_nat_rule.ex @@ -23,7 +23,7 @@ defmodule GoogleApi.Compute.V1.Model.RouterNatRule do * `action` (*type:* `GoogleApi.Compute.V1.Model.RouterNatRuleAction.t`, *default:* `nil`) - The action to be enforced for traffic that matches this rule. * `description` (*type:* `String.t`, *default:* `nil`) - An optional description of this rule. - * `match` (*type:* `String.t`, *default:* `nil`) - CEL expression that specifies the match condition that egress traffic from a VM is evaluated against. If it evaluates to true, the corresponding `action` is enforced. The following examples are valid match expressions for public NAT: "inIpRange(destination.ip, '1.1.0.0/16') || inIpRange(destination.ip, '2.2.0.0/16')" "destination.ip == '1.1.0.1' || destination.ip == '8.8.8.8'" The following example is a valid match expression for private NAT: "nexthop.hub == 'https://networkconnectivity.googleapis.com/v1alpha1/projects/my-project/global/hub/hub-1'" + * `match` (*type:* `String.t`, *default:* `nil`) - CEL expression that specifies the match condition that egress traffic from a VM is evaluated against. If it evaluates to true, the corresponding `action` is enforced. The following examples are valid match expressions for public NAT: "inIpRange(destination.ip, '1.1.0.0/16') || inIpRange(destination.ip, '2.2.0.0/16')" "destination.ip == '1.1.0.1' || destination.ip == '8.8.8.8'" The following example is a valid match expression for private NAT: "nexthop.hub == '//networkconnectivity.googleapis.com/projects/my-project/locations/global/hubs/hub-1'" * `ruleNumber` (*type:* `integer()`, *default:* `nil`) - An integer uniquely identifying a rule in the list. The rule number must be a positive value between 0 and 65000, and must be unique among rules within a NAT. """ diff --git a/clients/compute/lib/google_api/compute/v1/model/router_nat_rule_action.ex b/clients/compute/lib/google_api/compute/v1/model/router_nat_rule_action.ex index 2882cbe9c9..7303aa5757 100644 --- a/clients/compute/lib/google_api/compute/v1/model/router_nat_rule_action.ex +++ b/clients/compute/lib/google_api/compute/v1/model/router_nat_rule_action.ex @@ -22,18 +22,24 @@ defmodule GoogleApi.Compute.V1.Model.RouterNatRuleAction do ## Attributes * `sourceNatActiveIps` (*type:* `list(String.t)`, *default:* `nil`) - A list of URLs of the IP resources used for this NAT rule. These IP addresses must be valid static external IP addresses assigned to the project. This field is used for public NAT. + * `sourceNatActiveRanges` (*type:* `list(String.t)`, *default:* `nil`) - A list of URLs of the subnetworks used as source ranges for this NAT Rule. These subnetworks must have purpose set to PRIVATE_NAT. This field is used for private NAT. * `sourceNatDrainIps` (*type:* `list(String.t)`, *default:* `nil`) - A list of URLs of the IP resources to be drained. These IPs must be valid static external IPs that have been assigned to the NAT. These IPs should be used for updating/patching a NAT rule only. This field is used for public NAT. + * `sourceNatDrainRanges` (*type:* `list(String.t)`, *default:* `nil`) - A list of URLs of subnetworks representing source ranges to be drained. This is only supported on patch/update, and these subnetworks must have previously been used as active ranges in this NAT Rule. This field is used for private NAT. """ use GoogleApi.Gax.ModelBase @type t :: %__MODULE__{ :sourceNatActiveIps => list(String.t()) | nil, - :sourceNatDrainIps => list(String.t()) | nil + :sourceNatActiveRanges => list(String.t()) | nil, + :sourceNatDrainIps => list(String.t()) | nil, + :sourceNatDrainRanges => list(String.t()) | nil } field(:sourceNatActiveIps, type: :list) + field(:sourceNatActiveRanges, type: :list) field(:sourceNatDrainIps, type: :list) + field(:sourceNatDrainRanges, type: :list) end defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.RouterNatRuleAction do diff --git a/clients/compute/lib/google_api/compute/v1/model/scheduling.ex b/clients/compute/lib/google_api/compute/v1/model/scheduling.ex index b3b26774e5..3b3d6bea67 100644 --- a/clients/compute/lib/google_api/compute/v1/model/scheduling.ex +++ b/clients/compute/lib/google_api/compute/v1/model/scheduling.ex @@ -23,6 +23,7 @@ defmodule GoogleApi.Compute.V1.Model.Scheduling do * `automaticRestart` (*type:* `boolean()`, *default:* `nil`) - Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted. By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine. * `instanceTerminationAction` (*type:* `String.t`, *default:* `nil`) - Specifies the termination action for the instance. + * `localSsdRecoveryTimeout` (*type:* `GoogleApi.Compute.V1.Model.Duration.t`, *default:* `nil`) - Specifies the maximum amount of time a Local Ssd Vm should wait while recovery of the Local Ssd state is attempted. Its value should be in between 0 and 168 hours with hour granularity and the default value being 1 hour. * `locationHint` (*type:* `String.t`, *default:* `nil`) - An opaque location hint used to place the instance close to other resources. This field is for use by internal tools that use the public API. * `minNodeCpus` (*type:* `integer()`, *default:* `nil`) - The minimum number of virtual CPUs this instance will consume when running on a sole-tenant node. * `nodeAffinities` (*type:* `list(GoogleApi.Compute.V1.Model.SchedulingNodeAffinity.t)`, *default:* `nil`) - A set of node affinity and anti-affinity configurations. Refer to Configuring node affinity for more information. Overrides reservationAffinity. @@ -36,6 +37,7 @@ defmodule GoogleApi.Compute.V1.Model.Scheduling do @type t :: %__MODULE__{ :automaticRestart => boolean() | nil, :instanceTerminationAction => String.t() | nil, + :localSsdRecoveryTimeout => GoogleApi.Compute.V1.Model.Duration.t() | nil, :locationHint => String.t() | nil, :minNodeCpus => integer() | nil, :nodeAffinities => list(GoogleApi.Compute.V1.Model.SchedulingNodeAffinity.t()) | nil, @@ -46,6 +48,7 @@ defmodule GoogleApi.Compute.V1.Model.Scheduling do field(:automaticRestart) field(:instanceTerminationAction) + field(:localSsdRecoveryTimeout, as: GoogleApi.Compute.V1.Model.Duration) field(:locationHint) field(:minNodeCpus) field(:nodeAffinities, as: GoogleApi.Compute.V1.Model.SchedulingNodeAffinity, type: :list) diff --git a/clients/compute/lib/google_api/compute/v1/model/security_policy.ex b/clients/compute/lib/google_api/compute/v1/model/security_policy.ex index 53175e0ffc..74e5edfc6d 100644 --- a/clients/compute/lib/google_api/compute/v1/model/security_policy.ex +++ b/clients/compute/lib/google_api/compute/v1/model/security_policy.ex @@ -29,12 +29,15 @@ defmodule GoogleApi.Compute.V1.Model.SecurityPolicy do * `fingerprint` (*type:* `String.t`, *default:* `nil`) - Specifies a fingerprint for this resource, which is essentially a hash of the metadata's contents and used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update metadata. You must always provide an up-to-date fingerprint hash in order to update or change metadata, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make get() request to the security policy. * `id` (*type:* `String.t`, *default:* `nil`) - [Output Only] The unique identifier for the resource. This identifier is defined by the server. * `kind` (*type:* `String.t`, *default:* `compute#securityPolicy`) - [Output only] Type of the resource. Always compute#securityPolicyfor security policies + * `labelFingerprint` (*type:* `String.t`, *default:* `nil`) - A fingerprint for the labels being applied to this security policy, which is essentially a hash of the labels set used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels. To see the latest fingerprint, make get() request to the security policy. + * `labels` (*type:* `map()`, *default:* `nil`) - Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty. * `name` (*type:* `String.t`, *default:* `nil`) - Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. * `recaptchaOptionsConfig` (*type:* `GoogleApi.Compute.V1.Model.SecurityPolicyRecaptchaOptionsConfig.t`, *default:* `nil`) - * `region` (*type:* `String.t`, *default:* `nil`) - [Output Only] URL of the region where the regional security policy resides. This field is not applicable to global security policies. * `rules` (*type:* `list(GoogleApi.Compute.V1.Model.SecurityPolicyRule.t)`, *default:* `nil`) - A list of rules that belong to this policy. There must always be a default rule which is a rule with priority 2147483647 and match all condition (for the match condition this means match "*" for srcIpRanges and for the networkMatch condition every field must be either match "*" or not set). If no rules are provided when creating a security policy, a default rule with action "allow" will be added. * `selfLink` (*type:* `String.t`, *default:* `nil`) - [Output Only] Server-defined URL for the resource. - * `type` (*type:* `String.t`, *default:* `nil`) - The type indicates the intended use of the security policy. - CLOUD_ARMOR: Cloud Armor backend security policies can be configured to filter incoming HTTP requests targeting backend services. They filter requests before they hit the origin servers. - CLOUD_ARMOR_EDGE: Cloud Armor edge security policies can be configured to filter incoming HTTP requests targeting backend services (including Cloud CDN-enabled) as well as backend buckets (Cloud Storage). They filter requests before the request is served from Google's cache. - CLOUD_ARMOR_INTERNAL_SERVICE: Cloud Armor internal service policies can be configured to filter HTTP requests targeting services managed by Traffic Director in a service mesh. They filter requests before the request is served from the application. This field can be set only at resource creation time. + * `type` (*type:* `String.t`, *default:* `nil`) - The type indicates the intended use of the security policy. - CLOUD_ARMOR: Cloud Armor backend security policies can be configured to filter incoming HTTP requests targeting backend services. They filter requests before they hit the origin servers. - CLOUD_ARMOR_EDGE: Cloud Armor edge security policies can be configured to filter incoming HTTP requests targeting backend services (including Cloud CDN-enabled) as well as backend buckets (Cloud Storage). They filter requests before the request is served from Google's cache. - CLOUD_ARMOR_INTERNAL_SERVICE: Cloud Armor internal service policies can be configured to filter HTTP requests targeting services managed by Traffic Director in a service mesh. They filter requests before the request is served from the application. - CLOUD_ARMOR_NETWORK: Cloud Armor network policies can be configured to filter packets targeting network load balancing resources such as backend services, target pools, target instances, and instances with external IPs. They filter requests before the request is served from the application. This field can be set only at resource creation time. + * `userDefinedFields` (*type:* `list(GoogleApi.Compute.V1.Model.SecurityPolicyUserDefinedField.t)`, *default:* `nil`) - Definitions of user-defined fields for CLOUD_ARMOR_NETWORK policies. A user-defined field consists of up to 4 bytes extracted from a fixed offset in the packet, relative to the IPv4, IPv6, TCP, or UDP header, with an optional mask to select certain bits. Rules may then specify matching values for these fields. Example: userDefinedFields: - name: "ipv4_fragment_offset" base: IPV4 offset: 6 size: 2 mask: "0x1fff" """ use GoogleApi.Gax.ModelBase @@ -51,13 +54,17 @@ defmodule GoogleApi.Compute.V1.Model.SecurityPolicy do :fingerprint => String.t() | nil, :id => String.t() | nil, :kind => String.t() | nil, + :labelFingerprint => String.t() | nil, + :labels => map() | nil, :name => String.t() | nil, :recaptchaOptionsConfig => GoogleApi.Compute.V1.Model.SecurityPolicyRecaptchaOptionsConfig.t() | nil, :region => String.t() | nil, :rules => list(GoogleApi.Compute.V1.Model.SecurityPolicyRule.t()) | nil, :selfLink => String.t() | nil, - :type => String.t() | nil + :type => String.t() | nil, + :userDefinedFields => + list(GoogleApi.Compute.V1.Model.SecurityPolicyUserDefinedField.t()) | nil } field(:adaptiveProtectionConfig, @@ -72,6 +79,8 @@ defmodule GoogleApi.Compute.V1.Model.SecurityPolicy do field(:fingerprint) field(:id) field(:kind) + field(:labelFingerprint) + field(:labels, type: :map) field(:name) field(:recaptchaOptionsConfig, @@ -82,6 +91,11 @@ defmodule GoogleApi.Compute.V1.Model.SecurityPolicy do field(:rules, as: GoogleApi.Compute.V1.Model.SecurityPolicyRule, type: :list) field(:selfLink) field(:type) + + field(:userDefinedFields, + as: GoogleApi.Compute.V1.Model.SecurityPolicyUserDefinedField, + type: :list + ) end defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.SecurityPolicy do diff --git a/clients/compute/lib/google_api/compute/v1/model/security_policy_adaptive_protection_config_layer7_ddos_defense_config.ex b/clients/compute/lib/google_api/compute/v1/model/security_policy_adaptive_protection_config_layer7_ddos_defense_config.ex index b93b98cba7..d9461eb359 100644 --- a/clients/compute/lib/google_api/compute/v1/model/security_policy_adaptive_protection_config_layer7_ddos_defense_config.ex +++ b/clients/compute/lib/google_api/compute/v1/model/security_policy_adaptive_protection_config_layer7_ddos_defense_config.ex @@ -17,23 +17,35 @@ defmodule GoogleApi.Compute.V1.Model.SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfig do @moduledoc """ - Configuration options for L7 DDoS detection. + Configuration options for L7 DDoS detection. This field is only supported in Global Security Policies of type CLOUD_ARMOR. ## Attributes - * `enable` (*type:* `boolean()`, *default:* `nil`) - If set to true, enables CAAP for L7 DDoS detection. - * `ruleVisibility` (*type:* `String.t`, *default:* `nil`) - Rule visibility can be one of the following: STANDARD - opaque rules. (default) PREMIUM - transparent rules. + * `enable` (*type:* `boolean()`, *default:* `nil`) - If set to true, enables CAAP for L7 DDoS detection. This field is only supported in Global Security Policies of type CLOUD_ARMOR. + * `ruleVisibility` (*type:* `String.t`, *default:* `nil`) - Rule visibility can be one of the following: STANDARD - opaque rules. (default) PREMIUM - transparent rules. This field is only supported in Global Security Policies of type CLOUD_ARMOR. + * `thresholdConfigs` (*type:* `list(GoogleApi.Compute.V1.Model.SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfig.t)`, *default:* `nil`) - Configuration options for layer7 adaptive protection for various customizable thresholds. """ use GoogleApi.Gax.ModelBase @type t :: %__MODULE__{ :enable => boolean() | nil, - :ruleVisibility => String.t() | nil + :ruleVisibility => String.t() | nil, + :thresholdConfigs => + list( + GoogleApi.Compute.V1.Model.SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfig.t() + ) + | nil } field(:enable) field(:ruleVisibility) + + field(:thresholdConfigs, + as: + GoogleApi.Compute.V1.Model.SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfig, + type: :list + ) end defimpl Poison.Decoder, diff --git a/clients/compute/lib/google_api/compute/v1/model/security_policy_adaptive_protection_config_layer7_ddos_defense_config_threshold_config.ex b/clients/compute/lib/google_api/compute/v1/model/security_policy_adaptive_protection_config_layer7_ddos_defense_config_threshold_config.ex new file mode 100644 index 0000000000..153ad73f9c --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/security_policy_adaptive_protection_config_layer7_ddos_defense_config_threshold_config.ex @@ -0,0 +1,65 @@ +# 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.SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfig do + @moduledoc """ + + + ## Attributes + + * `autoDeployConfidenceThreshold` (*type:* `number()`, *default:* `nil`) - + * `autoDeployExpirationSec` (*type:* `integer()`, *default:* `nil`) - + * `autoDeployImpactedBaselineThreshold` (*type:* `number()`, *default:* `nil`) - + * `autoDeployLoadThreshold` (*type:* `number()`, *default:* `nil`) - + * `name` (*type:* `String.t`, *default:* `nil`) - The name must be 1-63 characters long, and comply with RFC1035. The name must be unique within the security policy. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :autoDeployConfidenceThreshold => number() | nil, + :autoDeployExpirationSec => integer() | nil, + :autoDeployImpactedBaselineThreshold => number() | nil, + :autoDeployLoadThreshold => number() | nil, + :name => String.t() | nil + } + + field(:autoDeployConfidenceThreshold) + field(:autoDeployExpirationSec) + field(:autoDeployImpactedBaselineThreshold) + field(:autoDeployLoadThreshold) + field(:name) +end + +defimpl Poison.Decoder, + for: + GoogleApi.Compute.V1.Model.SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfig do + def decode(value, options) do + GoogleApi.Compute.V1.Model.SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfig.decode( + value, + options + ) + end +end + +defimpl Poison.Encoder, + for: + GoogleApi.Compute.V1.Model.SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfig 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/security_policy_advanced_options_config.ex b/clients/compute/lib/google_api/compute/v1/model/security_policy_advanced_options_config.ex index 728c04d81b..7bcd320fc5 100644 --- a/clients/compute/lib/google_api/compute/v1/model/security_policy_advanced_options_config.ex +++ b/clients/compute/lib/google_api/compute/v1/model/security_policy_advanced_options_config.ex @@ -24,6 +24,7 @@ defmodule GoogleApi.Compute.V1.Model.SecurityPolicyAdvancedOptionsConfig do * `jsonCustomConfig` (*type:* `GoogleApi.Compute.V1.Model.SecurityPolicyAdvancedOptionsConfigJsonCustomConfig.t`, *default:* `nil`) - Custom configuration to apply the JSON parsing. Only applicable when json_parsing is set to STANDARD. * `jsonParsing` (*type:* `String.t`, *default:* `nil`) - * `logLevel` (*type:* `String.t`, *default:* `nil`) - + * `userIpRequestHeaders` (*type:* `list(String.t)`, *default:* `nil`) - An optional list of case-insensitive request header names to use for resolving the callers client IP address. """ use GoogleApi.Gax.ModelBase @@ -33,7 +34,8 @@ defmodule GoogleApi.Compute.V1.Model.SecurityPolicyAdvancedOptionsConfig do GoogleApi.Compute.V1.Model.SecurityPolicyAdvancedOptionsConfigJsonCustomConfig.t() | nil, :jsonParsing => String.t() | nil, - :logLevel => String.t() | nil + :logLevel => String.t() | nil, + :userIpRequestHeaders => list(String.t()) | nil } field(:jsonCustomConfig, @@ -42,6 +44,7 @@ defmodule GoogleApi.Compute.V1.Model.SecurityPolicyAdvancedOptionsConfig do field(:jsonParsing) field(:logLevel) + field(:userIpRequestHeaders, type: :list) end defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.SecurityPolicyAdvancedOptionsConfig do diff --git a/clients/compute/lib/google_api/compute/v1/model/security_policy_recaptcha_options_config.ex b/clients/compute/lib/google_api/compute/v1/model/security_policy_recaptcha_options_config.ex index 75b3b1b74e..78424806cb 100644 --- a/clients/compute/lib/google_api/compute/v1/model/security_policy_recaptcha_options_config.ex +++ b/clients/compute/lib/google_api/compute/v1/model/security_policy_recaptcha_options_config.ex @@ -21,7 +21,7 @@ defmodule GoogleApi.Compute.V1.Model.SecurityPolicyRecaptchaOptionsConfig do ## Attributes - * `redirectSiteKey` (*type:* `String.t`, *default:* `nil`) - An optional field to supply a reCAPTCHA site key to be used for all the rules using the redirect action with the type of GOOGLE_RECAPTCHA under the security policy. The specified site key needs to be created from the reCAPTCHA API. The user is responsible for the validity of the specified site key. If not specified, a Google-managed site key is used. + * `redirectSiteKey` (*type:* `String.t`, *default:* `nil`) - An optional field to supply a reCAPTCHA site key to be used for all the rules using the redirect action with the type of GOOGLE_RECAPTCHA under the security policy. The specified site key needs to be created from the reCAPTCHA API. The user is responsible for the validity of the specified site key. If not specified, a Google-managed site key is used. This field is only supported in Global Security Policies of type CLOUD_ARMOR. """ use GoogleApi.Gax.ModelBase diff --git a/clients/compute/lib/google_api/compute/v1/model/security_policy_rule.ex b/clients/compute/lib/google_api/compute/v1/model/security_policy_rule.ex index 3ae697c77b..b9a0fe0641 100644 --- a/clients/compute/lib/google_api/compute/v1/model/security_policy_rule.ex +++ b/clients/compute/lib/google_api/compute/v1/model/security_policy_rule.ex @@ -21,15 +21,17 @@ defmodule GoogleApi.Compute.V1.Model.SecurityPolicyRule do ## Attributes - * `action` (*type:* `String.t`, *default:* `nil`) - The Action to perform when the rule is matched. The following are the valid actions: - allow: allow access to target. - deny(): deny access to target, returns the HTTP response code specified (valid values are 403, 404, and 502). - rate_based_ban: limit client traffic to the configured threshold and ban the client if the traffic exceeds the threshold. Configure parameters for this action in RateLimitOptions. Requires rate_limit_options to be set. - redirect: redirect to a different target. This can either be an internal reCAPTCHA redirect, or an external URL-based redirect via a 302 response. Parameters for this action can be configured via redirectOptions. - throttle: limit client traffic to the configured threshold. Configure parameters for this action in rateLimitOptions. Requires rate_limit_options to be set for this. + * `action` (*type:* `String.t`, *default:* `nil`) - The Action to perform when the rule is matched. The following are the valid actions: - allow: allow access to target. - deny(STATUS): deny access to target, returns the HTTP response code specified. Valid values for `STATUS` are 403, 404, and 502. - rate_based_ban: limit client traffic to the configured threshold and ban the client if the traffic exceeds the threshold. Configure parameters for this action in RateLimitOptions. Requires rate_limit_options to be set. - redirect: redirect to a different target. This can either be an internal reCAPTCHA redirect, or an external URL-based redirect via a 302 response. Parameters for this action can be configured via redirectOptions. This action is only supported in Global Security Policies of type CLOUD_ARMOR. - throttle: limit client traffic to the configured threshold. Configure parameters for this action in rateLimitOptions. Requires rate_limit_options to be set for this. * `description` (*type:* `String.t`, *default:* `nil`) - An optional description of this resource. Provide this property when you create the resource. - * `headerAction` (*type:* `GoogleApi.Compute.V1.Model.SecurityPolicyRuleHttpHeaderAction.t`, *default:* `nil`) - Optional, additional actions that are performed on headers. + * `headerAction` (*type:* `GoogleApi.Compute.V1.Model.SecurityPolicyRuleHttpHeaderAction.t`, *default:* `nil`) - Optional, additional actions that are performed on headers. This field is only supported in Global Security Policies of type CLOUD_ARMOR. * `kind` (*type:* `String.t`, *default:* `compute#securityPolicyRule`) - [Output only] Type of the resource. Always compute#securityPolicyRule for security policy rules * `match` (*type:* `GoogleApi.Compute.V1.Model.SecurityPolicyRuleMatcher.t`, *default:* `nil`) - A match condition that incoming traffic is evaluated against. If it evaluates to true, the corresponding 'action' is enforced. + * `networkMatch` (*type:* `GoogleApi.Compute.V1.Model.SecurityPolicyRuleNetworkMatcher.t`, *default:* `nil`) - A match condition that incoming packets are evaluated against for CLOUD_ARMOR_NETWORK security policies. If it matches, the corresponding 'action' is enforced. The match criteria for a rule consists of built-in match fields (like 'srcIpRanges') and potentially multiple user-defined match fields ('userDefinedFields'). Field values may be extracted directly from the packet or derived from it (e.g. 'srcRegionCodes'). Some fields may not be present in every packet (e.g. 'srcPorts'). A user-defined field is only present if the base header is found in the packet and the entire field is in bounds. Each match field may specify which values can match it, listing one or more ranges, prefixes, or exact values that are considered a match for the field. A field value must be present in order to match a specified match field. If no match values are specified for a match field, then any field value is considered to match it, and it's not required to be present. For strings specifying '*' is also equivalent to match all. For a packet to match a rule, all specified match fields must match the corresponding field values derived from the packet. Example: networkMatch: srcIpRanges: - "192.0.2.0/24" - "198.51.100.0/24" userDefinedFields: - name: "ipv4_fragment_offset" values: - "1-0x1fff" The above match condition matches packets with a source IP in 192.0.2.0/24 or 198.51.100.0/24 and a user-defined field named "ipv4_fragment_offset" with a value between 1 and 0x1fff inclusive. + * `preconfiguredWafConfig` (*type:* `GoogleApi.Compute.V1.Model.SecurityPolicyRulePreconfiguredWafConfig.t`, *default:* `nil`) - Preconfigured WAF configuration to be applied for the rule. If the rule does not evaluate preconfigured WAF rules, i.e., if evaluatePreconfiguredWaf() is not used, this field will have no effect. * `preview` (*type:* `boolean()`, *default:* `nil`) - If set to true, the specified action is not enforced. * `priority` (*type:* `integer()`, *default:* `nil`) - An integer indicating the priority of a rule in the list. The priority must be a positive value between 0 and 2147483647. Rules are evaluated from highest to lowest priority where 0 is the highest priority and 2147483647 is the lowest priority. * `rateLimitOptions` (*type:* `GoogleApi.Compute.V1.Model.SecurityPolicyRuleRateLimitOptions.t`, *default:* `nil`) - Must be specified if the action is "rate_based_ban" or "throttle". Cannot be specified for any other actions. - * `redirectOptions` (*type:* `GoogleApi.Compute.V1.Model.SecurityPolicyRuleRedirectOptions.t`, *default:* `nil`) - Parameters defining the redirect action. Cannot be specified for any other actions. + * `redirectOptions` (*type:* `GoogleApi.Compute.V1.Model.SecurityPolicyRuleRedirectOptions.t`, *default:* `nil`) - Parameters defining the redirect action. Cannot be specified for any other actions. This field is only supported in Global Security Policies of type CLOUD_ARMOR. """ use GoogleApi.Gax.ModelBase @@ -41,6 +43,9 @@ defmodule GoogleApi.Compute.V1.Model.SecurityPolicyRule do GoogleApi.Compute.V1.Model.SecurityPolicyRuleHttpHeaderAction.t() | nil, :kind => String.t() | nil, :match => GoogleApi.Compute.V1.Model.SecurityPolicyRuleMatcher.t() | nil, + :networkMatch => GoogleApi.Compute.V1.Model.SecurityPolicyRuleNetworkMatcher.t() | nil, + :preconfiguredWafConfig => + GoogleApi.Compute.V1.Model.SecurityPolicyRulePreconfiguredWafConfig.t() | nil, :preview => boolean() | nil, :priority => integer() | nil, :rateLimitOptions => @@ -54,6 +59,12 @@ defmodule GoogleApi.Compute.V1.Model.SecurityPolicyRule do field(:headerAction, as: GoogleApi.Compute.V1.Model.SecurityPolicyRuleHttpHeaderAction) field(:kind) field(:match, as: GoogleApi.Compute.V1.Model.SecurityPolicyRuleMatcher) + field(:networkMatch, as: GoogleApi.Compute.V1.Model.SecurityPolicyRuleNetworkMatcher) + + field(:preconfiguredWafConfig, + as: GoogleApi.Compute.V1.Model.SecurityPolicyRulePreconfiguredWafConfig + ) + field(:preview) field(:priority) field(:rateLimitOptions, as: GoogleApi.Compute.V1.Model.SecurityPolicyRuleRateLimitOptions) diff --git a/clients/compute/lib/google_api/compute/v1/model/security_policy_rule_matcher.ex b/clients/compute/lib/google_api/compute/v1/model/security_policy_rule_matcher.ex index ad14b9340a..9127ab294f 100644 --- a/clients/compute/lib/google_api/compute/v1/model/security_policy_rule_matcher.ex +++ b/clients/compute/lib/google_api/compute/v1/model/security_policy_rule_matcher.ex @@ -22,7 +22,8 @@ defmodule GoogleApi.Compute.V1.Model.SecurityPolicyRuleMatcher do ## Attributes * `config` (*type:* `GoogleApi.Compute.V1.Model.SecurityPolicyRuleMatcherConfig.t`, *default:* `nil`) - The configuration options available when specifying versioned_expr. This field must be specified if versioned_expr is specified and cannot be specified if versioned_expr is not specified. - * `expr` (*type:* `GoogleApi.Compute.V1.Model.Expr.t`, *default:* `nil`) - User defined CEVAL expression. A CEVAL expression is used to specify match criteria such as origin.ip, source.region_code and contents in the request header. + * `expr` (*type:* `GoogleApi.Compute.V1.Model.Expr.t`, *default:* `nil`) - User defined CEVAL expression. A CEVAL expression is used to specify match criteria such as origin.ip, source.region_code and contents in the request header. Expressions containing `evaluateThreatIntelligence` require Cloud Armor Managed Protection Plus tier and are not supported in Edge Policies nor in Regional Policies. Expressions containing `evaluatePreconfiguredExpr('sourceiplist-*')` require Cloud Armor Managed Protection Plus tier and are only supported in Global Security Policies. + * `exprOptions` (*type:* `GoogleApi.Compute.V1.Model.SecurityPolicyRuleMatcherExprOptions.t`, *default:* `nil`) - The configuration options available when specifying a user defined CEVAL expression (i.e., 'expr'). * `versionedExpr` (*type:* `String.t`, *default:* `nil`) - Preconfigured versioned expression. If this field is specified, config must also be specified. Available preconfigured expressions along with their requirements are: SRC_IPS_V1 - must specify the corresponding src_ip_range field in config. """ @@ -31,11 +32,14 @@ defmodule GoogleApi.Compute.V1.Model.SecurityPolicyRuleMatcher do @type t :: %__MODULE__{ :config => GoogleApi.Compute.V1.Model.SecurityPolicyRuleMatcherConfig.t() | nil, :expr => GoogleApi.Compute.V1.Model.Expr.t() | nil, + :exprOptions => + GoogleApi.Compute.V1.Model.SecurityPolicyRuleMatcherExprOptions.t() | nil, :versionedExpr => String.t() | nil } field(:config, as: GoogleApi.Compute.V1.Model.SecurityPolicyRuleMatcherConfig) field(:expr, as: GoogleApi.Compute.V1.Model.Expr) + field(:exprOptions, as: GoogleApi.Compute.V1.Model.SecurityPolicyRuleMatcherExprOptions) field(:versionedExpr) end diff --git a/clients/compute/lib/google_api/compute/v1/model/security_policy_rule_matcher_expr_options.ex b/clients/compute/lib/google_api/compute/v1/model/security_policy_rule_matcher_expr_options.ex new file mode 100644 index 0000000000..435cdece7a --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/security_policy_rule_matcher_expr_options.ex @@ -0,0 +1,50 @@ +# 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.SecurityPolicyRuleMatcherExprOptions do + @moduledoc """ + + + ## Attributes + + * `recaptchaOptions` (*type:* `GoogleApi.Compute.V1.Model.SecurityPolicyRuleMatcherExprOptionsRecaptchaOptions.t`, *default:* `nil`) - reCAPTCHA configuration options to be applied for the rule. If the rule does not evaluate reCAPTCHA tokens, this field has no effect. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :recaptchaOptions => + GoogleApi.Compute.V1.Model.SecurityPolicyRuleMatcherExprOptionsRecaptchaOptions.t() + | nil + } + + field(:recaptchaOptions, + as: GoogleApi.Compute.V1.Model.SecurityPolicyRuleMatcherExprOptionsRecaptchaOptions + ) +end + +defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.SecurityPolicyRuleMatcherExprOptions do + def decode(value, options) do + GoogleApi.Compute.V1.Model.SecurityPolicyRuleMatcherExprOptions.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.SecurityPolicyRuleMatcherExprOptions 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/security_policy_rule_matcher_expr_options_recaptcha_options.ex b/clients/compute/lib/google_api/compute/v1/model/security_policy_rule_matcher_expr_options_recaptcha_options.ex new file mode 100644 index 0000000000..892b00a174 --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/security_policy_rule_matcher_expr_options_recaptcha_options.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.SecurityPolicyRuleMatcherExprOptionsRecaptchaOptions do + @moduledoc """ + + + ## Attributes + + * `actionTokenSiteKeys` (*type:* `list(String.t)`, *default:* `nil`) - A list of site keys to be used during the validation of reCAPTCHA action-tokens. The provided site keys need to be created from reCAPTCHA API under the same project where the security policy is created. + * `sessionTokenSiteKeys` (*type:* `list(String.t)`, *default:* `nil`) - A list of site keys to be used during the validation of reCAPTCHA session-tokens. The provided site keys need to be created from reCAPTCHA API under the same project where the security policy is created. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :actionTokenSiteKeys => list(String.t()) | nil, + :sessionTokenSiteKeys => list(String.t()) | nil + } + + field(:actionTokenSiteKeys, type: :list) + field(:sessionTokenSiteKeys, type: :list) +end + +defimpl Poison.Decoder, + for: GoogleApi.Compute.V1.Model.SecurityPolicyRuleMatcherExprOptionsRecaptchaOptions do + def decode(value, options) do + GoogleApi.Compute.V1.Model.SecurityPolicyRuleMatcherExprOptionsRecaptchaOptions.decode( + value, + options + ) + end +end + +defimpl Poison.Encoder, + for: GoogleApi.Compute.V1.Model.SecurityPolicyRuleMatcherExprOptionsRecaptchaOptions 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/security_policy_rule_network_matcher.ex b/clients/compute/lib/google_api/compute/v1/model/security_policy_rule_network_matcher.ex new file mode 100644 index 0000000000..33070055a3 --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/security_policy_rule_network_matcher.ex @@ -0,0 +1,75 @@ +# 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.SecurityPolicyRuleNetworkMatcher do + @moduledoc """ + Represents a match condition that incoming network traffic is evaluated against. + + ## Attributes + + * `destIpRanges` (*type:* `list(String.t)`, *default:* `nil`) - Destination IPv4/IPv6 addresses or CIDR prefixes, in standard text format. + * `destPorts` (*type:* `list(String.t)`, *default:* `nil`) - Destination port numbers for TCP/UDP/SCTP. Each element can be a 16-bit unsigned decimal number (e.g. "80") or range (e.g. "0-1023"). + * `ipProtocols` (*type:* `list(String.t)`, *default:* `nil`) - IPv4 protocol / IPv6 next header (after extension headers). Each element can be an 8-bit unsigned decimal number (e.g. "6"), range (e.g. "253-254"), or one of the following protocol names: "tcp", "udp", "icmp", "esp", "ah", "ipip", or "sctp". + * `srcAsns` (*type:* `list(integer())`, *default:* `nil`) - BGP Autonomous System Number associated with the source IP address. + * `srcIpRanges` (*type:* `list(String.t)`, *default:* `nil`) - Source IPv4/IPv6 addresses or CIDR prefixes, in standard text format. + * `srcPorts` (*type:* `list(String.t)`, *default:* `nil`) - Source port numbers for TCP/UDP/SCTP. Each element can be a 16-bit unsigned decimal number (e.g. "80") or range (e.g. "0-1023"). + * `srcRegionCodes` (*type:* `list(String.t)`, *default:* `nil`) - Two-letter ISO 3166-1 alpha-2 country code associated with the source IP address. + * `userDefinedFields` (*type:* `list(GoogleApi.Compute.V1.Model.SecurityPolicyRuleNetworkMatcherUserDefinedFieldMatch.t)`, *default:* `nil`) - User-defined fields. Each element names a defined field and lists the matching values for that field. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :destIpRanges => list(String.t()) | nil, + :destPorts => list(String.t()) | nil, + :ipProtocols => list(String.t()) | nil, + :srcAsns => list(integer()) | nil, + :srcIpRanges => list(String.t()) | nil, + :srcPorts => list(String.t()) | nil, + :srcRegionCodes => list(String.t()) | nil, + :userDefinedFields => + list( + GoogleApi.Compute.V1.Model.SecurityPolicyRuleNetworkMatcherUserDefinedFieldMatch.t() + ) + | nil + } + + field(:destIpRanges, type: :list) + field(:destPorts, type: :list) + field(:ipProtocols, type: :list) + field(:srcAsns, type: :list) + field(:srcIpRanges, type: :list) + field(:srcPorts, type: :list) + field(:srcRegionCodes, type: :list) + + field(:userDefinedFields, + as: GoogleApi.Compute.V1.Model.SecurityPolicyRuleNetworkMatcherUserDefinedFieldMatch, + type: :list + ) +end + +defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.SecurityPolicyRuleNetworkMatcher do + def decode(value, options) do + GoogleApi.Compute.V1.Model.SecurityPolicyRuleNetworkMatcher.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.SecurityPolicyRuleNetworkMatcher 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/security_policy_rule_network_matcher_user_defined_field_match.ex b/clients/compute/lib/google_api/compute/v1/model/security_policy_rule_network_matcher_user_defined_field_match.ex new file mode 100644 index 0000000000..8d0eceab87 --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/security_policy_rule_network_matcher_user_defined_field_match.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.SecurityPolicyRuleNetworkMatcherUserDefinedFieldMatch do + @moduledoc """ + + + ## Attributes + + * `name` (*type:* `String.t`, *default:* `nil`) - Name of the user-defined field, as given in the definition. + * `values` (*type:* `list(String.t)`, *default:* `nil`) - Matching values of the field. Each element can be a 32-bit unsigned decimal or hexadecimal (starting with "0x") number (e.g. "64") or range (e.g. "0x400-0x7ff"). + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :name => String.t() | nil, + :values => list(String.t()) | nil + } + + field(:name) + field(:values, type: :list) +end + +defimpl Poison.Decoder, + for: GoogleApi.Compute.V1.Model.SecurityPolicyRuleNetworkMatcherUserDefinedFieldMatch do + def decode(value, options) do + GoogleApi.Compute.V1.Model.SecurityPolicyRuleNetworkMatcherUserDefinedFieldMatch.decode( + value, + options + ) + end +end + +defimpl Poison.Encoder, + for: GoogleApi.Compute.V1.Model.SecurityPolicyRuleNetworkMatcherUserDefinedFieldMatch 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/security_policy_rule_preconfigured_waf_config.ex b/clients/compute/lib/google_api/compute/v1/model/security_policy_rule_preconfigured_waf_config.ex new file mode 100644 index 0000000000..af00f10ab1 --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/security_policy_rule_preconfigured_waf_config.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.Compute.V1.Model.SecurityPolicyRulePreconfiguredWafConfig do + @moduledoc """ + + + ## Attributes + + * `exclusions` (*type:* `list(GoogleApi.Compute.V1.Model.SecurityPolicyRulePreconfiguredWafConfigExclusion.t)`, *default:* `nil`) - A list of exclusions to apply during preconfigured WAF evaluation. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :exclusions => + list(GoogleApi.Compute.V1.Model.SecurityPolicyRulePreconfiguredWafConfigExclusion.t()) + | nil + } + + field(:exclusions, + as: GoogleApi.Compute.V1.Model.SecurityPolicyRulePreconfiguredWafConfigExclusion, + type: :list + ) +end + +defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.SecurityPolicyRulePreconfiguredWafConfig do + def decode(value, options) do + GoogleApi.Compute.V1.Model.SecurityPolicyRulePreconfiguredWafConfig.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.SecurityPolicyRulePreconfiguredWafConfig 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/security_policy_rule_preconfigured_waf_config_exclusion.ex b/clients/compute/lib/google_api/compute/v1/model/security_policy_rule_preconfigured_waf_config_exclusion.ex new file mode 100644 index 0000000000..efb84b59ce --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/security_policy_rule_preconfigured_waf_config_exclusion.ex @@ -0,0 +1,98 @@ +# 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.SecurityPolicyRulePreconfiguredWafConfigExclusion do + @moduledoc """ + + + ## Attributes + + * `requestCookiesToExclude` (*type:* `list(GoogleApi.Compute.V1.Model.SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams.t)`, *default:* `nil`) - A list of request cookie names whose value will be excluded from inspection during preconfigured WAF evaluation. + * `requestHeadersToExclude` (*type:* `list(GoogleApi.Compute.V1.Model.SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams.t)`, *default:* `nil`) - A list of request header names whose value will be excluded from inspection during preconfigured WAF evaluation. + * `requestQueryParamsToExclude` (*type:* `list(GoogleApi.Compute.V1.Model.SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams.t)`, *default:* `nil`) - A list of request query parameter names whose value will be excluded from inspection during preconfigured WAF evaluation. Note that the parameter can be in the query string or in the POST body. + * `requestUrisToExclude` (*type:* `list(GoogleApi.Compute.V1.Model.SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams.t)`, *default:* `nil`) - A list of request URIs from the request line to be excluded from inspection during preconfigured WAF evaluation. When specifying this field, the query or fragment part should be excluded. + * `targetRuleIds` (*type:* `list(String.t)`, *default:* `nil`) - A list of target rule IDs under the WAF rule set to apply the preconfigured WAF exclusion. If omitted, it refers to all the rule IDs under the WAF rule set. + * `targetRuleSet` (*type:* `String.t`, *default:* `nil`) - Target WAF rule set to apply the preconfigured WAF exclusion. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :requestCookiesToExclude => + list( + GoogleApi.Compute.V1.Model.SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams.t() + ) + | nil, + :requestHeadersToExclude => + list( + GoogleApi.Compute.V1.Model.SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams.t() + ) + | nil, + :requestQueryParamsToExclude => + list( + GoogleApi.Compute.V1.Model.SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams.t() + ) + | nil, + :requestUrisToExclude => + list( + GoogleApi.Compute.V1.Model.SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams.t() + ) + | nil, + :targetRuleIds => list(String.t()) | nil, + :targetRuleSet => String.t() | nil + } + + field(:requestCookiesToExclude, + as: GoogleApi.Compute.V1.Model.SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams, + type: :list + ) + + field(:requestHeadersToExclude, + as: GoogleApi.Compute.V1.Model.SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams, + type: :list + ) + + field(:requestQueryParamsToExclude, + as: GoogleApi.Compute.V1.Model.SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams, + type: :list + ) + + field(:requestUrisToExclude, + as: GoogleApi.Compute.V1.Model.SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams, + type: :list + ) + + field(:targetRuleIds, type: :list) + field(:targetRuleSet) +end + +defimpl Poison.Decoder, + for: GoogleApi.Compute.V1.Model.SecurityPolicyRulePreconfiguredWafConfigExclusion do + def decode(value, options) do + GoogleApi.Compute.V1.Model.SecurityPolicyRulePreconfiguredWafConfigExclusion.decode( + value, + options + ) + end +end + +defimpl Poison.Encoder, + for: GoogleApi.Compute.V1.Model.SecurityPolicyRulePreconfiguredWafConfigExclusion 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/security_policy_rule_preconfigured_waf_config_exclusion_field_params.ex b/clients/compute/lib/google_api/compute/v1/model/security_policy_rule_preconfigured_waf_config_exclusion_field_params.ex new file mode 100644 index 0000000000..34ad0b2907 --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/security_policy_rule_preconfigured_waf_config_exclusion_field_params.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.SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams do + @moduledoc """ + + + ## Attributes + + * `op` (*type:* `String.t`, *default:* `nil`) - The match operator for the field. + * `val` (*type:* `String.t`, *default:* `nil`) - The value of the field. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :op => String.t() | nil, + :val => String.t() | nil + } + + field(:op) + field(:val) +end + +defimpl Poison.Decoder, + for: GoogleApi.Compute.V1.Model.SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams do + def decode(value, options) do + GoogleApi.Compute.V1.Model.SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams.decode( + value, + options + ) + end +end + +defimpl Poison.Encoder, + for: GoogleApi.Compute.V1.Model.SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams 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/security_policy_rule_rate_limit_options.ex b/clients/compute/lib/google_api/compute/v1/model/security_policy_rule_rate_limit_options.ex index d00ff0c0e9..0418b3676d 100644 --- a/clients/compute/lib/google_api/compute/v1/model/security_policy_rule_rate_limit_options.ex +++ b/clients/compute/lib/google_api/compute/v1/model/security_policy_rule_rate_limit_options.ex @@ -24,10 +24,11 @@ defmodule GoogleApi.Compute.V1.Model.SecurityPolicyRuleRateLimitOptions do * `banDurationSec` (*type:* `integer()`, *default:* `nil`) - Can only be specified if the action for the rule is "rate_based_ban". If specified, determines the time (in seconds) the traffic will continue to be banned by the rate limit after the rate falls below the threshold. * `banThreshold` (*type:* `GoogleApi.Compute.V1.Model.SecurityPolicyRuleRateLimitOptionsThreshold.t`, *default:* `nil`) - Can only be specified if the action for the rule is "rate_based_ban". If specified, the key will be banned for the configured 'ban_duration_sec' when the number of requests that exceed the 'rate_limit_threshold' also exceed this 'ban_threshold'. * `conformAction` (*type:* `String.t`, *default:* `nil`) - Action to take for requests that are under the configured rate limit threshold. Valid option is "allow" only. - * `enforceOnKey` (*type:* `String.t`, *default:* `nil`) - Determines the key to enforce the rate_limit_threshold on. Possible values are: - ALL: A single rate limit threshold is applied to all the requests matching this rule. This is the default value if "enforceOnKey" is not configured. - IP: The source IP address of the request is the key. Each IP has this limit enforced separately. - HTTP_HEADER: The value of the HTTP header whose name is configured under "enforceOnKeyName". The key value is truncated to the first 128 bytes of the header value. If no such header is present in the request, the key type defaults to ALL. - XFF_IP: The first IP address (i.e. the originating client IP address) specified in the list of IPs under X-Forwarded-For HTTP header. If no such header is present or the value is not a valid IP, the key defaults to the source IP address of the request i.e. key type IP. - HTTP_COOKIE: The value of the HTTP cookie whose name is configured under "enforceOnKeyName". The key value is truncated to the first 128 bytes of the cookie value. If no such cookie is present in the request, the key type defaults to ALL. - HTTP_PATH: The URL path of the HTTP request. The key value is truncated to the first 128 bytes. - SNI: Server name indication in the TLS session of the HTTPS request. The key value is truncated to the first 128 bytes. The key type defaults to ALL on a HTTP session. - REGION_CODE: The country/region from which the request originates. + * `enforceOnKey` (*type:* `String.t`, *default:* `nil`) - Determines the key to enforce the rate_limit_threshold on. Possible values are: - ALL: A single rate limit threshold is applied to all the requests matching this rule. This is the default value if "enforceOnKey" is not configured. - IP: The source IP address of the request is the key. Each IP has this limit enforced separately. - HTTP_HEADER: The value of the HTTP header whose name is configured under "enforceOnKeyName". The key value is truncated to the first 128 bytes of the header value. If no such header is present in the request, the key type defaults to ALL. - XFF_IP: The first IP address (i.e. the originating client IP address) specified in the list of IPs under X-Forwarded-For HTTP header. If no such header is present or the value is not a valid IP, the key defaults to the source IP address of the request i.e. key type IP. - HTTP_COOKIE: The value of the HTTP cookie whose name is configured under "enforceOnKeyName". The key value is truncated to the first 128 bytes of the cookie value. If no such cookie is present in the request, the key type defaults to ALL. - HTTP_PATH: The URL path of the HTTP request. The key value is truncated to the first 128 bytes. - SNI: Server name indication in the TLS session of the HTTPS request. The key value is truncated to the first 128 bytes. The key type defaults to ALL on a HTTP session. - REGION_CODE: The country/region from which the request originates. - TLS_JA3_FINGERPRINT: JA3 TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type defaults to ALL. - USER_IP: The IP address of the originating client, which is resolved based on "userIpRequestHeaders" configured with the security policy. If there is no "userIpRequestHeaders" configuration or an IP address cannot be resolved from it, the key type defaults to IP. + * `enforceOnKeyConfigs` (*type:* `list(GoogleApi.Compute.V1.Model.SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig.t)`, *default:* `nil`) - If specified, any combination of values of enforce_on_key_type/enforce_on_key_name is treated as the key on which ratelimit threshold/action is enforced. You can specify up to 3 enforce_on_key_configs. If enforce_on_key_configs is specified, enforce_on_key must not be specified. * `enforceOnKeyName` (*type:* `String.t`, *default:* `nil`) - Rate limit key name applicable only for the following key types: HTTP_HEADER -- Name of the HTTP header whose value is taken as the key value. HTTP_COOKIE -- Name of the HTTP cookie whose value is taken as the key value. - * `exceedAction` (*type:* `String.t`, *default:* `nil`) - Action to take for requests that are above the configured rate limit threshold, to either deny with a specified HTTP response code, or redirect to a different endpoint. Valid options are "deny(status)", where valid values for status are 403, 404, 429, and 502, and "redirect" where the redirect parameters come from exceedRedirectOptions below. - * `exceedRedirectOptions` (*type:* `GoogleApi.Compute.V1.Model.SecurityPolicyRuleRedirectOptions.t`, *default:* `nil`) - Parameters defining the redirect action that is used as the exceed action. Cannot be specified if the exceed action is not redirect. + * `exceedAction` (*type:* `String.t`, *default:* `nil`) - Action to take for requests that are above the configured rate limit threshold, to either deny with a specified HTTP response code, or redirect to a different endpoint. Valid options are `deny(STATUS)`, where valid values for `STATUS` are 403, 404, 429, and 502, and `redirect`, where the redirect parameters come from `exceedRedirectOptions` below. The `redirect` action is only supported in Global Security Policies of type CLOUD_ARMOR. + * `exceedRedirectOptions` (*type:* `GoogleApi.Compute.V1.Model.SecurityPolicyRuleRedirectOptions.t`, *default:* `nil`) - Parameters defining the redirect action that is used as the exceed action. Cannot be specified if the exceed action is not redirect. This field is only supported in Global Security Policies of type CLOUD_ARMOR. * `rateLimitThreshold` (*type:* `GoogleApi.Compute.V1.Model.SecurityPolicyRuleRateLimitOptionsThreshold.t`, *default:* `nil`) - Threshold at which to begin ratelimiting. """ @@ -39,6 +40,11 @@ defmodule GoogleApi.Compute.V1.Model.SecurityPolicyRuleRateLimitOptions do GoogleApi.Compute.V1.Model.SecurityPolicyRuleRateLimitOptionsThreshold.t() | nil, :conformAction => String.t() | nil, :enforceOnKey => String.t() | nil, + :enforceOnKeyConfigs => + list( + GoogleApi.Compute.V1.Model.SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig.t() + ) + | nil, :enforceOnKeyName => String.t() | nil, :exceedAction => String.t() | nil, :exceedRedirectOptions => @@ -51,6 +57,12 @@ defmodule GoogleApi.Compute.V1.Model.SecurityPolicyRuleRateLimitOptions do field(:banThreshold, as: GoogleApi.Compute.V1.Model.SecurityPolicyRuleRateLimitOptionsThreshold) field(:conformAction) field(:enforceOnKey) + + field(:enforceOnKeyConfigs, + as: GoogleApi.Compute.V1.Model.SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig, + type: :list + ) + field(:enforceOnKeyName) field(:exceedAction) field(:exceedRedirectOptions, as: GoogleApi.Compute.V1.Model.SecurityPolicyRuleRedirectOptions) diff --git a/clients/compute/lib/google_api/compute/v1/model/security_policy_rule_rate_limit_options_enforce_on_key_config.ex b/clients/compute/lib/google_api/compute/v1/model/security_policy_rule_rate_limit_options_enforce_on_key_config.ex new file mode 100644 index 0000000000..855bcbc570 --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/security_policy_rule_rate_limit_options_enforce_on_key_config.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.SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig do + @moduledoc """ + + + ## Attributes + + * `enforceOnKeyName` (*type:* `String.t`, *default:* `nil`) - Rate limit key name applicable only for the following key types: HTTP_HEADER -- Name of the HTTP header whose value is taken as the key value. HTTP_COOKIE -- Name of the HTTP cookie whose value is taken as the key value. + * `enforceOnKeyType` (*type:* `String.t`, *default:* `nil`) - Determines the key to enforce the rate_limit_threshold on. Possible values are: - ALL: A single rate limit threshold is applied to all the requests matching this rule. This is the default value if "enforceOnKeyConfigs" is not configured. - IP: The source IP address of the request is the key. Each IP has this limit enforced separately. - HTTP_HEADER: The value of the HTTP header whose name is configured under "enforceOnKeyName". The key value is truncated to the first 128 bytes of the header value. If no such header is present in the request, the key type defaults to ALL. - XFF_IP: The first IP address (i.e. the originating client IP address) specified in the list of IPs under X-Forwarded-For HTTP header. If no such header is present or the value is not a valid IP, the key defaults to the source IP address of the request i.e. key type IP. - HTTP_COOKIE: The value of the HTTP cookie whose name is configured under "enforceOnKeyName". The key value is truncated to the first 128 bytes of the cookie value. If no such cookie is present in the request, the key type defaults to ALL. - HTTP_PATH: The URL path of the HTTP request. The key value is truncated to the first 128 bytes. - SNI: Server name indication in the TLS session of the HTTPS request. The key value is truncated to the first 128 bytes. The key type defaults to ALL on a HTTP session. - REGION_CODE: The country/region from which the request originates. - TLS_JA3_FINGERPRINT: JA3 TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type defaults to ALL. - USER_IP: The IP address of the originating client, which is resolved based on "userIpRequestHeaders" configured with the security policy. If there is no "userIpRequestHeaders" configuration or an IP address cannot be resolved from it, the key type defaults to IP. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :enforceOnKeyName => String.t() | nil, + :enforceOnKeyType => String.t() | nil + } + + field(:enforceOnKeyName) + field(:enforceOnKeyType) +end + +defimpl Poison.Decoder, + for: GoogleApi.Compute.V1.Model.SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig do + def decode(value, options) do + GoogleApi.Compute.V1.Model.SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig.decode( + value, + options + ) + end +end + +defimpl Poison.Encoder, + for: GoogleApi.Compute.V1.Model.SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig 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/security_policy_user_defined_field.ex b/clients/compute/lib/google_api/compute/v1/model/security_policy_user_defined_field.ex new file mode 100644 index 0000000000..820d317b64 --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/security_policy_user_defined_field.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.SecurityPolicyUserDefinedField do + @moduledoc """ + + + ## Attributes + + * `base` (*type:* `String.t`, *default:* `nil`) - The base relative to which 'offset' is measured. Possible values are: - IPV4: Points to the beginning of the IPv4 header. - IPV6: Points to the beginning of the IPv6 header. - TCP: Points to the beginning of the TCP header, skipping over any IPv4 options or IPv6 extension headers. Not present for non-first fragments. - UDP: Points to the beginning of the UDP header, skipping over any IPv4 options or IPv6 extension headers. Not present for non-first fragments. required + * `mask` (*type:* `String.t`, *default:* `nil`) - If specified, apply this mask (bitwise AND) to the field to ignore bits before matching. Encoded as a hexadecimal number (starting with "0x"). The last byte of the field (in network byte order) corresponds to the least significant byte of the mask. + * `name` (*type:* `String.t`, *default:* `nil`) - The name of this field. Must be unique within the policy. + * `offset` (*type:* `integer()`, *default:* `nil`) - Offset of the first byte of the field (in network byte order) relative to 'base'. + * `size` (*type:* `integer()`, *default:* `nil`) - Size of the field in bytes. Valid values: 1-4. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :base => String.t() | nil, + :mask => String.t() | nil, + :name => String.t() | nil, + :offset => integer() | nil, + :size => integer() | nil + } + + field(:base) + field(:mask) + field(:name) + field(:offset) + field(:size) +end + +defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.SecurityPolicyUserDefinedField do + def decode(value, options) do + GoogleApi.Compute.V1.Model.SecurityPolicyUserDefinedField.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.SecurityPolicyUserDefinedField 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/security_settings.ex b/clients/compute/lib/google_api/compute/v1/model/security_settings.ex index a7dbcc0868..36ea42d010 100644 --- a/clients/compute/lib/google_api/compute/v1/model/security_settings.ex +++ b/clients/compute/lib/google_api/compute/v1/model/security_settings.ex @@ -21,17 +21,20 @@ defmodule GoogleApi.Compute.V1.Model.SecuritySettings do ## Attributes - * `clientTlsPolicy` (*type:* `String.t`, *default:* `nil`) - Optional. A URL referring to a networksecurity.ClientTlsPolicy resource that describes how clients should authenticate with this service's backends. clientTlsPolicy only applies to a global BackendService with the loadBalancingScheme set to INTERNAL_SELF_MANAGED. If left blank, communications are not encrypted. Note: This field currently has no impact. - * `subjectAltNames` (*type:* `list(String.t)`, *default:* `nil`) - Optional. A list of Subject Alternative Names (SANs) that the client verifies during a mutual TLS handshake with an server/endpoint for this BackendService. When the server presents its X.509 certificate to the client, the client inspects the certificate's subjectAltName field. If the field contains one of the specified values, the communication continues. Otherwise, it fails. This additional check enables the client to verify that the server is authorized to run the requested service. Note that the contents of the server certificate's subjectAltName field are configured by the Public Key Infrastructure which provisions server identities. Only applies to a global BackendService with loadBalancingScheme set to INTERNAL_SELF_MANAGED. Only applies when BackendService has an attached clientTlsPolicy with clientCertificate (mTLS mode). Note: This field currently has no impact. + * `awsV4Authentication` (*type:* `GoogleApi.Compute.V1.Model.AWSV4Signature.t`, *default:* `nil`) - The configuration needed to generate a signature for access to private storage buckets that support AWS's Signature Version 4 for authentication. Allowed only for INTERNET_IP_PORT and INTERNET_FQDN_PORT NEG backends. + * `clientTlsPolicy` (*type:* `String.t`, *default:* `nil`) - Optional. A URL referring to a networksecurity.ClientTlsPolicy resource that describes how clients should authenticate with this service's backends. clientTlsPolicy only applies to a global BackendService with the loadBalancingScheme set to INTERNAL_SELF_MANAGED. If left blank, communications are not encrypted. + * `subjectAltNames` (*type:* `list(String.t)`, *default:* `nil`) - Optional. A list of Subject Alternative Names (SANs) that the client verifies during a mutual TLS handshake with an server/endpoint for this BackendService. When the server presents its X.509 certificate to the client, the client inspects the certificate's subjectAltName field. If the field contains one of the specified values, the communication continues. Otherwise, it fails. This additional check enables the client to verify that the server is authorized to run the requested service. Note that the contents of the server certificate's subjectAltName field are configured by the Public Key Infrastructure which provisions server identities. Only applies to a global BackendService with loadBalancingScheme set to INTERNAL_SELF_MANAGED. Only applies when BackendService has an attached clientTlsPolicy with clientCertificate (mTLS mode). """ use GoogleApi.Gax.ModelBase @type t :: %__MODULE__{ + :awsV4Authentication => GoogleApi.Compute.V1.Model.AWSV4Signature.t() | nil, :clientTlsPolicy => String.t() | nil, :subjectAltNames => list(String.t()) | nil } + field(:awsV4Authentication, as: GoogleApi.Compute.V1.Model.AWSV4Signature) field(:clientTlsPolicy) field(:subjectAltNames, type: :list) end diff --git a/clients/compute/lib/google_api/compute/v1/model/service_attachment.ex b/clients/compute/lib/google_api/compute/v1/model/service_attachment.ex index 5ba3df62b0..629a65b863 100644 --- a/clients/compute/lib/google_api/compute/v1/model/service_attachment.ex +++ b/clients/compute/lib/google_api/compute/v1/model/service_attachment.ex @@ -17,7 +17,7 @@ defmodule GoogleApi.Compute.V1.Model.ServiceAttachment do @moduledoc """ - Represents a ServiceAttachment resource. A service attachment represents a service that a producer has exposed. It encapsulates the load balancer which fronts the service runs and a list of NAT IP ranges that the producers uses to represent the consumers connecting to the service. next tag = 20 + Represents a ServiceAttachment resource. A service attachment represents a service that a producer has exposed. It encapsulates the load balancer which fronts the service runs and a list of NAT IP ranges that the producers uses to represent the consumers connecting to the service. ## Attributes @@ -36,6 +36,7 @@ defmodule GoogleApi.Compute.V1.Model.ServiceAttachment do * `natSubnets` (*type:* `list(String.t)`, *default:* `nil`) - An array of URLs where each entry is the URL of a subnet provided by the service producer to use for NAT in this service attachment. * `producerForwardingRule` (*type:* `String.t`, *default:* `nil`) - The URL of a forwarding rule with loadBalancingScheme INTERNAL* that is serving the endpoint identified by this service attachment. * `pscServiceAttachmentId` (*type:* `GoogleApi.Compute.V1.Model.Uint128.t`, *default:* `nil`) - [Output Only] An 128-bit global unique ID of the PSC service attachment. + * `reconcileConnections` (*type:* `boolean()`, *default:* `nil`) - This flag determines whether a consumer accept/reject list change can reconcile the statuses of existing ACCEPTED or REJECTED PSC endpoints. - If false, connection policy update will only affect existing PENDING PSC endpoints. Existing ACCEPTED/REJECTED endpoints will remain untouched regardless how the connection policy is modified . - If true, update will affect both PENDING and ACCEPTED/REJECTED PSC endpoints. For example, an ACCEPTED PSC endpoint will be moved to REJECTED if its project is added to the reject list. For newly created service attachment, this boolean defaults to false. * `region` (*type:* `String.t`, *default:* `nil`) - [Output Only] URL of the region where the service attachment resides. This field applies only to the region resource. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body. * `selfLink` (*type:* `String.t`, *default:* `nil`) - [Output Only] Server-defined URL for the resource. * `targetService` (*type:* `String.t`, *default:* `nil`) - The URL of a service serving the endpoint identified by this service attachment. @@ -61,6 +62,7 @@ defmodule GoogleApi.Compute.V1.Model.ServiceAttachment do :natSubnets => list(String.t()) | nil, :producerForwardingRule => String.t() | nil, :pscServiceAttachmentId => GoogleApi.Compute.V1.Model.Uint128.t() | nil, + :reconcileConnections => boolean() | nil, :region => String.t() | nil, :selfLink => String.t() | nil, :targetService => String.t() | nil @@ -90,6 +92,7 @@ defmodule GoogleApi.Compute.V1.Model.ServiceAttachment do field(:natSubnets, type: :list) field(:producerForwardingRule) field(:pscServiceAttachmentId, as: GoogleApi.Compute.V1.Model.Uint128) + field(:reconcileConnections) field(:region) field(:selfLink) field(:targetService) diff --git a/clients/compute/lib/google_api/compute/v1/model/service_attachment_connected_endpoint.ex b/clients/compute/lib/google_api/compute/v1/model/service_attachment_connected_endpoint.ex index d2c0759c8d..aca4abec09 100644 --- a/clients/compute/lib/google_api/compute/v1/model/service_attachment_connected_endpoint.ex +++ b/clients/compute/lib/google_api/compute/v1/model/service_attachment_connected_endpoint.ex @@ -21,6 +21,7 @@ defmodule GoogleApi.Compute.V1.Model.ServiceAttachmentConnectedEndpoint do ## Attributes + * `consumerNetwork` (*type:* `String.t`, *default:* `nil`) - The url of the consumer network. * `endpoint` (*type:* `String.t`, *default:* `nil`) - The url of a connected endpoint. * `pscConnectionId` (*type:* `String.t`, *default:* `nil`) - The PSC connection id of the connected endpoint. * `status` (*type:* `String.t`, *default:* `nil`) - The status of a connected endpoint to this service attachment. @@ -29,11 +30,13 @@ defmodule GoogleApi.Compute.V1.Model.ServiceAttachmentConnectedEndpoint do use GoogleApi.Gax.ModelBase @type t :: %__MODULE__{ + :consumerNetwork => String.t() | nil, :endpoint => String.t() | nil, :pscConnectionId => String.t() | nil, :status => String.t() | nil } + field(:consumerNetwork) field(:endpoint) field(:pscConnectionId) field(:status) diff --git a/clients/compute/lib/google_api/compute/v1/model/service_attachment_consumer_project_limit.ex b/clients/compute/lib/google_api/compute/v1/model/service_attachment_consumer_project_limit.ex index 10377874a4..07a0233024 100644 --- a/clients/compute/lib/google_api/compute/v1/model/service_attachment_consumer_project_limit.ex +++ b/clients/compute/lib/google_api/compute/v1/model/service_attachment_consumer_project_limit.ex @@ -22,6 +22,7 @@ defmodule GoogleApi.Compute.V1.Model.ServiceAttachmentConsumerProjectLimit do ## Attributes * `connectionLimit` (*type:* `integer()`, *default:* `nil`) - The value of the limit to set. + * `networkUrl` (*type:* `String.t`, *default:* `nil`) - The network URL for the network to set the limit for. * `projectIdOrNum` (*type:* `String.t`, *default:* `nil`) - The project id or number for the project to set the limit for. """ @@ -29,10 +30,12 @@ defmodule GoogleApi.Compute.V1.Model.ServiceAttachmentConsumerProjectLimit do @type t :: %__MODULE__{ :connectionLimit => integer() | nil, + :networkUrl => String.t() | nil, :projectIdOrNum => String.t() | nil } field(:connectionLimit) + field(:networkUrl) field(:projectIdOrNum) end diff --git a/clients/compute/lib/google_api/compute/v1/model/set_common_instance_metadata_operation_metadata.ex b/clients/compute/lib/google_api/compute/v1/model/set_common_instance_metadata_operation_metadata.ex new file mode 100644 index 0000000000..dde05cf0dd --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/set_common_instance_metadata_operation_metadata.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.Compute.V1.Model.SetCommonInstanceMetadataOperationMetadata do + @moduledoc """ + + + ## Attributes + + * `clientOperationId` (*type:* `String.t`, *default:* `nil`) - [Output Only] The client operation id. + * `perLocationOperations` (*type:* `%{optional(String.t) => GoogleApi.Compute.V1.Model.SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo.t}`, *default:* `nil`) - [Output Only] Status information per location (location name is key). Example key: zones/us-central1-a + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :clientOperationId => String.t() | nil, + :perLocationOperations => + %{ + optional(String.t()) => + GoogleApi.Compute.V1.Model.SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo.t() + } + | nil + } + + field(:clientOperationId) + + field(:perLocationOperations, + as: + GoogleApi.Compute.V1.Model.SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo, + type: :map + ) +end + +defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.SetCommonInstanceMetadataOperationMetadata do + def decode(value, options) do + GoogleApi.Compute.V1.Model.SetCommonInstanceMetadataOperationMetadata.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.SetCommonInstanceMetadataOperationMetadata 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/set_common_instance_metadata_operation_metadata_per_location_operation_info.ex b/clients/compute/lib/google_api/compute/v1/model/set_common_instance_metadata_operation_metadata_per_location_operation_info.ex new file mode 100644 index 0000000000..5749a7f4c6 --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/set_common_instance_metadata_operation_metadata_per_location_operation_info.ex @@ -0,0 +1,56 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.Compute.V1.Model.SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo do + @moduledoc """ + + + ## Attributes + + * `error` (*type:* `GoogleApi.Compute.V1.Model.Status.t`, *default:* `nil`) - [Output Only] If state is `ABANDONED` or `FAILED`, this field is populated. + * `state` (*type:* `String.t`, *default:* `nil`) - [Output Only] Status of the action, which can be one of the following: `PROPAGATING`, `PROPAGATED`, `ABANDONED`, `FAILED`, or `DONE`. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :error => GoogleApi.Compute.V1.Model.Status.t() | nil, + :state => String.t() | nil + } + + field(:error, as: GoogleApi.Compute.V1.Model.Status) + field(:state) +end + +defimpl Poison.Decoder, + for: + GoogleApi.Compute.V1.Model.SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo do + def decode(value, options) do + GoogleApi.Compute.V1.Model.SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo.decode( + value, + options + ) + end +end + +defimpl Poison.Encoder, + for: + GoogleApi.Compute.V1.Model.SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo 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/snapshot.ex b/clients/compute/lib/google_api/compute/v1/model/snapshot.ex index ab98760d1b..893b8806ae 100644 --- a/clients/compute/lib/google_api/compute/v1/model/snapshot.ex +++ b/clients/compute/lib/google_api/compute/v1/model/snapshot.ex @@ -23,33 +23,40 @@ defmodule GoogleApi.Compute.V1.Model.Snapshot do * `architecture` (*type:* `String.t`, *default:* `nil`) - [Output Only] The architecture of the snapshot. Valid values are ARM64 or X86_64. * `autoCreated` (*type:* `boolean()`, *default:* `nil`) - [Output Only] Set to true if snapshots are automatically created by applying resource policy on the target disk. + * `locationHint` (*type:* `String.t`, *default:* `nil`) - An opaque location hint used to place the snapshot close to other resources. This field is for use by internal tools that use the public API. + * `sourceInstantSnapshot` (*type:* `String.t`, *default:* `nil`) - The source instant snapshot used to create this snapshot. You can provide this as a partial or full URL to the resource. For example, the following are valid values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /instantSnapshots/instantSnapshot - projects/project/zones/zone/instantSnapshots/instantSnapshot - zones/zone/instantSnapshots/instantSnapshot + * `storageLocations` (*type:* `list(String.t)`, *default:* `nil`) - Cloud Storage bucket storage location of the snapshot (regional or multi-regional). + * `snapshotEncryptionKey` (*type:* `GoogleApi.Compute.V1.Model.CustomerEncryptionKey.t`, *default:* `nil`) - Encrypts the snapshot using a customer-supplied encryption key. After you encrypt a snapshot using a customer-supplied key, you must provide the same key if you use the snapshot later. For example, you must provide the encryption key when you create a disk from the encrypted snapshot in a future request. Customer-supplied encryption keys do not protect access to metadata of the snapshot. If you do not provide an encryption key when creating the snapshot, then the snapshot will be encrypted using an automatically generated key and you do not need to provide a key to use the snapshot later. + * `sourceInstantSnapshotId` (*type:* `String.t`, *default:* `nil`) - [Output Only] The unique ID of the instant snapshot used to create this snapshot. This value identifies the exact instant snapshot that was used to create this persistent disk. For example, if you created the persistent disk from an instant snapshot that was later deleted and recreated under the same name, the source instant snapshot ID would identify the exact instant snapshot that was used. * `chainName` (*type:* `String.t`, *default:* `nil`) - Creates the new snapshot in the snapshot chain labeled with the specified name. The chain name must be 1-63 characters long and comply with RFC1035. This is an uncommon option only for advanced service owners who needs to create separate snapshot chains, for example, for chargeback tracking. When you describe your snapshot resource, this field is visible only if it has a non-empty value. - * `creationSizeBytes` (*type:* `String.t`, *default:* `nil`) - [Output Only] Size in bytes of the snapshot at creation time. - * `creationTimestamp` (*type:* `String.t`, *default:* `nil`) - [Output Only] Creation timestamp in RFC3339 text format. + * `satisfiesPzs` (*type:* `boolean()`, *default:* `nil`) - [Output Only] Reserved for future use. * `description` (*type:* `String.t`, *default:* `nil`) - An optional description of this resource. Provide this property when you create the resource. - * `diskSizeGb` (*type:* `String.t`, *default:* `nil`) - [Output Only] Size of the source disk, specified in GB. - * `downloadBytes` (*type:* `String.t`, *default:* `nil`) - [Output Only] Number of bytes downloaded to restore a snapshot to a disk. - * `id` (*type:* `String.t`, *default:* `nil`) - [Output Only] The unique identifier for the resource. This identifier is defined by the server. + * `sourceDiskId` (*type:* `String.t`, *default:* `nil`) - [Output Only] The ID value of the disk used to create this snapshot. This value may be used to determine whether the snapshot was taken from the current or a previous instance of a given disk name. * `kind` (*type:* `String.t`, *default:* `compute#snapshot`) - [Output Only] Type of the resource. Always compute#snapshot for Snapshot resources. - * `labelFingerprint` (*type:* `String.t`, *default:* `nil`) - A fingerprint for the labels being applied to this snapshot, which is essentially a hash of the labels set used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve a snapshot. - * `labels` (*type:* `map()`, *default:* `nil`) - Labels to apply to this snapshot. These can be later modified by the setLabels method. Label values may be empty. - * `licenseCodes` (*type:* `list(String.t)`, *default:* `nil`) - [Output Only] Integer license codes indicating which licenses are attached to this snapshot. - * `licenses` (*type:* `list(String.t)`, *default:* `nil`) - [Output Only] A list of public visible licenses that apply to this snapshot. This can be because the original image had licenses attached (such as a Windows image). - * `locationHint` (*type:* `String.t`, *default:* `nil`) - An opaque location hint used to place the snapshot close to other resources. This field is for use by internal tools that use the public API. + * `enableConfidentialCompute` (*type:* `boolean()`, *default:* `nil`) - Whether this snapshot is created from a confidential compute mode disk. [Output Only]: This field is not set by user, but from source disk. + * `sourceDiskEncryptionKey` (*type:* `GoogleApi.Compute.V1.Model.CustomerEncryptionKey.t`, *default:* `nil`) - The customer-supplied encryption key of the source disk. Required if the source disk is protected by a customer-supplied encryption key. * `name` (*type:* `String.t`, *default:* `nil`) - Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. - * `satisfiesPzs` (*type:* `boolean()`, *default:* `nil`) - [Output Only] Reserved for future use. - * `selfLink` (*type:* `String.t`, *default:* `nil`) - [Output Only] Server-defined URL for the resource. - * `snapshotEncryptionKey` (*type:* `GoogleApi.Compute.V1.Model.CustomerEncryptionKey.t`, *default:* `nil`) - Encrypts the snapshot using a customer-supplied encryption key. After you encrypt a snapshot using a customer-supplied key, you must provide the same key if you use the snapshot later. For example, you must provide the encryption key when you create a disk from the encrypted snapshot in a future request. Customer-supplied encryption keys do not protect access to metadata of the snapshot. If you do not provide an encryption key when creating the snapshot, then the snapshot will be encrypted using an automatically generated key and you do not need to provide a key to use the snapshot later. + * `status` (*type:* `String.t`, *default:* `nil`) - [Output Only] The status of the snapshot. This can be CREATING, DELETING, FAILED, READY, or UPLOADING. + * `storageBytesStatus` (*type:* `String.t`, *default:* `nil`) - [Output Only] An indicator whether storageBytes is in a stable state or it is being adjusted as a result of shared storage reallocation. This status can either be UPDATING, meaning the size of the snapshot is being updated, or UP_TO_DATE, meaning the size of the snapshot is up-to-date. + * `sourceInstantSnapshotEncryptionKey` (*type:* `GoogleApi.Compute.V1.Model.CustomerEncryptionKey.t`, *default:* `nil`) - Customer provided encryption key when creating Snapshot from Instant Snapshot. + * `sourceDiskForRecoveryCheckpoint` (*type:* `String.t`, *default:* `nil`) - The source disk whose recovery checkpoint will be used to create this snapshot. + * `diskSizeGb` (*type:* `String.t`, *default:* `nil`) - [Output Only] Size of the source disk, specified in GB. + * `guestOsFeatures` (*type:* `list(GoogleApi.Compute.V1.Model.GuestOsFeature.t)`, *default:* `nil`) - [Output Only] A list of features to enable on the guest operating system. Applicable only for bootable images. Read Enabling guest operating system features to see a list of available options. + * `licenseCodes` (*type:* `list(String.t)`, *default:* `nil`) - [Output Only] Integer license codes indicating which licenses are attached to this snapshot. * `snapshotType` (*type:* `String.t`, *default:* `nil`) - Indicates the type of the snapshot. - * `sourceDisk` (*type:* `String.t`, *default:* `nil`) - The source disk used to create this snapshot. - * `sourceDiskEncryptionKey` (*type:* `GoogleApi.Compute.V1.Model.CustomerEncryptionKey.t`, *default:* `nil`) - The customer-supplied encryption key of the source disk. Required if the source disk is protected by a customer-supplied encryption key. - * `sourceDiskId` (*type:* `String.t`, *default:* `nil`) - [Output Only] The ID value of the disk used to create this snapshot. This value may be used to determine whether the snapshot was taken from the current or a previous instance of a given disk name. + * `licenses` (*type:* `list(String.t)`, *default:* `nil`) - [Output Only] A list of public visible licenses that apply to this snapshot. This can be because the original image had licenses attached (such as a Windows image). * `sourceSnapshotSchedulePolicy` (*type:* `String.t`, *default:* `nil`) - [Output Only] URL of the resource policy which created this scheduled snapshot. + * `labelFingerprint` (*type:* `String.t`, *default:* `nil`) - A fingerprint for the labels being applied to this snapshot, which is essentially a hash of the labels set used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve a snapshot. + * `creationTimestamp` (*type:* `String.t`, *default:* `nil`) - [Output Only] Creation timestamp in RFC3339 text format. * `sourceSnapshotSchedulePolicyId` (*type:* `String.t`, *default:* `nil`) - [Output Only] ID of the resource policy which created this scheduled snapshot. - * `status` (*type:* `String.t`, *default:* `nil`) - [Output Only] The status of the snapshot. This can be CREATING, DELETING, FAILED, READY, or UPLOADING. + * `id` (*type:* `String.t`, *default:* `nil`) - [Output Only] The unique identifier for the resource. This identifier is defined by the server. * `storageBytes` (*type:* `String.t`, *default:* `nil`) - [Output Only] A size of the storage used by the snapshot. As snapshots share storage, this number is expected to change with snapshot creation/deletion. - * `storageBytesStatus` (*type:* `String.t`, *default:* `nil`) - [Output Only] An indicator whether storageBytes is in a stable state or it is being adjusted as a result of shared storage reallocation. This status can either be UPDATING, meaning the size of the snapshot is being updated, or UP_TO_DATE, meaning the size of the snapshot is up-to-date. - * `storageLocations` (*type:* `list(String.t)`, *default:* `nil`) - Cloud Storage bucket storage location of the snapshot (regional or multi-regional). + * `labels` (*type:* `map()`, *default:* `nil`) - Labels to apply to this snapshot. These can be later modified by the setLabels method. Label values may be empty. + * `selfLink` (*type:* `String.t`, *default:* `nil`) - [Output Only] Server-defined URL for the resource. + * `satisfiesPzi` (*type:* `boolean()`, *default:* `nil`) - Output only. Reserved for future use. + * `sourceDisk` (*type:* `String.t`, *default:* `nil`) - The source disk used to create this snapshot. + * `downloadBytes` (*type:* `String.t`, *default:* `nil`) - [Output Only] Number of bytes downloaded to restore a snapshot to a disk. + * `creationSizeBytes` (*type:* `String.t`, *default:* `nil`) - [Output Only] Size in bytes of the snapshot at creation time. """ use GoogleApi.Gax.ModelBase @@ -57,64 +64,79 @@ defmodule GoogleApi.Compute.V1.Model.Snapshot do @type t :: %__MODULE__{ :architecture => String.t() | nil, :autoCreated => boolean() | nil, + :locationHint => String.t() | nil, + :sourceInstantSnapshot => String.t() | nil, + :storageLocations => list(String.t()) | nil, + :snapshotEncryptionKey => GoogleApi.Compute.V1.Model.CustomerEncryptionKey.t() | nil, + :sourceInstantSnapshotId => String.t() | nil, :chainName => String.t() | nil, - :creationSizeBytes => String.t() | nil, - :creationTimestamp => String.t() | nil, + :satisfiesPzs => boolean() | nil, :description => String.t() | nil, - :diskSizeGb => String.t() | nil, - :downloadBytes => String.t() | nil, - :id => String.t() | nil, + :sourceDiskId => String.t() | nil, :kind => String.t() | nil, - :labelFingerprint => String.t() | nil, - :labels => map() | nil, - :licenseCodes => list(String.t()) | nil, - :licenses => list(String.t()) | nil, - :locationHint => String.t() | nil, + :enableConfidentialCompute => boolean() | nil, + :sourceDiskEncryptionKey => GoogleApi.Compute.V1.Model.CustomerEncryptionKey.t() | nil, :name => String.t() | nil, - :satisfiesPzs => boolean() | nil, - :selfLink => String.t() | nil, - :snapshotEncryptionKey => GoogleApi.Compute.V1.Model.CustomerEncryptionKey.t() | nil, + :status => String.t() | nil, + :storageBytesStatus => String.t() | nil, + :sourceInstantSnapshotEncryptionKey => + GoogleApi.Compute.V1.Model.CustomerEncryptionKey.t() | nil, + :sourceDiskForRecoveryCheckpoint => String.t() | nil, + :diskSizeGb => String.t() | nil, + :guestOsFeatures => list(GoogleApi.Compute.V1.Model.GuestOsFeature.t()) | nil, + :licenseCodes => list(String.t()) | nil, :snapshotType => String.t() | nil, - :sourceDisk => String.t() | nil, - :sourceDiskEncryptionKey => GoogleApi.Compute.V1.Model.CustomerEncryptionKey.t() | nil, - :sourceDiskId => String.t() | nil, + :licenses => list(String.t()) | nil, :sourceSnapshotSchedulePolicy => String.t() | nil, + :labelFingerprint => String.t() | nil, + :creationTimestamp => String.t() | nil, :sourceSnapshotSchedulePolicyId => String.t() | nil, - :status => String.t() | nil, + :id => String.t() | nil, :storageBytes => String.t() | nil, - :storageBytesStatus => String.t() | nil, - :storageLocations => list(String.t()) | nil + :labels => map() | nil, + :selfLink => String.t() | nil, + :satisfiesPzi => boolean() | nil, + :sourceDisk => String.t() | nil, + :downloadBytes => String.t() | nil, + :creationSizeBytes => String.t() | nil } field(:architecture) field(:autoCreated) + field(:locationHint) + field(:sourceInstantSnapshot) + field(:storageLocations, type: :list) + field(:snapshotEncryptionKey, as: GoogleApi.Compute.V1.Model.CustomerEncryptionKey) + field(:sourceInstantSnapshotId) field(:chainName) - field(:creationSizeBytes) - field(:creationTimestamp) + field(:satisfiesPzs) field(:description) - field(:diskSizeGb) - field(:downloadBytes) - field(:id) + field(:sourceDiskId) field(:kind) - field(:labelFingerprint) - field(:labels, type: :map) - field(:licenseCodes, type: :list) - field(:licenses, type: :list) - field(:locationHint) + field(:enableConfidentialCompute) + field(:sourceDiskEncryptionKey, as: GoogleApi.Compute.V1.Model.CustomerEncryptionKey) field(:name) - field(:satisfiesPzs) - field(:selfLink) - field(:snapshotEncryptionKey, as: GoogleApi.Compute.V1.Model.CustomerEncryptionKey) + field(:status) + field(:storageBytesStatus) + field(:sourceInstantSnapshotEncryptionKey, as: GoogleApi.Compute.V1.Model.CustomerEncryptionKey) + field(:sourceDiskForRecoveryCheckpoint) + field(:diskSizeGb) + field(:guestOsFeatures, as: GoogleApi.Compute.V1.Model.GuestOsFeature, type: :list) + field(:licenseCodes, type: :list) field(:snapshotType) - field(:sourceDisk) - field(:sourceDiskEncryptionKey, as: GoogleApi.Compute.V1.Model.CustomerEncryptionKey) - field(:sourceDiskId) + field(:licenses, type: :list) field(:sourceSnapshotSchedulePolicy) + field(:labelFingerprint) + field(:creationTimestamp) field(:sourceSnapshotSchedulePolicyId) - field(:status) + field(:id) field(:storageBytes) - field(:storageBytesStatus) - field(:storageLocations, type: :list) + field(:labels, type: :map) + field(:selfLink) + field(:satisfiesPzi) + field(:sourceDisk) + field(:downloadBytes) + field(:creationSizeBytes) end defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.Snapshot do diff --git a/clients/compute/lib/google_api/compute/v1/model/snapshot_settings.ex b/clients/compute/lib/google_api/compute/v1/model/snapshot_settings.ex new file mode 100644 index 0000000000..e1f8e6cd96 --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/snapshot_settings.ex @@ -0,0 +1,47 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.Compute.V1.Model.SnapshotSettings do + @moduledoc """ + + + ## Attributes + + * `storageLocation` (*type:* `GoogleApi.Compute.V1.Model.SnapshotSettingsStorageLocationSettings.t`, *default:* `nil`) - Policy of which storage location is going to be resolved, and additional data that particularizes how the policy is going to be carried out. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :storageLocation => + GoogleApi.Compute.V1.Model.SnapshotSettingsStorageLocationSettings.t() | nil + } + + field(:storageLocation, as: GoogleApi.Compute.V1.Model.SnapshotSettingsStorageLocationSettings) +end + +defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.SnapshotSettings do + def decode(value, options) do + GoogleApi.Compute.V1.Model.SnapshotSettings.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.SnapshotSettings 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/snapshot_settings_storage_location_settings.ex b/clients/compute/lib/google_api/compute/v1/model/snapshot_settings_storage_location_settings.ex new file mode 100644 index 0000000000..14d9a47004 --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/snapshot_settings_storage_location_settings.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.Compute.V1.Model.SnapshotSettingsStorageLocationSettings do + @moduledoc """ + + + ## Attributes + + * `locations` (*type:* `%{optional(String.t) => GoogleApi.Compute.V1.Model.SnapshotSettingsStorageLocationSettingsStorageLocationPreference.t}`, *default:* `nil`) - When the policy is SPECIFIC_LOCATIONS, snapshots will be stored in the locations listed in this field. Keys are GCS bucket locations. + * `policy` (*type:* `String.t`, *default:* `nil`) - The chosen location policy. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :locations => + %{ + optional(String.t()) => + GoogleApi.Compute.V1.Model.SnapshotSettingsStorageLocationSettingsStorageLocationPreference.t() + } + | nil, + :policy => String.t() | nil + } + + field(:locations, + as: + GoogleApi.Compute.V1.Model.SnapshotSettingsStorageLocationSettingsStorageLocationPreference, + type: :map + ) + + field(:policy) +end + +defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.SnapshotSettingsStorageLocationSettings do + def decode(value, options) do + GoogleApi.Compute.V1.Model.SnapshotSettingsStorageLocationSettings.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.SnapshotSettingsStorageLocationSettings 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/snapshot_settings_storage_location_settings_storage_location_preference.ex b/clients/compute/lib/google_api/compute/v1/model/snapshot_settings_storage_location_settings_storage_location_preference.ex new file mode 100644 index 0000000000..68ee6423ff --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/snapshot_settings_storage_location_settings_storage_location_preference.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.Compute.V1.Model.SnapshotSettingsStorageLocationSettingsStorageLocationPreference do + @moduledoc """ + A structure for specifying storage locations. + + ## Attributes + + * `name` (*type:* `String.t`, *default:* `nil`) - Name of the location. It should be one of the GCS buckets. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :name => String.t() | nil + } + + field(:name) +end + +defimpl Poison.Decoder, + for: GoogleApi.Compute.V1.Model.SnapshotSettingsStorageLocationSettingsStorageLocationPreference do + def decode(value, options) do + GoogleApi.Compute.V1.Model.SnapshotSettingsStorageLocationSettingsStorageLocationPreference.decode( + value, + options + ) + end +end + +defimpl Poison.Encoder, + for: GoogleApi.Compute.V1.Model.SnapshotSettingsStorageLocationSettingsStorageLocationPreference 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/source_instance_params.ex b/clients/compute/lib/google_api/compute/v1/model/source_instance_params.ex index 020415960e..09bbb0211b 100644 --- a/clients/compute/lib/google_api/compute/v1/model/source_instance_params.ex +++ b/clients/compute/lib/google_api/compute/v1/model/source_instance_params.ex @@ -21,7 +21,7 @@ defmodule GoogleApi.Compute.V1.Model.SourceInstanceParams do ## Attributes - * `diskConfigs` (*type:* `list(GoogleApi.Compute.V1.Model.DiskInstantiationConfig.t)`, *default:* `nil`) - Attached disks configuration. If not provided, defaults are applied: For boot disk and any other R/W disks, new custom images will be created from each disk. For read-only disks, they will be attached in read-only mode. Local SSD disks will be created as blank volumes. + * `diskConfigs` (*type:* `list(GoogleApi.Compute.V1.Model.DiskInstantiationConfig.t)`, *default:* `nil`) - Attached disks configuration. If not provided, defaults are applied: For boot disk and any other R/W disks, the source images for each disk will be used. For read-only disks, they will be attached in read-only mode. Local SSD disks will be created as blank volumes. """ use GoogleApi.Gax.ModelBase diff --git a/clients/compute/lib/google_api/compute/v1/model/ssl_certificate.ex b/clients/compute/lib/google_api/compute/v1/model/ssl_certificate.ex index 82b29f8e6c..a51353237a 100644 --- a/clients/compute/lib/google_api/compute/v1/model/ssl_certificate.ex +++ b/clients/compute/lib/google_api/compute/v1/model/ssl_certificate.ex @@ -17,7 +17,7 @@ defmodule GoogleApi.Compute.V1.Model.SslCertificate do @moduledoc """ - Represents an SSL Certificate resource. Google Compute Engine has two SSL Certificate resources: * [Global](/compute/docs/reference/rest/v1/sslCertificates) * [Regional](/compute/docs/reference/rest/v1/regionSslCertificates) The sslCertificates are used by: - external HTTPS load balancers - SSL proxy load balancers The regionSslCertificates are used by internal HTTPS load balancers. Optionally, certificate file contents that you upload can contain a set of up to five PEM-encoded certificates. The API call creates an object (sslCertificate) that holds this data. You can use SSL keys and certificates to secure connections to a load balancer. For more information, read Creating and using SSL certificates, SSL certificates quotas and limits, and Troubleshooting SSL certificates. + Represents an SSL certificate resource. Google Compute Engine has two SSL certificate resources: * [Global](/compute/docs/reference/rest/v1/sslCertificates) * [Regional](/compute/docs/reference/rest/v1/regionSslCertificates) The global SSL certificates (sslCertificates) are used by: - Global external Application Load Balancers - Classic Application Load Balancers - Proxy Network Load Balancers (with target SSL proxies) The regional SSL certificates (regionSslCertificates) are used by: - Regional external Application Load Balancers - Regional internal Application Load Balancers Optionally, certificate file contents that you upload can contain a set of up to five PEM-encoded certificates. The API call creates an object (sslCertificate) that holds this data. You can use SSL keys and certificates to secure connections to a load balancer. For more information, read Creating and using SSL certificates, SSL certificates quotas and limits, and Troubleshooting SSL certificates. ## Attributes diff --git a/clients/compute/lib/google_api/compute/v1/model/ssl_health_check.ex b/clients/compute/lib/google_api/compute/v1/model/ssl_health_check.ex index 75c43a4374..e13d7512ed 100644 --- a/clients/compute/lib/google_api/compute/v1/model/ssl_health_check.ex +++ b/clients/compute/lib/google_api/compute/v1/model/ssl_health_check.ex @@ -23,7 +23,7 @@ defmodule GoogleApi.Compute.V1.Model.SSLHealthCheck do * `port` (*type:* `integer()`, *default:* `nil`) - The TCP port number to which the health check prober sends packets. The default value is 443. Valid values are 1 through 65535. * `portName` (*type:* `String.t`, *default:* `nil`) - Not supported. - * `portSpecification` (*type:* `String.t`, *default:* `nil`) - Specifies how a port is selected for health checking. Can be one of the following values: USE_FIXED_PORT: Specifies a port number explicitly using the port field in the health check. Supported by backend services for pass-through load balancers and backend services for proxy load balancers. Not supported by target pools. The health check supports all backends supported by the backend service provided the backend can be health checked. For example, GCE_VM_IP network endpoint groups, GCE_VM_IP_PORT network endpoint groups, and instance group backends. USE_NAMED_PORT: Not supported. USE_SERVING_PORT: Provides an indirect method of specifying the health check port by referring to the backend service. Only supported by backend services for proxy load balancers. Not supported by target pools. Not supported by backend services for pass-through load balancers. Supports all backends that can be health checked; for example, GCE_VM_IP_PORT network endpoint groups and instance group backends. For GCE_VM_IP_PORT network endpoint group backends, the health check uses the port number specified for each endpoint in the network endpoint group. For instance group backends, the health check uses the port number determined by looking up the backend service's named port in the instance group's list of named ports. + * `portSpecification` (*type:* `String.t`, *default:* `nil`) - Specifies how a port is selected for health checking. Can be one of the following values: USE_FIXED_PORT: Specifies a port number explicitly using the port field in the health check. Supported by backend services for passthrough load balancers and backend services for proxy load balancers. Not supported by target pools. The health check supports all backends supported by the backend service provided the backend can be health checked. For example, GCE_VM_IP network endpoint groups, GCE_VM_IP_PORT network endpoint groups, and instance group backends. USE_NAMED_PORT: Not supported. USE_SERVING_PORT: Provides an indirect method of specifying the health check port by referring to the backend service. Only supported by backend services for proxy load balancers. Not supported by target pools. Not supported by backend services for passthrough load balancers. Supports all backends that can be health checked; for example, GCE_VM_IP_PORT network endpoint groups and instance group backends. For GCE_VM_IP_PORT network endpoint group backends, the health check uses the port number specified for each endpoint in the network endpoint group. For instance group backends, the health check uses the port number determined by looking up the backend service's named port in the instance group's list of named ports. * `proxyHeader` (*type:* `String.t`, *default:* `nil`) - Specifies the type of proxy header to append before sending data to the backend, either NONE or PROXY_V1. The default is NONE. * `request` (*type:* `String.t`, *default:* `nil`) - Instructs the health check prober to send this exact ASCII string, up to 1024 bytes in length, after establishing the TCP connection and SSL handshake. * `response` (*type:* `String.t`, *default:* `nil`) - Creates a content-based SSL health check. In addition to establishing a TCP connection and the TLS handshake, you can configure the health check to pass only when the backend sends this exact response ASCII string, up to 1024 bytes in length. For details, see: https://cloud.google.com/load-balancing/docs/health-check-concepts#criteria-protocol-ssl-tcp diff --git a/clients/compute/lib/google_api/compute/v1/model/ssl_policy.ex b/clients/compute/lib/google_api/compute/v1/model/ssl_policy.ex index b59ee5fac1..24246bd0c9 100644 --- a/clients/compute/lib/google_api/compute/v1/model/ssl_policy.ex +++ b/clients/compute/lib/google_api/compute/v1/model/ssl_policy.ex @@ -17,7 +17,7 @@ defmodule GoogleApi.Compute.V1.Model.SslPolicy do @moduledoc """ - Represents an SSL Policy resource. Use SSL policies to control the SSL features, such as versions and cipher suites, offered by an HTTPS or SSL Proxy load balancer. For more information, read SSL Policy Concepts. + Represents an SSL Policy resource. Use SSL policies to control SSL features, such as versions and cipher suites, that are offered by Application Load Balancers and proxy Network Load Balancers. For more information, read SSL policies overview. ## Attributes diff --git a/clients/compute/lib/google_api/compute/v1/model/stateful_policy_preserved_state.ex b/clients/compute/lib/google_api/compute/v1/model/stateful_policy_preserved_state.ex index 816a943a72..3cb3e23719 100644 --- a/clients/compute/lib/google_api/compute/v1/model/stateful_policy_preserved_state.ex +++ b/clients/compute/lib/google_api/compute/v1/model/stateful_policy_preserved_state.ex @@ -22,6 +22,8 @@ defmodule GoogleApi.Compute.V1.Model.StatefulPolicyPreservedState do ## Attributes * `disks` (*type:* `%{optional(String.t) => GoogleApi.Compute.V1.Model.StatefulPolicyPreservedStateDiskDevice.t}`, *default:* `nil`) - Disks created on the instances that will be preserved on instance delete, update, etc. This map is keyed with the device names of the disks. + * `externalIPs` (*type:* `%{optional(String.t) => GoogleApi.Compute.V1.Model.StatefulPolicyPreservedStateNetworkIp.t}`, *default:* `nil`) - External network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. + * `internalIPs` (*type:* `%{optional(String.t) => GoogleApi.Compute.V1.Model.StatefulPolicyPreservedStateNetworkIp.t}`, *default:* `nil`) - Internal network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. """ use GoogleApi.Gax.ModelBase @@ -32,10 +34,32 @@ defmodule GoogleApi.Compute.V1.Model.StatefulPolicyPreservedState do optional(String.t()) => GoogleApi.Compute.V1.Model.StatefulPolicyPreservedStateDiskDevice.t() } + | nil, + :externalIPs => + %{ + optional(String.t()) => + GoogleApi.Compute.V1.Model.StatefulPolicyPreservedStateNetworkIp.t() + } + | nil, + :internalIPs => + %{ + optional(String.t()) => + GoogleApi.Compute.V1.Model.StatefulPolicyPreservedStateNetworkIp.t() + } | nil } field(:disks, as: GoogleApi.Compute.V1.Model.StatefulPolicyPreservedStateDiskDevice, type: :map) + + field(:externalIPs, + as: GoogleApi.Compute.V1.Model.StatefulPolicyPreservedStateNetworkIp, + type: :map + ) + + field(:internalIPs, + as: GoogleApi.Compute.V1.Model.StatefulPolicyPreservedStateNetworkIp, + type: :map + ) end defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.StatefulPolicyPreservedState do diff --git a/clients/compute/lib/google_api/compute/v1/model/stateful_policy_preserved_state_network_ip.ex b/clients/compute/lib/google_api/compute/v1/model/stateful_policy_preserved_state_network_ip.ex new file mode 100644 index 0000000000..5c0ab45864 --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/stateful_policy_preserved_state_network_ip.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.Compute.V1.Model.StatefulPolicyPreservedStateNetworkIp do + @moduledoc """ + + + ## Attributes + + * `autoDelete` (*type:* `String.t`, *default:* `nil`) - These stateful IPs will never be released during autohealing, update or VM instance recreate operations. This flag is used to configure if the IP reservation should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :autoDelete => String.t() | nil + } + + field(:autoDelete) +end + +defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.StatefulPolicyPreservedStateNetworkIp do + def decode(value, options) do + GoogleApi.Compute.V1.Model.StatefulPolicyPreservedStateNetworkIp.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.StatefulPolicyPreservedStateNetworkIp 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/status.ex b/clients/compute/lib/google_api/compute/v1/model/status.ex new file mode 100644 index 0000000000..549b188fb6 --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/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.Compute.V1.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.Compute.V1.Model.Status do + def decode(value, options) do + GoogleApi.Compute.V1.Model.Status.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.Status 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/storage_pool.ex b/clients/compute/lib/google_api/compute/v1/model/storage_pool.ex new file mode 100644 index 0000000000..8bf25c1edd --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/storage_pool.ex @@ -0,0 +1,100 @@ +# 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.StoragePool do + @moduledoc """ + Represents a zonal storage pool resource. + + ## Attributes + + * `capacityProvisioningType` (*type:* `String.t`, *default:* `nil`) - Provisioning type of the byte capacity of the pool. + * `creationTimestamp` (*type:* `String.t`, *default:* `nil`) - [Output Only] Creation timestamp in RFC3339 text format. + * `description` (*type:* `String.t`, *default:* `nil`) - An optional description of this resource. Provide this property when you create the resource. + * `id` (*type:* `String.t`, *default:* `nil`) - [Output Only] The unique identifier for the resource. This identifier is defined by the server. + * `kind` (*type:* `String.t`, *default:* `compute#storagePool`) - [Output Only] Type of the resource. Always compute#storagePool for storage pools. + * `labelFingerprint` (*type:* `String.t`, *default:* `nil`) - A fingerprint for the labels being applied to this storage pool, which is essentially a hash of the labels set used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve a storage pool. + * `labels` (*type:* `map()`, *default:* `nil`) - Labels to apply to this storage pool. These can be later modified by the setLabels method. + * `name` (*type:* `String.t`, *default:* `nil`) - Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. + * `performanceProvisioningType` (*type:* `String.t`, *default:* `nil`) - Provisioning type of the performance-related parameters of the pool, such as throughput and IOPS. + * `poolProvisionedCapacityGb` (*type:* `String.t`, *default:* `nil`) - Size, in GiB, of the storage pool. + * `poolProvisionedIops` (*type:* `String.t`, *default:* `nil`) - Provisioned IOPS of the storage pool. Only relevant if the storage pool type is hyperdisk-balanced. + * `poolProvisionedThroughput` (*type:* `String.t`, *default:* `nil`) - Provisioned throughput of the storage pool. Only relevant if the storage pool type is hyperdisk-balanced or hyperdisk-throughput. + * `resourceStatus` (*type:* `GoogleApi.Compute.V1.Model.StoragePoolResourceStatus.t`, *default:* `nil`) - [Output Only] Status information for the storage pool resource. + * `selfLink` (*type:* `String.t`, *default:* `nil`) - [Output Only] Server-defined fully-qualified URL for this resource. + * `selfLinkWithId` (*type:* `String.t`, *default:* `nil`) - [Output Only] Server-defined URL for this resource's resource id. + * `state` (*type:* `String.t`, *default:* `nil`) - [Output Only] The status of storage pool creation. - CREATING: Storage pool is provisioning. storagePool. - FAILED: Storage pool creation failed. - READY: Storage pool is ready for use. - DELETING: Storage pool is deleting. + * `status` (*type:* `GoogleApi.Compute.V1.Model.StoragePoolResourceStatus.t`, *default:* `nil`) - [Output Only] Status information for the storage pool resource. + * `storagePoolType` (*type:* `String.t`, *default:* `nil`) - Type of the storage pool. + * `zone` (*type:* `String.t`, *default:* `nil`) - [Output Only] URL of the zone where the storage pool resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :capacityProvisioningType => String.t() | nil, + :creationTimestamp => String.t() | nil, + :description => String.t() | nil, + :id => String.t() | nil, + :kind => String.t() | nil, + :labelFingerprint => String.t() | nil, + :labels => map() | nil, + :name => String.t() | nil, + :performanceProvisioningType => String.t() | nil, + :poolProvisionedCapacityGb => String.t() | nil, + :poolProvisionedIops => String.t() | nil, + :poolProvisionedThroughput => String.t() | nil, + :resourceStatus => GoogleApi.Compute.V1.Model.StoragePoolResourceStatus.t() | nil, + :selfLink => String.t() | nil, + :selfLinkWithId => String.t() | nil, + :state => String.t() | nil, + :status => GoogleApi.Compute.V1.Model.StoragePoolResourceStatus.t() | nil, + :storagePoolType => String.t() | nil, + :zone => String.t() | nil + } + + field(:capacityProvisioningType) + field(:creationTimestamp) + field(:description) + field(:id) + field(:kind) + field(:labelFingerprint) + field(:labels, type: :map) + field(:name) + field(:performanceProvisioningType) + field(:poolProvisionedCapacityGb) + field(:poolProvisionedIops) + field(:poolProvisionedThroughput) + field(:resourceStatus, as: GoogleApi.Compute.V1.Model.StoragePoolResourceStatus) + field(:selfLink) + field(:selfLinkWithId) + field(:state) + field(:status, as: GoogleApi.Compute.V1.Model.StoragePoolResourceStatus) + field(:storagePoolType) + field(:zone) +end + +defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.StoragePool do + def decode(value, options) do + GoogleApi.Compute.V1.Model.StoragePool.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.StoragePool 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/storage_pool_aggregated_list.ex b/clients/compute/lib/google_api/compute/v1/model/storage_pool_aggregated_list.ex new file mode 100644 index 0000000000..903d41f2e0 --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/storage_pool_aggregated_list.ex @@ -0,0 +1,68 @@ +# 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.StoragePoolAggregatedList do + @moduledoc """ + + + ## Attributes + + * `etag` (*type:* `String.t`, *default:* `nil`) - + * `id` (*type:* `String.t`, *default:* `nil`) - [Output Only] Unique identifier for the resource; defined by the server. + * `items` (*type:* `%{optional(String.t) => GoogleApi.Compute.V1.Model.StoragePoolsScopedList.t}`, *default:* `nil`) - A list of StoragePoolsScopedList resources. + * `kind` (*type:* `String.t`, *default:* `compute#storagePoolAggregatedList`) - [Output Only] Type of resource. Always compute#storagePoolAggregatedList for aggregated lists of storage pools. + * `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. + * `unreachables` (*type:* `list(String.t)`, *default:* `nil`) - [Output Only] Unreachable resources. + * `warning` (*type:* `GoogleApi.Compute.V1.Model.StoragePoolAggregatedListWarning.t`, *default:* `nil`) - [Output Only] Informational warning message. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :etag => String.t() | nil, + :id => String.t() | nil, + :items => + %{optional(String.t()) => GoogleApi.Compute.V1.Model.StoragePoolsScopedList.t()} | nil, + :kind => String.t() | nil, + :nextPageToken => String.t() | nil, + :selfLink => String.t() | nil, + :unreachables => list(String.t()) | nil, + :warning => GoogleApi.Compute.V1.Model.StoragePoolAggregatedListWarning.t() | nil + } + + field(:etag) + field(:id) + field(:items, as: GoogleApi.Compute.V1.Model.StoragePoolsScopedList, type: :map) + field(:kind) + field(:nextPageToken) + field(:selfLink) + field(:unreachables, type: :list) + field(:warning, as: GoogleApi.Compute.V1.Model.StoragePoolAggregatedListWarning) +end + +defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.StoragePoolAggregatedList do + def decode(value, options) do + GoogleApi.Compute.V1.Model.StoragePoolAggregatedList.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.StoragePoolAggregatedList 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/storage_pool_aggregated_list_warning.ex b/clients/compute/lib/google_api/compute/v1/model/storage_pool_aggregated_list_warning.ex new file mode 100644 index 0000000000..0100f196e4 --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/storage_pool_aggregated_list_warning.ex @@ -0,0 +1,53 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.Compute.V1.Model.StoragePoolAggregatedListWarning 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.StoragePoolAggregatedListWarningData.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.StoragePoolAggregatedListWarningData.t()) | nil, + :message => String.t() | nil + } + + field(:code) + field(:data, as: GoogleApi.Compute.V1.Model.StoragePoolAggregatedListWarningData, type: :list) + field(:message) +end + +defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.StoragePoolAggregatedListWarning do + def decode(value, options) do + GoogleApi.Compute.V1.Model.StoragePoolAggregatedListWarning.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.StoragePoolAggregatedListWarning 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/storage_pool_aggregated_list_warning_data.ex b/clients/compute/lib/google_api/compute/v1/model/storage_pool_aggregated_list_warning_data.ex new file mode 100644 index 0000000000..d75601997f --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/storage_pool_aggregated_list_warning_data.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.Compute.V1.Model.StoragePoolAggregatedListWarningData 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.StoragePoolAggregatedListWarningData do + def decode(value, options) do + GoogleApi.Compute.V1.Model.StoragePoolAggregatedListWarningData.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.StoragePoolAggregatedListWarningData 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/storage_pool_disk.ex b/clients/compute/lib/google_api/compute/v1/model/storage_pool_disk.ex new file mode 100644 index 0000000000..9380a56695 --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/storage_pool_disk.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.Compute.V1.Model.StoragePoolDisk do + @moduledoc """ + + + ## Attributes + + * `attachedInstances` (*type:* `list(String.t)`, *default:* `nil`) - [Output Only] Instances this disk is attached to. + * `creationTimestamp` (*type:* `String.t`, *default:* `nil`) - [Output Only] Creation timestamp in RFC3339 text format. + * `disk` (*type:* `String.t`, *default:* `nil`) - [Output Only] The URL of the disk. + * `name` (*type:* `String.t`, *default:* `nil`) - [Output Only] The name of the disk. + * `provisionedIops` (*type:* `String.t`, *default:* `nil`) - [Output Only] The number of IOPS provisioned for the disk. + * `provisionedThroughput` (*type:* `String.t`, *default:* `nil`) - [Output Only] The throughput provisioned for the disk. + * `resourcePolicies` (*type:* `list(String.t)`, *default:* `nil`) - [Output Only] Resource policies applied to disk for automatic snapshot creations. + * `sizeGb` (*type:* `String.t`, *default:* `nil`) - [Output Only] The disk size, in GB. + * `status` (*type:* `String.t`, *default:* `nil`) - [Output Only] The disk status. + * `type` (*type:* `String.t`, *default:* `nil`) - [Output Only] The disk type. + * `usedBytes` (*type:* `String.t`, *default:* `nil`) - [Output Only] Amount of disk space used. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :attachedInstances => list(String.t()) | nil, + :creationTimestamp => String.t() | nil, + :disk => String.t() | nil, + :name => String.t() | nil, + :provisionedIops => String.t() | nil, + :provisionedThroughput => String.t() | nil, + :resourcePolicies => list(String.t()) | nil, + :sizeGb => String.t() | nil, + :status => String.t() | nil, + :type => String.t() | nil, + :usedBytes => String.t() | nil + } + + field(:attachedInstances, type: :list) + field(:creationTimestamp) + field(:disk) + field(:name) + field(:provisionedIops) + field(:provisionedThroughput) + field(:resourcePolicies, type: :list) + field(:sizeGb) + field(:status) + field(:type) + field(:usedBytes) +end + +defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.StoragePoolDisk do + def decode(value, options) do + GoogleApi.Compute.V1.Model.StoragePoolDisk.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.StoragePoolDisk 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/storage_pool_list.ex b/clients/compute/lib/google_api/compute/v1/model/storage_pool_list.ex new file mode 100644 index 0000000000..6c34fcc06a --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/storage_pool_list.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.Compute.V1.Model.StoragePoolList do + @moduledoc """ + A list of StoragePool resources. + + ## Attributes + + * `etag` (*type:* `String.t`, *default:* `nil`) - + * `id` (*type:* `String.t`, *default:* `nil`) - [Output Only] Unique identifier for the resource; defined by the server. + * `items` (*type:* `list(GoogleApi.Compute.V1.Model.StoragePool.t)`, *default:* `nil`) - A list of StoragePool resources. + * `kind` (*type:* `String.t`, *default:* `compute#storagePoolList`) - [Output Only] Type of resource. Always compute#storagePoolList for lists of storagePools. + * `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. + * `unreachables` (*type:* `list(String.t)`, *default:* `nil`) - [Output Only] Unreachable resources. end_interface: MixerListResponseWithEtagBuilder + * `warning` (*type:* `GoogleApi.Compute.V1.Model.StoragePoolListWarning.t`, *default:* `nil`) - [Output Only] Informational warning message. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :etag => String.t() | nil, + :id => String.t() | nil, + :items => list(GoogleApi.Compute.V1.Model.StoragePool.t()) | nil, + :kind => String.t() | nil, + :nextPageToken => String.t() | nil, + :selfLink => String.t() | nil, + :unreachables => list(String.t()) | nil, + :warning => GoogleApi.Compute.V1.Model.StoragePoolListWarning.t() | nil + } + + field(:etag) + field(:id) + field(:items, as: GoogleApi.Compute.V1.Model.StoragePool, type: :list) + field(:kind) + field(:nextPageToken) + field(:selfLink) + field(:unreachables, type: :list) + field(:warning, as: GoogleApi.Compute.V1.Model.StoragePoolListWarning) +end + +defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.StoragePoolList do + def decode(value, options) do + GoogleApi.Compute.V1.Model.StoragePoolList.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.StoragePoolList 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/storage_pool_list_disks.ex b/clients/compute/lib/google_api/compute/v1/model/storage_pool_list_disks.ex new file mode 100644 index 0000000000..c10a6e5a07 --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/storage_pool_list_disks.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.Compute.V1.Model.StoragePoolListDisks do + @moduledoc """ + + + ## Attributes + + * `etag` (*type:* `String.t`, *default:* `nil`) - + * `id` (*type:* `String.t`, *default:* `nil`) - [Output Only] Unique identifier for the resource; defined by the server. + * `items` (*type:* `list(GoogleApi.Compute.V1.Model.StoragePoolDisk.t)`, *default:* `nil`) - A list of StoragePoolDisk resources. + * `kind` (*type:* `String.t`, *default:* `compute#storagePoolListDisks`) - [Output Only] Type of resource. Always compute#storagePoolListDisks for lists of disks in a storagePool. + * `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. + * `unreachables` (*type:* `list(String.t)`, *default:* `nil`) - [Output Only] Unreachable resources. end_interface: MixerListResponseWithEtagBuilder + * `warning` (*type:* `GoogleApi.Compute.V1.Model.StoragePoolListDisksWarning.t`, *default:* `nil`) - [Output Only] Informational warning message. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :etag => String.t() | nil, + :id => String.t() | nil, + :items => list(GoogleApi.Compute.V1.Model.StoragePoolDisk.t()) | nil, + :kind => String.t() | nil, + :nextPageToken => String.t() | nil, + :selfLink => String.t() | nil, + :unreachables => list(String.t()) | nil, + :warning => GoogleApi.Compute.V1.Model.StoragePoolListDisksWarning.t() | nil + } + + field(:etag) + field(:id) + field(:items, as: GoogleApi.Compute.V1.Model.StoragePoolDisk, type: :list) + field(:kind) + field(:nextPageToken) + field(:selfLink) + field(:unreachables, type: :list) + field(:warning, as: GoogleApi.Compute.V1.Model.StoragePoolListDisksWarning) +end + +defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.StoragePoolListDisks do + def decode(value, options) do + GoogleApi.Compute.V1.Model.StoragePoolListDisks.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.StoragePoolListDisks 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/storage_pool_list_disks_warning.ex b/clients/compute/lib/google_api/compute/v1/model/storage_pool_list_disks_warning.ex new file mode 100644 index 0000000000..7a7ae43cb3 --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/storage_pool_list_disks_warning.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.Compute.V1.Model.StoragePoolListDisksWarning 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.StoragePoolListDisksWarningData.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.StoragePoolListDisksWarningData.t()) | nil, + :message => String.t() | nil + } + + field(:code) + field(:data, as: GoogleApi.Compute.V1.Model.StoragePoolListDisksWarningData, type: :list) + field(:message) +end + +defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.StoragePoolListDisksWarning do + def decode(value, options) do + GoogleApi.Compute.V1.Model.StoragePoolListDisksWarning.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.StoragePoolListDisksWarning 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/storage_pool_list_disks_warning_data.ex b/clients/compute/lib/google_api/compute/v1/model/storage_pool_list_disks_warning_data.ex new file mode 100644 index 0000000000..4f87fd1867 --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/storage_pool_list_disks_warning_data.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.Compute.V1.Model.StoragePoolListDisksWarningData 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.StoragePoolListDisksWarningData do + def decode(value, options) do + GoogleApi.Compute.V1.Model.StoragePoolListDisksWarningData.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.StoragePoolListDisksWarningData 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/storage_pool_list_warning.ex b/clients/compute/lib/google_api/compute/v1/model/storage_pool_list_warning.ex new file mode 100644 index 0000000000..3582b8fb6a --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/storage_pool_list_warning.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.Compute.V1.Model.StoragePoolListWarning 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.StoragePoolListWarningData.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.StoragePoolListWarningData.t()) | nil, + :message => String.t() | nil + } + + field(:code) + field(:data, as: GoogleApi.Compute.V1.Model.StoragePoolListWarningData, type: :list) + field(:message) +end + +defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.StoragePoolListWarning do + def decode(value, options) do + GoogleApi.Compute.V1.Model.StoragePoolListWarning.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.StoragePoolListWarning 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/storage_pool_list_warning_data.ex b/clients/compute/lib/google_api/compute/v1/model/storage_pool_list_warning_data.ex new file mode 100644 index 0000000000..df8d656e92 --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/storage_pool_list_warning_data.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.Compute.V1.Model.StoragePoolListWarningData 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.StoragePoolListWarningData do + def decode(value, options) do + GoogleApi.Compute.V1.Model.StoragePoolListWarningData.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.StoragePoolListWarningData 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/storage_pool_resource_status.ex b/clients/compute/lib/google_api/compute/v1/model/storage_pool_resource_status.ex new file mode 100644 index 0000000000..3831d3acc7 --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/storage_pool_resource_status.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.Compute.V1.Model.StoragePoolResourceStatus do + @moduledoc """ + [Output Only] Contains output only fields. + + ## Attributes + + * `diskCount` (*type:* `String.t`, *default:* `nil`) - [Output Only] Number of disks used. + * `lastResizeTimestamp` (*type:* `String.t`, *default:* `nil`) - [Output Only] Timestamp of the last successful resize in RFC3339 text format. + * `maxTotalProvisionedDiskCapacityGb` (*type:* `String.t`, *default:* `nil`) - [Output Only] Maximum allowed aggregate disk size in gigabytes. + * `poolUsedCapacityBytes` (*type:* `String.t`, *default:* `nil`) - [Output Only] Space used by data stored in disks within the storage pool (in bytes). This will reflect the total number of bytes written to the disks in the pool, in contrast to the capacity of those disks. + * `poolUsedIops` (*type:* `String.t`, *default:* `nil`) - Sum of all the disks' provisioned IOPS, minus some amount that is allowed per disk that is not counted towards pool's IOPS capacity. + * `poolUsedThroughput` (*type:* `String.t`, *default:* `nil`) - [Output Only] Sum of all the disks' provisioned throughput in MB/s. + * `poolUserWrittenBytes` (*type:* `String.t`, *default:* `nil`) - [Output Only] Amount of data written into the pool, before it is compacted. + * `totalProvisionedDiskCapacityGb` (*type:* `String.t`, *default:* `nil`) - [Output Only] Sum of all the capacity provisioned in disks in this storage pool. A disk's provisioned capacity is the same as its total capacity. + * `totalProvisionedDiskIops` (*type:* `String.t`, *default:* `nil`) - [Output Only] Sum of all the disks' provisioned IOPS. + * `totalProvisionedDiskThroughput` (*type:* `String.t`, *default:* `nil`) - [Output Only] Sum of all the disks' provisioned throughput in MB/s, minus some amount that is allowed per disk that is not counted towards pool's throughput capacity. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :diskCount => String.t() | nil, + :lastResizeTimestamp => String.t() | nil, + :maxTotalProvisionedDiskCapacityGb => String.t() | nil, + :poolUsedCapacityBytes => String.t() | nil, + :poolUsedIops => String.t() | nil, + :poolUsedThroughput => String.t() | nil, + :poolUserWrittenBytes => String.t() | nil, + :totalProvisionedDiskCapacityGb => String.t() | nil, + :totalProvisionedDiskIops => String.t() | nil, + :totalProvisionedDiskThroughput => String.t() | nil + } + + field(:diskCount) + field(:lastResizeTimestamp) + field(:maxTotalProvisionedDiskCapacityGb) + field(:poolUsedCapacityBytes) + field(:poolUsedIops) + field(:poolUsedThroughput) + field(:poolUserWrittenBytes) + field(:totalProvisionedDiskCapacityGb) + field(:totalProvisionedDiskIops) + field(:totalProvisionedDiskThroughput) +end + +defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.StoragePoolResourceStatus do + def decode(value, options) do + GoogleApi.Compute.V1.Model.StoragePoolResourceStatus.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.StoragePoolResourceStatus 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/storage_pool_type.ex b/clients/compute/lib/google_api/compute/v1/model/storage_pool_type.ex new file mode 100644 index 0000000000..7e37ade9b4 --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/storage_pool_type.ex @@ -0,0 +1,94 @@ +# 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.StoragePoolType do + @moduledoc """ + + + ## Attributes + + * `creationTimestamp` (*type:* `String.t`, *default:* `nil`) - [Output Only] Creation timestamp in RFC3339 text format. + * `deprecated` (*type:* `GoogleApi.Compute.V1.Model.DeprecationStatus.t`, *default:* `nil`) - [Output Only] The deprecation status associated with this storage pool type. + * `description` (*type:* `String.t`, *default:* `nil`) - [Output Only] An optional description of this resource. + * `id` (*type:* `String.t`, *default:* `nil`) - [Output Only] The unique identifier for the resource. This identifier is defined by the server. + * `kind` (*type:* `String.t`, *default:* `compute#storagePoolType`) - [Output Only] Type of the resource. Always compute#storagePoolType for storage pool types. + * `maxPoolProvisionedCapacityGb` (*type:* `String.t`, *default:* `nil`) - [Output Only] Maximum storage pool size in GB. + * `maxPoolProvisionedIops` (*type:* `String.t`, *default:* `nil`) - [Output Only] Maximum provisioned IOPS. + * `maxPoolProvisionedThroughput` (*type:* `String.t`, *default:* `nil`) - [Output Only] Maximum provisioned throughput. + * `minPoolProvisionedCapacityGb` (*type:* `String.t`, *default:* `nil`) - [Output Only] Minimum storage pool size in GB. + * `minPoolProvisionedIops` (*type:* `String.t`, *default:* `nil`) - [Output Only] Minimum provisioned IOPS. + * `minPoolProvisionedThroughput` (*type:* `String.t`, *default:* `nil`) - [Output Only] Minimum provisioned throughput. + * `minSizeGb` (*type:* `String.t`, *default:* `nil`) - [Deprecated] This field is deprecated. Use minPoolProvisionedCapacityGb instead. + * `name` (*type:* `String.t`, *default:* `nil`) - [Output Only] Name of the resource. + * `selfLink` (*type:* `String.t`, *default:* `nil`) - [Output Only] Server-defined URL for the resource. + * `selfLinkWithId` (*type:* `String.t`, *default:* `nil`) - [Output Only] Server-defined URL for this resource with the resource id. + * `supportedDiskTypes` (*type:* `list(String.t)`, *default:* `nil`) - [Output Only] The list of disk types supported in this storage pool type. + * `zone` (*type:* `String.t`, *default:* `nil`) - [Output Only] URL of the zone where the storage pool type resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :creationTimestamp => String.t() | nil, + :deprecated => GoogleApi.Compute.V1.Model.DeprecationStatus.t() | nil, + :description => String.t() | nil, + :id => String.t() | nil, + :kind => String.t() | nil, + :maxPoolProvisionedCapacityGb => String.t() | nil, + :maxPoolProvisionedIops => String.t() | nil, + :maxPoolProvisionedThroughput => String.t() | nil, + :minPoolProvisionedCapacityGb => String.t() | nil, + :minPoolProvisionedIops => String.t() | nil, + :minPoolProvisionedThroughput => String.t() | nil, + :minSizeGb => String.t() | nil, + :name => String.t() | nil, + :selfLink => String.t() | nil, + :selfLinkWithId => String.t() | nil, + :supportedDiskTypes => list(String.t()) | nil, + :zone => String.t() | nil + } + + field(:creationTimestamp) + field(:deprecated, as: GoogleApi.Compute.V1.Model.DeprecationStatus) + field(:description) + field(:id) + field(:kind) + field(:maxPoolProvisionedCapacityGb) + field(:maxPoolProvisionedIops) + field(:maxPoolProvisionedThroughput) + field(:minPoolProvisionedCapacityGb) + field(:minPoolProvisionedIops) + field(:minPoolProvisionedThroughput) + field(:minSizeGb) + field(:name) + field(:selfLink) + field(:selfLinkWithId) + field(:supportedDiskTypes, type: :list) + field(:zone) +end + +defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.StoragePoolType do + def decode(value, options) do + GoogleApi.Compute.V1.Model.StoragePoolType.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.StoragePoolType 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/storage_pool_type_aggregated_list.ex b/clients/compute/lib/google_api/compute/v1/model/storage_pool_type_aggregated_list.ex new file mode 100644 index 0000000000..926167060b --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/storage_pool_type_aggregated_list.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.Compute.V1.Model.StoragePoolTypeAggregatedList do + @moduledoc """ + + + ## Attributes + + * `id` (*type:* `String.t`, *default:* `nil`) - [Output Only] Unique identifier for the resource; defined by the server. + * `items` (*type:* `%{optional(String.t) => GoogleApi.Compute.V1.Model.StoragePoolTypesScopedList.t}`, *default:* `nil`) - A list of StoragePoolTypesScopedList resources. + * `kind` (*type:* `String.t`, *default:* `compute#storagePoolTypeAggregatedList`) - [Output Only] Type of resource. Always compute#storagePoolTypeAggregatedList . + * `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.StoragePoolTypeAggregatedListWarning.t`, *default:* `nil`) - [Output Only] Informational warning message. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :id => String.t() | nil, + :items => + %{optional(String.t()) => GoogleApi.Compute.V1.Model.StoragePoolTypesScopedList.t()} + | nil, + :kind => String.t() | nil, + :nextPageToken => String.t() | nil, + :selfLink => String.t() | nil, + :warning => GoogleApi.Compute.V1.Model.StoragePoolTypeAggregatedListWarning.t() | nil + } + + field(:id) + field(:items, as: GoogleApi.Compute.V1.Model.StoragePoolTypesScopedList, type: :map) + field(:kind) + field(:nextPageToken) + field(:selfLink) + field(:warning, as: GoogleApi.Compute.V1.Model.StoragePoolTypeAggregatedListWarning) +end + +defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.StoragePoolTypeAggregatedList do + def decode(value, options) do + GoogleApi.Compute.V1.Model.StoragePoolTypeAggregatedList.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.StoragePoolTypeAggregatedList 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/storage_pool_type_aggregated_list_warning.ex b/clients/compute/lib/google_api/compute/v1/model/storage_pool_type_aggregated_list_warning.ex new file mode 100644 index 0000000000..43ced95ffe --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/storage_pool_type_aggregated_list_warning.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.StoragePoolTypeAggregatedListWarning 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.StoragePoolTypeAggregatedListWarningData.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.StoragePoolTypeAggregatedListWarningData.t()) | nil, + :message => String.t() | nil + } + + field(:code) + + field(:data, + as: GoogleApi.Compute.V1.Model.StoragePoolTypeAggregatedListWarningData, + type: :list + ) + + field(:message) +end + +defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.StoragePoolTypeAggregatedListWarning do + def decode(value, options) do + GoogleApi.Compute.V1.Model.StoragePoolTypeAggregatedListWarning.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.StoragePoolTypeAggregatedListWarning 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/storage_pool_type_aggregated_list_warning_data.ex b/clients/compute/lib/google_api/compute/v1/model/storage_pool_type_aggregated_list_warning_data.ex new file mode 100644 index 0000000000..c87222ebd2 --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/storage_pool_type_aggregated_list_warning_data.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.Compute.V1.Model.StoragePoolTypeAggregatedListWarningData 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.StoragePoolTypeAggregatedListWarningData do + def decode(value, options) do + GoogleApi.Compute.V1.Model.StoragePoolTypeAggregatedListWarningData.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.StoragePoolTypeAggregatedListWarningData 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/storage_pool_type_list.ex b/clients/compute/lib/google_api/compute/v1/model/storage_pool_type_list.ex new file mode 100644 index 0000000000..3571cd0f3e --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/storage_pool_type_list.ex @@ -0,0 +1,61 @@ +# 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.StoragePoolTypeList do + @moduledoc """ + Contains a list of storage pool types. + + ## 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.StoragePoolType.t)`, *default:* `nil`) - A list of StoragePoolType resources. + * `kind` (*type:* `String.t`, *default:* `compute#storagePoolTypeList`) - [Output Only] Type of resource. Always compute#storagePoolTypeList for storage pool types. + * `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.StoragePoolTypeListWarning.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.StoragePoolType.t()) | nil, + :kind => String.t() | nil, + :nextPageToken => String.t() | nil, + :selfLink => String.t() | nil, + :warning => GoogleApi.Compute.V1.Model.StoragePoolTypeListWarning.t() | nil + } + + field(:id) + field(:items, as: GoogleApi.Compute.V1.Model.StoragePoolType, type: :list) + field(:kind) + field(:nextPageToken) + field(:selfLink) + field(:warning, as: GoogleApi.Compute.V1.Model.StoragePoolTypeListWarning) +end + +defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.StoragePoolTypeList do + def decode(value, options) do + GoogleApi.Compute.V1.Model.StoragePoolTypeList.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.StoragePoolTypeList 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/storage_pool_type_list_warning.ex b/clients/compute/lib/google_api/compute/v1/model/storage_pool_type_list_warning.ex new file mode 100644 index 0000000000..ac86e180c1 --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/storage_pool_type_list_warning.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.Compute.V1.Model.StoragePoolTypeListWarning 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.StoragePoolTypeListWarningData.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.StoragePoolTypeListWarningData.t()) | nil, + :message => String.t() | nil + } + + field(:code) + field(:data, as: GoogleApi.Compute.V1.Model.StoragePoolTypeListWarningData, type: :list) + field(:message) +end + +defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.StoragePoolTypeListWarning do + def decode(value, options) do + GoogleApi.Compute.V1.Model.StoragePoolTypeListWarning.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.StoragePoolTypeListWarning 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/storage_pool_type_list_warning_data.ex b/clients/compute/lib/google_api/compute/v1/model/storage_pool_type_list_warning_data.ex new file mode 100644 index 0000000000..5bd92e13cd --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/storage_pool_type_list_warning_data.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.Compute.V1.Model.StoragePoolTypeListWarningData 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.StoragePoolTypeListWarningData do + def decode(value, options) do + GoogleApi.Compute.V1.Model.StoragePoolTypeListWarningData.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.StoragePoolTypeListWarningData 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/storage_pool_types_scoped_list.ex b/clients/compute/lib/google_api/compute/v1/model/storage_pool_types_scoped_list.ex new file mode 100644 index 0000000000..80bd1c480b --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/storage_pool_types_scoped_list.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.Compute.V1.Model.StoragePoolTypesScopedList do + @moduledoc """ + + + ## Attributes + + * `storagePoolTypes` (*type:* `list(GoogleApi.Compute.V1.Model.StoragePoolType.t)`, *default:* `nil`) - [Output Only] A list of storage pool types contained in this scope. + * `warning` (*type:* `GoogleApi.Compute.V1.Model.StoragePoolTypesScopedListWarning.t`, *default:* `nil`) - [Output Only] Informational warning which replaces the list of storage pool types when the list is empty. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :storagePoolTypes => list(GoogleApi.Compute.V1.Model.StoragePoolType.t()) | nil, + :warning => GoogleApi.Compute.V1.Model.StoragePoolTypesScopedListWarning.t() | nil + } + + field(:storagePoolTypes, as: GoogleApi.Compute.V1.Model.StoragePoolType, type: :list) + field(:warning, as: GoogleApi.Compute.V1.Model.StoragePoolTypesScopedListWarning) +end + +defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.StoragePoolTypesScopedList do + def decode(value, options) do + GoogleApi.Compute.V1.Model.StoragePoolTypesScopedList.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.StoragePoolTypesScopedList 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/storage_pool_types_scoped_list_warning.ex b/clients/compute/lib/google_api/compute/v1/model/storage_pool_types_scoped_list_warning.ex new file mode 100644 index 0000000000..28cac5c9aa --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/storage_pool_types_scoped_list_warning.ex @@ -0,0 +1,53 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.Compute.V1.Model.StoragePoolTypesScopedListWarning do + @moduledoc """ + [Output Only] Informational warning which replaces the list of storage pool types when the list is empty. + + ## 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.StoragePoolTypesScopedListWarningData.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.StoragePoolTypesScopedListWarningData.t()) | nil, + :message => String.t() | nil + } + + field(:code) + field(:data, as: GoogleApi.Compute.V1.Model.StoragePoolTypesScopedListWarningData, type: :list) + field(:message) +end + +defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.StoragePoolTypesScopedListWarning do + def decode(value, options) do + GoogleApi.Compute.V1.Model.StoragePoolTypesScopedListWarning.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.StoragePoolTypesScopedListWarning 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/storage_pool_types_scoped_list_warning_data.ex b/clients/compute/lib/google_api/compute/v1/model/storage_pool_types_scoped_list_warning_data.ex new file mode 100644 index 0000000000..e9585dc96d --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/storage_pool_types_scoped_list_warning_data.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.Compute.V1.Model.StoragePoolTypesScopedListWarningData 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.StoragePoolTypesScopedListWarningData do + def decode(value, options) do + GoogleApi.Compute.V1.Model.StoragePoolTypesScopedListWarningData.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.StoragePoolTypesScopedListWarningData 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/storage_pools_scoped_list.ex b/clients/compute/lib/google_api/compute/v1/model/storage_pools_scoped_list.ex new file mode 100644 index 0000000000..1e676194e8 --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/storage_pools_scoped_list.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.Compute.V1.Model.StoragePoolsScopedList do + @moduledoc """ + + + ## Attributes + + * `storagePools` (*type:* `list(GoogleApi.Compute.V1.Model.StoragePool.t)`, *default:* `nil`) - [Output Only] A list of storage pool contained in this scope. + * `warning` (*type:* `GoogleApi.Compute.V1.Model.StoragePoolsScopedListWarning.t`, *default:* `nil`) - [Output Only] Informational warning which replaces the list of storage pool when the list is empty. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :storagePools => list(GoogleApi.Compute.V1.Model.StoragePool.t()) | nil, + :warning => GoogleApi.Compute.V1.Model.StoragePoolsScopedListWarning.t() | nil + } + + field(:storagePools, as: GoogleApi.Compute.V1.Model.StoragePool, type: :list) + field(:warning, as: GoogleApi.Compute.V1.Model.StoragePoolsScopedListWarning) +end + +defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.StoragePoolsScopedList do + def decode(value, options) do + GoogleApi.Compute.V1.Model.StoragePoolsScopedList.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.StoragePoolsScopedList 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/storage_pools_scoped_list_warning.ex b/clients/compute/lib/google_api/compute/v1/model/storage_pools_scoped_list_warning.ex new file mode 100644 index 0000000000..60cbf66382 --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/storage_pools_scoped_list_warning.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.Compute.V1.Model.StoragePoolsScopedListWarning do + @moduledoc """ + [Output Only] Informational warning which replaces the list of storage pool when the list is empty. + + ## 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.StoragePoolsScopedListWarningData.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.StoragePoolsScopedListWarningData.t()) | nil, + :message => String.t() | nil + } + + field(:code) + field(:data, as: GoogleApi.Compute.V1.Model.StoragePoolsScopedListWarningData, type: :list) + field(:message) +end + +defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.StoragePoolsScopedListWarning do + def decode(value, options) do + GoogleApi.Compute.V1.Model.StoragePoolsScopedListWarning.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.StoragePoolsScopedListWarning 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/storage_pools_scoped_list_warning_data.ex b/clients/compute/lib/google_api/compute/v1/model/storage_pools_scoped_list_warning_data.ex new file mode 100644 index 0000000000..bfdcd9d0ce --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/storage_pools_scoped_list_warning_data.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.Compute.V1.Model.StoragePoolsScopedListWarningData 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.StoragePoolsScopedListWarningData do + def decode(value, options) do + GoogleApi.Compute.V1.Model.StoragePoolsScopedListWarningData.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.StoragePoolsScopedListWarningData 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/subnetwork.ex b/clients/compute/lib/google_api/compute/v1/model/subnetwork.ex index 4e2ccd6b94..819e6dfca9 100644 --- a/clients/compute/lib/google_api/compute/v1/model/subnetwork.ex +++ b/clients/compute/lib/google_api/compute/v1/model/subnetwork.ex @@ -23,7 +23,7 @@ defmodule GoogleApi.Compute.V1.Model.Subnetwork do * `creationTimestamp` (*type:* `String.t`, *default:* `nil`) - [Output Only] Creation timestamp in RFC3339 text format. * `description` (*type:* `String.t`, *default:* `nil`) - An optional description of this resource. Provide this property when you create the resource. This field can be set only at resource creation time. - * `enableFlowLogs` (*type:* `boolean()`, *default:* `nil`) - Whether to enable flow logging for this subnetwork. If this field is not explicitly set, it will not appear in get listings. If not set the default behavior is determined by the org policy, if there is no org policy specified, then it will default to disabled. This field isn't supported with the purpose field set to INTERNAL_HTTPS_LOAD_BALANCER. + * `enableFlowLogs` (*type:* `boolean()`, *default:* `nil`) - Whether to enable flow logging for this subnetwork. If this field is not explicitly set, it will not appear in get listings. If not set the default behavior is determined by the org policy, if there is no org policy specified, then it will default to disabled. This field isn't supported if the subnet purpose field is set to REGIONAL_MANAGED_PROXY. * `externalIpv6Prefix` (*type:* `String.t`, *default:* `nil`) - The external IPv6 address range that is owned by this subnetwork. * `fingerprint` (*type:* `String.t`, *default:* `nil`) - Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field will be ignored when inserting a Subnetwork. An up-to-date fingerprint must be provided in order to update the Subnetwork, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve a Subnetwork. * `gatewayAddress` (*type:* `String.t`, *default:* `nil`) - [Output Only] The gateway address for default routes to reach destination addresses outside this subnetwork. @@ -38,9 +38,10 @@ defmodule GoogleApi.Compute.V1.Model.Subnetwork do * `network` (*type:* `String.t`, *default:* `nil`) - The URL of the network to which this subnetwork belongs, provided by the client when initially creating the subnetwork. This field can be set only at resource creation time. * `privateIpGoogleAccess` (*type:* `boolean()`, *default:* `nil`) - Whether the VMs in this subnet can access Google services without assigned external IP addresses. This field can be both set at resource creation time and updated using setPrivateIpGoogleAccess. * `privateIpv6GoogleAccess` (*type:* `String.t`, *default:* `nil`) - This field is for internal use. This field can be both set at resource creation time and updated using patch. - * `purpose` (*type:* `String.t`, *default:* `nil`) - The purpose of the resource. This field can be either PRIVATE_RFC_1918 or INTERNAL_HTTPS_LOAD_BALANCER. A subnetwork with purpose set to INTERNAL_HTTPS_LOAD_BALANCER is a user-created subnetwork that is reserved for Internal HTTP(S) Load Balancing. If unspecified, the purpose defaults to PRIVATE_RFC_1918. The enableFlowLogs field isn't supported with the purpose field set to INTERNAL_HTTPS_LOAD_BALANCER. + * `purpose` (*type:* `String.t`, *default:* `nil`) - The purpose of the resource. This field can be either PRIVATE, GLOBAL_MANAGED_PROXY, REGIONAL_MANAGED_PROXY, PRIVATE_SERVICE_CONNECT, or PRIVATE is the default purpose for user-created subnets or subnets that are automatically created in auto mode networks. Subnets with purpose set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY are user-created subnetworks that are reserved for Envoy-based load balancers. A subnet with purpose set to PRIVATE_SERVICE_CONNECT is used to publish services using Private Service Connect. If unspecified, the subnet purpose defaults to PRIVATE. The enableFlowLogs field isn't supported if the subnet purpose field is set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY. * `region` (*type:* `String.t`, *default:* `nil`) - URL of the region where the Subnetwork resides. This field can be set only at resource creation time. - * `role` (*type:* `String.t`, *default:* `nil`) - The role of subnetwork. Currently, this field is only used when purpose = INTERNAL_HTTPS_LOAD_BALANCER. The value can be set to ACTIVE or BACKUP. An ACTIVE subnetwork is one that is currently being used for Internal HTTP(S) Load Balancing. A BACKUP subnetwork is one that is ready to be promoted to ACTIVE or is currently draining. This field can be updated with a patch request. + * `reservedInternalRange` (*type:* `String.t`, *default:* `nil`) - The URL of the reserved internal range. + * `role` (*type:* `String.t`, *default:* `nil`) - The role of subnetwork. Currently, this field is only used when purpose is set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY. The value can be set to ACTIVE or BACKUP. An ACTIVE subnetwork is one that is currently being used for Envoy-based load balancers in a region. A BACKUP subnetwork is one that is ready to be promoted to ACTIVE or is currently draining. This field can be updated with a patch request. * `secondaryIpRanges` (*type:* `list(GoogleApi.Compute.V1.Model.SubnetworkSecondaryRange.t)`, *default:* `nil`) - An array of configurations for secondary IP ranges for VM instances contained in this subnetwork. The primary IP of such VM must belong to the primary ipCidrRange of the subnetwork. The alias IPs may belong to either primary or secondary ranges. This field can be updated with a patch request. * `selfLink` (*type:* `String.t`, *default:* `nil`) - [Output Only] Server-defined URL for the resource. * `stackType` (*type:* `String.t`, *default:* `nil`) - The stack type for the subnet. If set to IPV4_ONLY, new VMs in the subnet are assigned IPv4 addresses only. If set to IPV4_IPV6, new VMs in the subnet can be assigned both IPv4 and IPv6 addresses. If not specified, IPV4_ONLY is used. This field can be both set at resource creation time and updated using patch. @@ -69,6 +70,7 @@ defmodule GoogleApi.Compute.V1.Model.Subnetwork do :privateIpv6GoogleAccess => String.t() | nil, :purpose => String.t() | nil, :region => String.t() | nil, + :reservedInternalRange => String.t() | nil, :role => String.t() | nil, :secondaryIpRanges => list(GoogleApi.Compute.V1.Model.SubnetworkSecondaryRange.t()) | nil, @@ -96,6 +98,7 @@ defmodule GoogleApi.Compute.V1.Model.Subnetwork do field(:privateIpv6GoogleAccess) field(:purpose) field(:region) + field(:reservedInternalRange) field(:role) field(:secondaryIpRanges, as: GoogleApi.Compute.V1.Model.SubnetworkSecondaryRange, type: :list) field(:selfLink) diff --git a/clients/compute/lib/google_api/compute/v1/model/subnetwork_log_config.ex b/clients/compute/lib/google_api/compute/v1/model/subnetwork_log_config.ex index bd98eefb67..4621061c85 100644 --- a/clients/compute/lib/google_api/compute/v1/model/subnetwork_log_config.ex +++ b/clients/compute/lib/google_api/compute/v1/model/subnetwork_log_config.ex @@ -22,7 +22,7 @@ defmodule GoogleApi.Compute.V1.Model.SubnetworkLogConfig do ## Attributes * `aggregationInterval` (*type:* `String.t`, *default:* `nil`) - Can only be specified if VPC flow logging for this subnetwork is enabled. Toggles the aggregation interval for collecting flow logs. Increasing the interval time will reduce the amount of generated flow logs for long lasting connections. Default is an interval of 5 seconds per connection. - * `enable` (*type:* `boolean()`, *default:* `nil`) - Whether to enable flow logging for this subnetwork. If this field is not explicitly set, it will not appear in get listings. If not set the default behavior is determined by the org policy, if there is no org policy specified, then it will default to disabled. + * `enable` (*type:* `boolean()`, *default:* `nil`) - Whether to enable flow logging for this subnetwork. If this field is not explicitly set, it will not appear in get listings. If not set the default behavior is determined by the org policy, if there is no org policy specified, then it will default to disabled. Flow logging isn't supported if the subnet purpose field is set to REGIONAL_MANAGED_PROXY. * `filterExpr` (*type:* `String.t`, *default:* `nil`) - Can only be specified if VPC flow logs for this subnetwork is enabled. The filter expression is used to define which VPC flow logs should be exported to Cloud Logging. * `flowSampling` (*type:* `number()`, *default:* `nil`) - Can only be specified if VPC flow logging for this subnetwork is enabled. The value of the field must be in [0, 1]. Set the sampling rate of VPC flow logs within the subnetwork where 1.0 means all collected logs are reported and 0.0 means no logs are reported. Default is 0.5 unless otherwise specified by the org policy, which means half of all collected logs are reported. * `metadata` (*type:* `String.t`, *default:* `nil`) - Can only be specified if VPC flow logs for this subnetwork is enabled. Configures whether all, none or a subset of metadata fields should be added to the reported VPC flow logs. Default is EXCLUDE_ALL_METADATA. diff --git a/clients/compute/lib/google_api/compute/v1/model/subnetwork_secondary_range.ex b/clients/compute/lib/google_api/compute/v1/model/subnetwork_secondary_range.ex index 54271c2f24..4a468a8155 100644 --- a/clients/compute/lib/google_api/compute/v1/model/subnetwork_secondary_range.ex +++ b/clients/compute/lib/google_api/compute/v1/model/subnetwork_secondary_range.ex @@ -23,17 +23,20 @@ defmodule GoogleApi.Compute.V1.Model.SubnetworkSecondaryRange do * `ipCidrRange` (*type:* `String.t`, *default:* `nil`) - The range of IP addresses belonging to this subnetwork secondary range. Provide this property when you create the subnetwork. Ranges must be unique and non-overlapping with all primary and secondary IP ranges within a network. Only IPv4 is supported. The range can be any range listed in the Valid ranges list. * `rangeName` (*type:* `String.t`, *default:* `nil`) - The name associated with this subnetwork secondary range, used when adding an alias IP range to a VM instance. The name must be 1-63 characters long, and comply with RFC1035. The name must be unique within the subnetwork. + * `reservedInternalRange` (*type:* `String.t`, *default:* `nil`) - The URL of the reserved internal range. """ use GoogleApi.Gax.ModelBase @type t :: %__MODULE__{ :ipCidrRange => String.t() | nil, - :rangeName => String.t() | nil + :rangeName => String.t() | nil, + :reservedInternalRange => String.t() | nil } field(:ipCidrRange) field(:rangeName) + field(:reservedInternalRange) end defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.SubnetworkSecondaryRange do diff --git a/clients/compute/lib/google_api/compute/v1/model/target_http_proxy.ex b/clients/compute/lib/google_api/compute/v1/model/target_http_proxy.ex index 9f8daa7e08..be4a573938 100644 --- a/clients/compute/lib/google_api/compute/v1/model/target_http_proxy.ex +++ b/clients/compute/lib/google_api/compute/v1/model/target_http_proxy.ex @@ -17,13 +17,14 @@ defmodule GoogleApi.Compute.V1.Model.TargetHttpProxy do @moduledoc """ - Represents a Target HTTP Proxy resource. Google Compute Engine has two Target HTTP Proxy resources: * [Global](/compute/docs/reference/rest/v1/targetHttpProxies) * [Regional](/compute/docs/reference/rest/v1/regionTargetHttpProxies) A target HTTP proxy is a component of GCP HTTP load balancers. * targetHttpProxies are used by external HTTP load balancers and Traffic Director. * regionTargetHttpProxies are used by internal HTTP load balancers. Forwarding rules reference a target HTTP proxy, and the target proxy then references a URL map. For more information, read Using Target Proxies and Forwarding rule concepts. + Represents a Target HTTP Proxy resource. Google Compute Engine has two Target HTTP Proxy resources: * [Global](/compute/docs/reference/rest/v1/targetHttpProxies) * [Regional](/compute/docs/reference/rest/v1/regionTargetHttpProxies) A target HTTP proxy is a component of Google Cloud HTTP load balancers. * targetHttpProxies are used by global external Application Load Balancers, classic Application Load Balancers, cross-region internal Application Load Balancers, and Traffic Director. * regionTargetHttpProxies are used by regional internal Application Load Balancers and regional external Application Load Balancers. Forwarding rules reference a target HTTP proxy, and the target proxy then references a URL map. For more information, read Using Target Proxies and Forwarding rule concepts. ## Attributes * `creationTimestamp` (*type:* `String.t`, *default:* `nil`) - [Output Only] Creation timestamp in RFC3339 text format. * `description` (*type:* `String.t`, *default:* `nil`) - An optional description of this resource. Provide this property when you create the resource. * `fingerprint` (*type:* `String.t`, *default:* `nil`) - Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field will be ignored when inserting a TargetHttpProxy. An up-to-date fingerprint must be provided in order to patch/update the TargetHttpProxy; otherwise, the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve the TargetHttpProxy. + * `httpKeepAliveTimeoutSec` (*type:* `integer()`, *default:* `nil`) - Specifies how long to keep a connection open, after completing a response, while there is no matching traffic (in seconds). If an HTTP keep-alive is not specified, a default value (610 seconds) will be used. For global external Application Load Balancers, the minimum allowed value is 5 seconds and the maximum allowed value is 1200 seconds. For classic Application Load Balancers, this option is not supported. * `id` (*type:* `String.t`, *default:* `nil`) - [Output Only] The unique identifier for the resource. This identifier is defined by the server. * `kind` (*type:* `String.t`, *default:* `compute#targetHttpProxy`) - [Output Only] Type of resource. Always compute#targetHttpProxy for target HTTP proxies. * `name` (*type:* `String.t`, *default:* `nil`) - Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. @@ -39,6 +40,7 @@ defmodule GoogleApi.Compute.V1.Model.TargetHttpProxy do :creationTimestamp => String.t() | nil, :description => String.t() | nil, :fingerprint => String.t() | nil, + :httpKeepAliveTimeoutSec => integer() | nil, :id => String.t() | nil, :kind => String.t() | nil, :name => String.t() | nil, @@ -51,6 +53,7 @@ defmodule GoogleApi.Compute.V1.Model.TargetHttpProxy do field(:creationTimestamp) field(:description) field(:fingerprint) + field(:httpKeepAliveTimeoutSec) field(:id) field(:kind) field(:name) diff --git a/clients/compute/lib/google_api/compute/v1/model/target_https_proxies_set_certificate_map_request.ex b/clients/compute/lib/google_api/compute/v1/model/target_https_proxies_set_certificate_map_request.ex index 4f042cb8f8..693a220189 100644 --- a/clients/compute/lib/google_api/compute/v1/model/target_https_proxies_set_certificate_map_request.ex +++ b/clients/compute/lib/google_api/compute/v1/model/target_https_proxies_set_certificate_map_request.ex @@ -21,7 +21,7 @@ defmodule GoogleApi.Compute.V1.Model.TargetHttpsProxiesSetCertificateMapRequest ## Attributes - * `certificateMap` (*type:* `String.t`, *default:* `nil`) - URL of the Certificate Map to associate with this TargetHttpsProxy. + * `certificateMap` (*type:* `String.t`, *default:* `nil`) - URL of the Certificate Map to associate with this TargetHttpsProxy. Accepted format is //certificatemanager.googleapis.com/projects/{project }/locations/{location}/certificateMaps/{resourceName}. """ use GoogleApi.Gax.ModelBase diff --git a/clients/compute/lib/google_api/compute/v1/model/target_https_proxy.ex b/clients/compute/lib/google_api/compute/v1/model/target_https_proxy.ex index fe8176b931..2d5c856809 100644 --- a/clients/compute/lib/google_api/compute/v1/model/target_https_proxy.ex +++ b/clients/compute/lib/google_api/compute/v1/model/target_https_proxy.ex @@ -17,15 +17,16 @@ defmodule GoogleApi.Compute.V1.Model.TargetHttpsProxy do @moduledoc """ - Represents a Target HTTPS Proxy resource. Google Compute Engine has two Target HTTPS Proxy resources: * [Global](/compute/docs/reference/rest/v1/targetHttpsProxies) * [Regional](/compute/docs/reference/rest/v1/regionTargetHttpsProxies) A target HTTPS proxy is a component of GCP HTTPS load balancers. * targetHttpsProxies are used by external HTTPS load balancers. * regionTargetHttpsProxies are used by internal HTTPS load balancers. Forwarding rules reference a target HTTPS proxy, and the target proxy then references a URL map. For more information, read Using Target Proxies and Forwarding rule concepts. + Represents a Target HTTPS Proxy resource. Google Compute Engine has two Target HTTPS Proxy resources: * [Global](/compute/docs/reference/rest/v1/targetHttpsProxies) * [Regional](/compute/docs/reference/rest/v1/regionTargetHttpsProxies) A target HTTPS proxy is a component of GCP HTTPS load balancers. * targetHttpProxies are used by global external Application Load Balancers, classic Application Load Balancers, cross-region internal Application Load Balancers, and Traffic Director. * regionTargetHttpProxies are used by regional internal Application Load Balancers and regional external Application Load Balancers. Forwarding rules reference a target HTTPS proxy, and the target proxy then references a URL map. For more information, read Using Target Proxies and Forwarding rule concepts. ## Attributes * `authorizationPolicy` (*type:* `String.t`, *default:* `nil`) - Optional. A URL referring to a networksecurity.AuthorizationPolicy resource that describes how the proxy should authorize inbound traffic. If left blank, access will not be restricted by an authorization policy. Refer to the AuthorizationPolicy resource for additional details. authorizationPolicy only applies to a global TargetHttpsProxy attached to globalForwardingRules with the loadBalancingScheme set to INTERNAL_SELF_MANAGED. Note: This field currently has no impact. - * `certificateMap` (*type:* `String.t`, *default:* `nil`) - URL of a certificate map that identifies a certificate map associated with the given target proxy. This field can only be set for global target proxies. If set, sslCertificates will be ignored. + * `certificateMap` (*type:* `String.t`, *default:* `nil`) - URL of a certificate map that identifies a certificate map associated with the given target proxy. This field can only be set for global target proxies. If set, sslCertificates will be ignored. Accepted format is //certificatemanager.googleapis.com/projects/{project }/locations/{location}/certificateMaps/{resourceName}. * `creationTimestamp` (*type:* `String.t`, *default:* `nil`) - [Output Only] Creation timestamp in RFC3339 text format. * `description` (*type:* `String.t`, *default:* `nil`) - An optional description of this resource. Provide this property when you create the resource. * `fingerprint` (*type:* `String.t`, *default:* `nil`) - Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field will be ignored when inserting a TargetHttpsProxy. An up-to-date fingerprint must be provided in order to patch the TargetHttpsProxy; otherwise, the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve the TargetHttpsProxy. + * `httpKeepAliveTimeoutSec` (*type:* `integer()`, *default:* `nil`) - Specifies how long to keep a connection open, after completing a response, while there is no matching traffic (in seconds). If an HTTP keep-alive is not specified, a default value (610 seconds) will be used. For global external Application Load Balancers, the minimum allowed value is 5 seconds and the maximum allowed value is 1200 seconds. For classic Application Load Balancers, this option is not supported. * `id` (*type:* `String.t`, *default:* `nil`) - [Output Only] The unique identifier for the resource. This identifier is defined by the server. * `kind` (*type:* `String.t`, *default:* `compute#targetHttpsProxy`) - [Output Only] Type of resource. Always compute#targetHttpsProxy for target HTTPS proxies. * `name` (*type:* `String.t`, *default:* `nil`) - Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. @@ -33,7 +34,7 @@ defmodule GoogleApi.Compute.V1.Model.TargetHttpsProxy do * `quicOverride` (*type:* `String.t`, *default:* `nil`) - Specifies the QUIC override policy for this TargetHttpsProxy resource. This setting determines whether the load balancer attempts to negotiate QUIC with clients. You can specify NONE, ENABLE, or DISABLE. - When quic-override is set to NONE, Google manages whether QUIC is used. - When quic-override is set to ENABLE, the load balancer uses QUIC when possible. - When quic-override is set to DISABLE, the load balancer doesn't use QUIC. - If the quic-override flag is not specified, NONE is implied. * `region` (*type:* `String.t`, *default:* `nil`) - [Output Only] URL of the region where the regional TargetHttpsProxy resides. This field is not applicable to global TargetHttpsProxies. * `selfLink` (*type:* `String.t`, *default:* `nil`) - [Output Only] Server-defined URL for the resource. - * `serverTlsPolicy` (*type:* `String.t`, *default:* `nil`) - Optional. A URL referring to a networksecurity.ServerTlsPolicy resource that describes how the proxy should authenticate inbound traffic. serverTlsPolicy only applies to a global TargetHttpsProxy attached to globalForwardingRules with the loadBalancingScheme set to INTERNAL_SELF_MANAGED. If left blank, communications are not encrypted. Note: This field currently has no impact. + * `serverTlsPolicy` (*type:* `String.t`, *default:* `nil`) - Optional. A URL referring to a networksecurity.ServerTlsPolicy resource that describes how the proxy should authenticate inbound traffic. serverTlsPolicy only applies to a global TargetHttpsProxy attached to globalForwardingRules with the loadBalancingScheme set to INTERNAL_SELF_MANAGED or EXTERNAL or EXTERNAL_MANAGED. For details which ServerTlsPolicy resources are accepted with INTERNAL_SELF_MANAGED and which with EXTERNAL, EXTERNAL_MANAGED loadBalancingScheme consult ServerTlsPolicy documentation. If left blank, communications are not encrypted. * `sslCertificates` (*type:* `list(String.t)`, *default:* `nil`) - URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates. sslCertificates do not apply when the load balancing scheme is set to INTERNAL_SELF_MANAGED. * `sslPolicy` (*type:* `String.t`, *default:* `nil`) - URL of SslPolicy resource that will be associated with the TargetHttpsProxy resource. If not set, the TargetHttpsProxy resource has no SSL policy configured. * `urlMap` (*type:* `String.t`, *default:* `nil`) - A fully-qualified or valid partial URL to the UrlMap resource that defines the mapping from URL to the BackendService. For example, the following are all valid URLs for specifying a URL map: - https://www.googleapis.compute/v1/projects/project/global/urlMaps/ url-map - projects/project/global/urlMaps/url-map - global/urlMaps/url-map @@ -47,6 +48,7 @@ defmodule GoogleApi.Compute.V1.Model.TargetHttpsProxy do :creationTimestamp => String.t() | nil, :description => String.t() | nil, :fingerprint => String.t() | nil, + :httpKeepAliveTimeoutSec => integer() | nil, :id => String.t() | nil, :kind => String.t() | nil, :name => String.t() | nil, @@ -65,6 +67,7 @@ defmodule GoogleApi.Compute.V1.Model.TargetHttpsProxy do field(:creationTimestamp) field(:description) field(:fingerprint) + field(:httpKeepAliveTimeoutSec) field(:id) field(:kind) field(:name) diff --git a/clients/compute/lib/google_api/compute/v1/model/target_instance.ex b/clients/compute/lib/google_api/compute/v1/model/target_instance.ex index da1f949419..42e17dd1f8 100644 --- a/clients/compute/lib/google_api/compute/v1/model/target_instance.ex +++ b/clients/compute/lib/google_api/compute/v1/model/target_instance.ex @@ -29,6 +29,7 @@ defmodule GoogleApi.Compute.V1.Model.TargetInstance do * `name` (*type:* `String.t`, *default:* `nil`) - Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. * `natPolicy` (*type:* `String.t`, *default:* `nil`) - Must have a value of NO_NAT. Protocol forwarding delivers packets while preserving the destination IP address of the forwarding rule referencing the target instance. * `network` (*type:* `String.t`, *default:* `nil`) - The URL of the network this target instance uses to forward traffic. If not specified, the traffic will be forwarded to the network that the default network interface belongs to. + * `securityPolicy` (*type:* `String.t`, *default:* `nil`) - [Output Only] The resource URL for the security policy associated with this target instance. * `selfLink` (*type:* `String.t`, *default:* `nil`) - [Output Only] Server-defined URL for the resource. * `zone` (*type:* `String.t`, *default:* `nil`) - [Output Only] URL of the zone where the target instance resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body. """ @@ -44,6 +45,7 @@ defmodule GoogleApi.Compute.V1.Model.TargetInstance do :name => String.t() | nil, :natPolicy => String.t() | nil, :network => String.t() | nil, + :securityPolicy => String.t() | nil, :selfLink => String.t() | nil, :zone => String.t() | nil } @@ -56,6 +58,7 @@ defmodule GoogleApi.Compute.V1.Model.TargetInstance do field(:name) field(:natPolicy) field(:network) + field(:securityPolicy) field(:selfLink) field(:zone) end diff --git a/clients/compute/lib/google_api/compute/v1/model/target_pool.ex b/clients/compute/lib/google_api/compute/v1/model/target_pool.ex index b4887f7645..e7744b8f8b 100644 --- a/clients/compute/lib/google_api/compute/v1/model/target_pool.ex +++ b/clients/compute/lib/google_api/compute/v1/model/target_pool.ex @@ -17,7 +17,7 @@ defmodule GoogleApi.Compute.V1.Model.TargetPool do @moduledoc """ - Represents a Target Pool resource. Target pools are used for network TCP/UDP load balancing. A target pool references member instances, an associated legacy HttpHealthCheck resource, and, optionally, a backup target pool. For more information, read Using target pools. + Represents a Target Pool resource. Target pools are used with external passthrough Network Load Balancers. A target pool references member instances, an associated legacy HttpHealthCheck resource, and, optionally, a backup target pool. For more information, read Using target pools. ## Attributes @@ -31,6 +31,7 @@ defmodule GoogleApi.Compute.V1.Model.TargetPool do * `kind` (*type:* `String.t`, *default:* `compute#targetPool`) - [Output Only] Type of the resource. Always compute#targetPool for target pools. * `name` (*type:* `String.t`, *default:* `nil`) - Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. * `region` (*type:* `String.t`, *default:* `nil`) - [Output Only] URL of the region where the target pool resides. + * `securityPolicy` (*type:* `String.t`, *default:* `nil`) - [Output Only] The resource URL for the security policy associated with this target pool. * `selfLink` (*type:* `String.t`, *default:* `nil`) - [Output Only] Server-defined URL for the resource. * `sessionAffinity` (*type:* `String.t`, *default:* `nil`) - Session affinity option, must be one of the following values: NONE: Connections from the same client IP may go to any instance in the pool. CLIENT_IP: Connections from the same client IP will go to the same instance in the pool while that instance remains healthy. CLIENT_IP_PROTO: Connections from the same client IP with the same IP protocol will go to the same instance in the pool while that instance remains healthy. """ @@ -48,6 +49,7 @@ defmodule GoogleApi.Compute.V1.Model.TargetPool do :kind => String.t() | nil, :name => String.t() | nil, :region => String.t() | nil, + :securityPolicy => String.t() | nil, :selfLink => String.t() | nil, :sessionAffinity => String.t() | nil } @@ -62,6 +64,7 @@ defmodule GoogleApi.Compute.V1.Model.TargetPool do field(:kind) field(:name) field(:region) + field(:securityPolicy) field(:selfLink) field(:sessionAffinity) end diff --git a/clients/compute/lib/google_api/compute/v1/model/target_ssl_proxies_set_certificate_map_request.ex b/clients/compute/lib/google_api/compute/v1/model/target_ssl_proxies_set_certificate_map_request.ex index 2b6f25bc27..7bdcaec339 100644 --- a/clients/compute/lib/google_api/compute/v1/model/target_ssl_proxies_set_certificate_map_request.ex +++ b/clients/compute/lib/google_api/compute/v1/model/target_ssl_proxies_set_certificate_map_request.ex @@ -21,7 +21,7 @@ defmodule GoogleApi.Compute.V1.Model.TargetSslProxiesSetCertificateMapRequest do ## Attributes - * `certificateMap` (*type:* `String.t`, *default:* `nil`) - URL of the Certificate Map to associate with this TargetSslProxy. + * `certificateMap` (*type:* `String.t`, *default:* `nil`) - URL of the Certificate Map to associate with this TargetSslProxy. Accepted format is //certificatemanager.googleapis.com/projects/{project }/locations/{location}/certificateMaps/{resourceName}. """ use GoogleApi.Gax.ModelBase diff --git a/clients/compute/lib/google_api/compute/v1/model/target_ssl_proxy.ex b/clients/compute/lib/google_api/compute/v1/model/target_ssl_proxy.ex index 6c184aaeb0..8b51805429 100644 --- a/clients/compute/lib/google_api/compute/v1/model/target_ssl_proxy.ex +++ b/clients/compute/lib/google_api/compute/v1/model/target_ssl_proxy.ex @@ -17,11 +17,11 @@ defmodule GoogleApi.Compute.V1.Model.TargetSslProxy do @moduledoc """ - Represents a Target SSL Proxy resource. A target SSL proxy is a component of a SSL Proxy load balancer. Global forwarding rules reference a target SSL proxy, and the target proxy then references an external backend service. For more information, read Using Target Proxies. + Represents a Target SSL Proxy resource. A target SSL proxy is a component of a Proxy Network Load Balancer. The forwarding rule references the target SSL proxy, and the target proxy then references a backend service. For more information, read Proxy Network Load Balancer overview. ## Attributes - * `certificateMap` (*type:* `String.t`, *default:* `nil`) - URL of a certificate map that identifies a certificate map associated with the given target proxy. This field can only be set for global target proxies. If set, sslCertificates will be ignored. + * `certificateMap` (*type:* `String.t`, *default:* `nil`) - URL of a certificate map that identifies a certificate map associated with the given target proxy. This field can only be set for global target proxies. If set, sslCertificates will be ignored. Accepted format is //certificatemanager.googleapis.com/projects/{project }/locations/{location}/certificateMaps/{resourceName}. * `creationTimestamp` (*type:* `String.t`, *default:* `nil`) - [Output Only] Creation timestamp in RFC3339 text format. * `description` (*type:* `String.t`, *default:* `nil`) - An optional description of this resource. Provide this property when you create the resource. * `id` (*type:* `String.t`, *default:* `nil`) - [Output Only] The unique identifier for the resource. This identifier is defined by the server. diff --git a/clients/compute/lib/google_api/compute/v1/model/target_tcp_proxy.ex b/clients/compute/lib/google_api/compute/v1/model/target_tcp_proxy.ex index 8afef33390..7116413483 100644 --- a/clients/compute/lib/google_api/compute/v1/model/target_tcp_proxy.ex +++ b/clients/compute/lib/google_api/compute/v1/model/target_tcp_proxy.ex @@ -17,7 +17,7 @@ defmodule GoogleApi.Compute.V1.Model.TargetTcpProxy do @moduledoc """ - Represents a Target TCP Proxy resource. A target TCP proxy is a component of a TCP Proxy load balancer. Global forwarding rules reference target TCP proxy, and the target proxy then references an external backend service. For more information, read TCP Proxy Load Balancing overview. + Represents a Target TCP Proxy resource. A target TCP proxy is a component of a Proxy Network Load Balancer. The forwarding rule references the target TCP proxy, and the target proxy then references a backend service. For more information, read Proxy Network Load Balancer overview. ## Attributes diff --git a/clients/compute/lib/google_api/compute/v1/model/target_vpn_gateway.ex b/clients/compute/lib/google_api/compute/v1/model/target_vpn_gateway.ex index 047576a596..9f74541723 100644 --- a/clients/compute/lib/google_api/compute/v1/model/target_vpn_gateway.ex +++ b/clients/compute/lib/google_api/compute/v1/model/target_vpn_gateway.ex @@ -26,6 +26,8 @@ defmodule GoogleApi.Compute.V1.Model.TargetVpnGateway do * `forwardingRules` (*type:* `list(String.t)`, *default:* `nil`) - [Output Only] A list of URLs to the ForwardingRule resources. ForwardingRules are created using compute.forwardingRules.insert and associated with a VPN gateway. * `id` (*type:* `String.t`, *default:* `nil`) - [Output Only] The unique identifier for the resource. This identifier is defined by the server. * `kind` (*type:* `String.t`, *default:* `compute#targetVpnGateway`) - [Output Only] Type of resource. Always compute#targetVpnGateway for target VPN gateways. + * `labelFingerprint` (*type:* `String.t`, *default:* `nil`) - A fingerprint for the labels being applied to this TargetVpnGateway, which is essentially a hash of the labels set used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve a TargetVpnGateway. + * `labels` (*type:* `map()`, *default:* `nil`) - Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty. * `name` (*type:* `String.t`, *default:* `nil`) - Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. * `network` (*type:* `String.t`, *default:* `nil`) - URL of the network to which this VPN gateway is attached. Provided by the client when the VPN gateway is created. * `region` (*type:* `String.t`, *default:* `nil`) - [Output Only] URL of the region where the target VPN gateway resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body. @@ -42,6 +44,8 @@ defmodule GoogleApi.Compute.V1.Model.TargetVpnGateway do :forwardingRules => list(String.t()) | nil, :id => String.t() | nil, :kind => String.t() | nil, + :labelFingerprint => String.t() | nil, + :labels => map() | nil, :name => String.t() | nil, :network => String.t() | nil, :region => String.t() | nil, @@ -55,6 +59,8 @@ defmodule GoogleApi.Compute.V1.Model.TargetVpnGateway do field(:forwardingRules, type: :list) field(:id) field(:kind) + field(:labelFingerprint) + field(:labels, type: :map) field(:name) field(:network) field(:region) diff --git a/clients/compute/lib/google_api/compute/v1/model/tcp_health_check.ex b/clients/compute/lib/google_api/compute/v1/model/tcp_health_check.ex index 146eb18bfb..d4db0d2310 100644 --- a/clients/compute/lib/google_api/compute/v1/model/tcp_health_check.ex +++ b/clients/compute/lib/google_api/compute/v1/model/tcp_health_check.ex @@ -23,7 +23,7 @@ defmodule GoogleApi.Compute.V1.Model.TCPHealthCheck do * `port` (*type:* `integer()`, *default:* `nil`) - The TCP port number to which the health check prober sends packets. The default value is 80. Valid values are 1 through 65535. * `portName` (*type:* `String.t`, *default:* `nil`) - Not supported. - * `portSpecification` (*type:* `String.t`, *default:* `nil`) - Specifies how a port is selected for health checking. Can be one of the following values: USE_FIXED_PORT: Specifies a port number explicitly using the port field in the health check. Supported by backend services for pass-through load balancers and backend services for proxy load balancers. Not supported by target pools. The health check supports all backends supported by the backend service provided the backend can be health checked. For example, GCE_VM_IP network endpoint groups, GCE_VM_IP_PORT network endpoint groups, and instance group backends. USE_NAMED_PORT: Not supported. USE_SERVING_PORT: Provides an indirect method of specifying the health check port by referring to the backend service. Only supported by backend services for proxy load balancers. Not supported by target pools. Not supported by backend services for pass-through load balancers. Supports all backends that can be health checked; for example, GCE_VM_IP_PORT network endpoint groups and instance group backends. For GCE_VM_IP_PORT network endpoint group backends, the health check uses the port number specified for each endpoint in the network endpoint group. For instance group backends, the health check uses the port number determined by looking up the backend service's named port in the instance group's list of named ports. + * `portSpecification` (*type:* `String.t`, *default:* `nil`) - Specifies how a port is selected for health checking. Can be one of the following values: USE_FIXED_PORT: Specifies a port number explicitly using the port field in the health check. Supported by backend services for passthrough load balancers and backend services for proxy load balancers. Not supported by target pools. The health check supports all backends supported by the backend service provided the backend can be health checked. For example, GCE_VM_IP network endpoint groups, GCE_VM_IP_PORT network endpoint groups, and instance group backends. USE_NAMED_PORT: Not supported. USE_SERVING_PORT: Provides an indirect method of specifying the health check port by referring to the backend service. Only supported by backend services for proxy load balancers. Not supported by target pools. Not supported by backend services for passthrough load balancers. Supports all backends that can be health checked; for example, GCE_VM_IP_PORT network endpoint groups and instance group backends. For GCE_VM_IP_PORT network endpoint group backends, the health check uses the port number specified for each endpoint in the network endpoint group. For instance group backends, the health check uses the port number determined by looking up the backend service's named port in the instance group's list of named ports. * `proxyHeader` (*type:* `String.t`, *default:* `nil`) - Specifies the type of proxy header to append before sending data to the backend, either NONE or PROXY_V1. The default is NONE. * `request` (*type:* `String.t`, *default:* `nil`) - Instructs the health check prober to send this exact ASCII string, up to 1024 bytes in length, after establishing the TCP connection. * `response` (*type:* `String.t`, *default:* `nil`) - Creates a content-based TCP health check. In addition to establishing a TCP connection, you can configure the health check to pass only when the backend sends this exact response ASCII string, up to 1024 bytes in length. For details, see: https://cloud.google.com/load-balancing/docs/health-check-concepts#criteria-protocol-ssl-tcp diff --git a/clients/compute/lib/google_api/compute/v1/model/upcoming_maintenance.ex b/clients/compute/lib/google_api/compute/v1/model/upcoming_maintenance.ex new file mode 100644 index 0000000000..79389c5c60 --- /dev/null +++ b/clients/compute/lib/google_api/compute/v1/model/upcoming_maintenance.ex @@ -0,0 +1,61 @@ +# 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.UpcomingMaintenance do + @moduledoc """ + Upcoming Maintenance notification information. + + ## Attributes + + * `canReschedule` (*type:* `boolean()`, *default:* `nil`) - Indicates if the maintenance can be customer triggered. + * `latestWindowStartTime` (*type:* `String.t`, *default:* `nil`) - The latest time for the planned maintenance window to start. This timestamp value is in RFC3339 text format. + * `maintenanceStatus` (*type:* `String.t`, *default:* `nil`) - + * `type` (*type:* `String.t`, *default:* `nil`) - Defines the type of maintenance. + * `windowEndTime` (*type:* `String.t`, *default:* `nil`) - The time by which the maintenance disruption will be completed. This timestamp value is in RFC3339 text format. + * `windowStartTime` (*type:* `String.t`, *default:* `nil`) - The current start time of the maintenance window. This timestamp value is in RFC3339 text format. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :canReschedule => boolean() | nil, + :latestWindowStartTime => String.t() | nil, + :maintenanceStatus => String.t() | nil, + :type => String.t() | nil, + :windowEndTime => String.t() | nil, + :windowStartTime => String.t() | nil + } + + field(:canReschedule) + field(:latestWindowStartTime) + field(:maintenanceStatus) + field(:type) + field(:windowEndTime) + field(:windowStartTime) +end + +defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.UpcomingMaintenance do + def decode(value, options) do + GoogleApi.Compute.V1.Model.UpcomingMaintenance.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.Compute.V1.Model.UpcomingMaintenance 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/url_map.ex b/clients/compute/lib/google_api/compute/v1/model/url_map.ex index acc9182315..3596a569bb 100644 --- a/clients/compute/lib/google_api/compute/v1/model/url_map.ex +++ b/clients/compute/lib/google_api/compute/v1/model/url_map.ex @@ -17,12 +17,12 @@ defmodule GoogleApi.Compute.V1.Model.UrlMap do @moduledoc """ - Represents a URL Map resource. Compute Engine has two URL Map resources: * [Global](/compute/docs/reference/rest/v1/urlMaps) * [Regional](/compute/docs/reference/rest/v1/regionUrlMaps) A URL map resource is a component of certain types of cloud load balancers and Traffic Director: * urlMaps are used by external HTTP(S) load balancers and Traffic Director. * regionUrlMaps are used by internal HTTP(S) load balancers. For a list of supported URL map features by the load balancer type, see the Load balancing features: Routing and traffic management table. For a list of supported URL map features for Traffic Director, see the Traffic Director features: Routing and traffic management table. This resource defines mappings from hostnames and URL paths to either a backend service or a backend bucket. To use the global urlMaps resource, the backend service must have a loadBalancingScheme of either EXTERNAL or INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource, the backend service must have a loadBalancingScheme of INTERNAL_MANAGED. For more information, read URL Map Concepts. + Represents a URL Map resource. Compute Engine has two URL Map resources: * [Global](/compute/docs/reference/rest/v1/urlMaps) * [Regional](/compute/docs/reference/rest/v1/regionUrlMaps) A URL map resource is a component of certain types of cloud load balancers and Traffic Director: * urlMaps are used by global external Application Load Balancers, classic Application Load Balancers, and cross-region internal Application Load Balancers. * regionUrlMaps are used by internal Application Load Balancers, regional external Application Load Balancers and regional internal Application Load Balancers. For a list of supported URL map features by the load balancer type, see the Load balancing features: Routing and traffic management table. For a list of supported URL map features for Traffic Director, see the Traffic Director features: Routing and traffic management table. This resource defines mappings from hostnames and URL paths to either a backend service or a backend bucket. To use the global urlMaps resource, the backend service must have a loadBalancingScheme of either EXTERNAL or INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource, the backend service must have a loadBalancingScheme of INTERNAL_MANAGED. For more information, read URL Map Concepts. ## Attributes * `creationTimestamp` (*type:* `String.t`, *default:* `nil`) - [Output Only] Creation timestamp in RFC3339 text format. - * `defaultRouteAction` (*type:* `GoogleApi.Compute.V1.Model.HttpRouteAction.t`, *default:* `nil`) - defaultRouteAction takes effect when none of the hostRules match. The load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If defaultRouteAction specifies any weightedBackendServices, defaultService must not be set. Conversely if defaultService is set, defaultRouteAction cannot contain any weightedBackendServices. Only one of defaultRouteAction or defaultUrlRedirect must be set. URL maps for Classic external HTTP(S) load balancers only support the urlRewrite action within defaultRouteAction. defaultRouteAction has no effect when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true. + * `defaultRouteAction` (*type:* `GoogleApi.Compute.V1.Model.HttpRouteAction.t`, *default:* `nil`) - defaultRouteAction takes effect when none of the hostRules match. The load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If defaultRouteAction specifies any weightedBackendServices, defaultService must not be set. Conversely if defaultService is set, defaultRouteAction cannot contain any weightedBackendServices. Only one of defaultRouteAction or defaultUrlRedirect must be set. URL maps for classic Application Load Balancers only support the urlRewrite action within defaultRouteAction. defaultRouteAction has no effect when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true. * `defaultService` (*type:* `String.t`, *default:* `nil`) - The full or partial URL of the defaultService resource to which traffic is directed if none of the hostRules match. If defaultRouteAction is also specified, advanced routing actions, such as URL rewrites, take effect before sending the request to the backend. However, if defaultService is specified, defaultRouteAction cannot contain any weightedBackendServices. Conversely, if routeAction specifies any weightedBackendServices, service must not be specified. Only one of defaultService, defaultUrlRedirect , or defaultRouteAction.weightedBackendService must be set. defaultService has no effect when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true. * `defaultUrlRedirect` (*type:* `GoogleApi.Compute.V1.Model.HttpRedirectAction.t`, *default:* `nil`) - When none of the specified hostRules match, the request is redirected to a URL specified by defaultUrlRedirect. If defaultUrlRedirect is specified, defaultService or defaultRouteAction must not be set. Not supported when the URL map is bound to a target gRPC proxy. * `description` (*type:* `String.t`, *default:* `nil`) - An optional description of this resource. Provide this property when you create the resource. diff --git a/clients/compute/lib/google_api/compute/v1/model/url_maps_validate_request.ex b/clients/compute/lib/google_api/compute/v1/model/url_maps_validate_request.ex index 8301e96b55..d3de847c16 100644 --- a/clients/compute/lib/google_api/compute/v1/model/url_maps_validate_request.ex +++ b/clients/compute/lib/google_api/compute/v1/model/url_maps_validate_request.ex @@ -21,7 +21,7 @@ defmodule GoogleApi.Compute.V1.Model.UrlMapsValidateRequest do ## Attributes - * `loadBalancingSchemes` (*type:* `list(String.t)`, *default:* `nil`) - Specifies the load balancer type(s) this validation request is for. Use EXTERNAL_MANAGED for HTTP/HTTPS External Global Load Balancer with Advanced Traffic Management. Use EXTERNAL for Classic HTTP/HTTPS External Global Load Balancer. Other load balancer types are not supported. For more information, refer to Choosing a load balancer. If unspecified, the load balancing scheme will be inferred from the backend service resources this URL map references. If that can not be inferred (for example, this URL map only references backend buckets, or this Url map is for rewrites and redirects only and doesn't reference any backends), EXTERNAL will be used as the default type. If specified, the scheme(s) must not conflict with the load balancing scheme of the backend service resources this Url map references. + * `loadBalancingSchemes` (*type:* `list(String.t)`, *default:* `nil`) - Specifies the load balancer type(s) this validation request is for. Use EXTERNAL_MANAGED for global external Application Load Balancers and regional external Application Load Balancers. Use EXTERNAL for classic Application Load Balancers. Use INTERNAL_MANAGED for internal Application Load Balancers. For more information, refer to Choosing a load balancer. If unspecified, the load balancing scheme will be inferred from the backend service resources this URL map references. If that can not be inferred (for example, this URL map only references backend buckets, or this Url map is for rewrites and redirects only and doesn't reference any backends), EXTERNAL will be used as the default type. If specified, the scheme(s) must not conflict with the load balancing scheme of the backend service resources this Url map references. * `resource` (*type:* `GoogleApi.Compute.V1.Model.UrlMap.t`, *default:* `nil`) - Content of the UrlMap to be validated. """ diff --git a/clients/compute/lib/google_api/compute/v1/model/url_rewrite.ex b/clients/compute/lib/google_api/compute/v1/model/url_rewrite.ex index 7819fba8a3..726633ef8b 100644 --- a/clients/compute/lib/google_api/compute/v1/model/url_rewrite.ex +++ b/clients/compute/lib/google_api/compute/v1/model/url_rewrite.ex @@ -23,17 +23,20 @@ defmodule GoogleApi.Compute.V1.Model.UrlRewrite do * `hostRewrite` (*type:* `String.t`, *default:* `nil`) - Before forwarding the request to the selected service, the request's host header is replaced with contents of hostRewrite. The value must be from 1 to 255 characters. * `pathPrefixRewrite` (*type:* `String.t`, *default:* `nil`) - Before forwarding the request to the selected backend service, the matching portion of the request's path is replaced by pathPrefixRewrite. The value must be from 1 to 1024 characters. + * `pathTemplateRewrite` (*type:* `String.t`, *default:* `nil`) - If specified, the pattern rewrites the URL path (based on the :path header) using the HTTP template syntax. A corresponding path_template_match must be specified. Any template variables must exist in the path_template_match field. - -At least one variable must be specified in the path_template_match field - You can omit variables from the rewritten URL - The * and ** operators cannot be matched unless they have a corresponding variable name - e.g. {format=*} or {var=**}. For example, a path_template_match of /static/{format=**} could be rewritten as /static/content/{format} to prefix /content to the URL. Variables can also be re-ordered in a rewrite, so that /{country}/{format}/{suffix=**} can be rewritten as /content/{format}/{country}/{suffix}. At least one non-empty routeRules[].matchRules[].path_template_match is required. Only one of path_prefix_rewrite or path_template_rewrite may be specified. """ use GoogleApi.Gax.ModelBase @type t :: %__MODULE__{ :hostRewrite => String.t() | nil, - :pathPrefixRewrite => String.t() | nil + :pathPrefixRewrite => String.t() | nil, + :pathTemplateRewrite => String.t() | nil } field(:hostRewrite) field(:pathPrefixRewrite) + field(:pathTemplateRewrite) end defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.UrlRewrite do diff --git a/clients/compute/lib/google_api/compute/v1/model/usable_subnetwork.ex b/clients/compute/lib/google_api/compute/v1/model/usable_subnetwork.ex index f093c73560..9130bedb4d 100644 --- a/clients/compute/lib/google_api/compute/v1/model/usable_subnetwork.ex +++ b/clients/compute/lib/google_api/compute/v1/model/usable_subnetwork.ex @@ -26,8 +26,8 @@ defmodule GoogleApi.Compute.V1.Model.UsableSubnetwork do * `ipCidrRange` (*type:* `String.t`, *default:* `nil`) - The range of internal addresses that are owned by this subnetwork. * `ipv6AccessType` (*type:* `String.t`, *default:* `nil`) - The access type of IPv6 address this subnet holds. It's immutable and can only be specified during creation or the first time the subnet is updated into IPV4_IPV6 dual stack. * `network` (*type:* `String.t`, *default:* `nil`) - Network URL. - * `purpose` (*type:* `String.t`, *default:* `nil`) - The purpose of the resource. This field can be either PRIVATE_RFC_1918 or INTERNAL_HTTPS_LOAD_BALANCER. A subnetwork with purpose set to INTERNAL_HTTPS_LOAD_BALANCER is a user-created subnetwork that is reserved for Internal HTTP(S) Load Balancing. If unspecified, the purpose defaults to PRIVATE_RFC_1918. The enableFlowLogs field isn't supported with the purpose field set to INTERNAL_HTTPS_LOAD_BALANCER. - * `role` (*type:* `String.t`, *default:* `nil`) - The role of subnetwork. Currently, this field is only used when purpose = INTERNAL_HTTPS_LOAD_BALANCER. The value can be set to ACTIVE or BACKUP. An ACTIVE subnetwork is one that is currently being used for Internal HTTP(S) Load Balancing. A BACKUP subnetwork is one that is ready to be promoted to ACTIVE or is currently draining. This field can be updated with a patch request. + * `purpose` (*type:* `String.t`, *default:* `nil`) - The purpose of the resource. This field can be either PRIVATE, GLOBAL_MANAGED_PROXY, REGIONAL_MANAGED_PROXY, PRIVATE_SERVICE_CONNECT, or PRIVATE is the default purpose for user-created subnets or subnets that are automatically created in auto mode networks. Subnets with purpose set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY are user-created subnetworks that are reserved for Envoy-based load balancers. A subnet with purpose set to PRIVATE_SERVICE_CONNECT is used to publish services using Private Service Connect. If unspecified, the subnet purpose defaults to PRIVATE. The enableFlowLogs field isn't supported if the subnet purpose field is set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY. + * `role` (*type:* `String.t`, *default:* `nil`) - The role of subnetwork. Currently, this field is only used when purpose is set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY. The value can be set to ACTIVE or BACKUP. An ACTIVE subnetwork is one that is currently being used for Envoy-based load balancers in a region. A BACKUP subnetwork is one that is ready to be promoted to ACTIVE or is currently draining. This field can be updated with a patch request. * `secondaryIpRanges` (*type:* `list(GoogleApi.Compute.V1.Model.UsableSubnetworkSecondaryRange.t)`, *default:* `nil`) - Secondary IP ranges. * `stackType` (*type:* `String.t`, *default:* `nil`) - The stack type for the subnet. If set to IPV4_ONLY, new VMs in the subnet are assigned IPv4 addresses only. If set to IPV4_IPV6, new VMs in the subnet can be assigned both IPv4 and IPv6 addresses. If not specified, IPV4_ONLY is used. This field can be both set at resource creation time and updated using patch. * `subnetwork` (*type:* `String.t`, *default:* `nil`) - Subnetwork URL. diff --git a/clients/compute/lib/google_api/compute/v1/model/vpn_gateway.ex b/clients/compute/lib/google_api/compute/v1/model/vpn_gateway.ex index e2ae156f72..e731ca9c3b 100644 --- a/clients/compute/lib/google_api/compute/v1/model/vpn_gateway.ex +++ b/clients/compute/lib/google_api/compute/v1/model/vpn_gateway.ex @@ -23,9 +23,10 @@ defmodule GoogleApi.Compute.V1.Model.VpnGateway do * `creationTimestamp` (*type:* `String.t`, *default:* `nil`) - [Output Only] Creation timestamp in RFC3339 text format. * `description` (*type:* `String.t`, *default:* `nil`) - An optional description of this resource. Provide this property when you create the resource. + * `gatewayIpVersion` (*type:* `String.t`, *default:* `nil`) - The IP family of the gateway IPs for the HA-VPN gateway interfaces. If not specified, IPV4 will be used. * `id` (*type:* `String.t`, *default:* `nil`) - [Output Only] The unique identifier for the resource. This identifier is defined by the server. * `kind` (*type:* `String.t`, *default:* `compute#vpnGateway`) - [Output Only] Type of resource. Always compute#vpnGateway for VPN gateways. - * `labelFingerprint` (*type:* `String.t`, *default:* `nil`) - A fingerprint for the labels being applied to this VpnGateway, which is essentially a hash of the labels set used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve an VpnGateway. + * `labelFingerprint` (*type:* `String.t`, *default:* `nil`) - A fingerprint for the labels being applied to this VpnGateway, which is essentially a hash of the labels set used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve a VpnGateway. * `labels` (*type:* `map()`, *default:* `nil`) - Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty. * `name` (*type:* `String.t`, *default:* `nil`) - Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. * `network` (*type:* `String.t`, *default:* `nil`) - URL of the network to which this VPN gateway is attached. Provided by the client when the VPN gateway is created. @@ -40,6 +41,7 @@ defmodule GoogleApi.Compute.V1.Model.VpnGateway do @type t :: %__MODULE__{ :creationTimestamp => String.t() | nil, :description => String.t() | nil, + :gatewayIpVersion => String.t() | nil, :id => String.t() | nil, :kind => String.t() | nil, :labelFingerprint => String.t() | nil, @@ -55,6 +57,7 @@ defmodule GoogleApi.Compute.V1.Model.VpnGateway do field(:creationTimestamp) field(:description) + field(:gatewayIpVersion) field(:id) field(:kind) field(:labelFingerprint) diff --git a/clients/compute/lib/google_api/compute/v1/model/vpn_gateway_status_tunnel.ex b/clients/compute/lib/google_api/compute/v1/model/vpn_gateway_status_tunnel.ex index 3f72bf495d..926c95278e 100644 --- a/clients/compute/lib/google_api/compute/v1/model/vpn_gateway_status_tunnel.ex +++ b/clients/compute/lib/google_api/compute/v1/model/vpn_gateway_status_tunnel.ex @@ -22,7 +22,7 @@ defmodule GoogleApi.Compute.V1.Model.VpnGatewayStatusTunnel do ## Attributes * `localGatewayInterface` (*type:* `integer()`, *default:* `nil`) - The VPN gateway interface this VPN tunnel is associated with. - * `peerGatewayInterface` (*type:* `integer()`, *default:* `nil`) - The peer gateway interface this VPN tunnel is connected to, the peer gateway could either be an external VPN gateway or GCP VPN gateway. + * `peerGatewayInterface` (*type:* `integer()`, *default:* `nil`) - The peer gateway interface this VPN tunnel is connected to, the peer gateway could either be an external VPN gateway or a Google Cloud VPN gateway. * `tunnelUrl` (*type:* `String.t`, *default:* `nil`) - URL reference to the VPN tunnel. """ diff --git a/clients/compute/lib/google_api/compute/v1/model/vpn_gateway_status_vpn_connection.ex b/clients/compute/lib/google_api/compute/v1/model/vpn_gateway_status_vpn_connection.ex index 8f22ea1e4d..8cfa23348e 100644 --- a/clients/compute/lib/google_api/compute/v1/model/vpn_gateway_status_vpn_connection.ex +++ b/clients/compute/lib/google_api/compute/v1/model/vpn_gateway_status_vpn_connection.ex @@ -17,7 +17,7 @@ defmodule GoogleApi.Compute.V1.Model.VpnGatewayStatusVpnConnection do @moduledoc """ - A VPN connection contains all VPN tunnels connected from this VpnGateway to the same peer gateway. The peer gateway could either be a external VPN gateway or GCP VPN gateway. + A VPN connection contains all VPN tunnels connected from this VpnGateway to the same peer gateway. The peer gateway could either be an external VPN gateway or a Google Cloud VPN gateway. ## Attributes diff --git a/clients/compute/lib/google_api/compute/v1/model/vpn_gateway_vpn_gateway_interface.ex b/clients/compute/lib/google_api/compute/v1/model/vpn_gateway_vpn_gateway_interface.ex index f07a1bb670..20a4cf9c30 100644 --- a/clients/compute/lib/google_api/compute/v1/model/vpn_gateway_vpn_gateway_interface.ex +++ b/clients/compute/lib/google_api/compute/v1/model/vpn_gateway_vpn_gateway_interface.ex @@ -24,6 +24,7 @@ defmodule GoogleApi.Compute.V1.Model.VpnGatewayVpnGatewayInterface do * `id` (*type:* `integer()`, *default:* `nil`) - [Output Only] Numeric identifier for this VPN interface associated with the VPN gateway. * `interconnectAttachment` (*type:* `String.t`, *default:* `nil`) - URL of the VLAN attachment (interconnectAttachment) resource for this VPN gateway interface. When the value of this field is present, the VPN gateway is used for HA VPN over Cloud Interconnect; all egress or ingress traffic for this VPN gateway interface goes through the specified VLAN attachment resource. * `ipAddress` (*type:* `String.t`, *default:* `nil`) - [Output Only] IP address for this VPN interface associated with the VPN gateway. The IP address could be either a regional external IP address or a regional internal IP address. The two IP addresses for a VPN gateway must be all regional external or regional internal IP addresses. There cannot be a mix of regional external IP addresses and regional internal IP addresses. For HA VPN over Cloud Interconnect, the IP addresses for both interfaces could either be regional internal IP addresses or regional external IP addresses. For regular (non HA VPN over Cloud Interconnect) HA VPN tunnels, the IP address must be a regional external IP address. + * `ipv6Address` (*type:* `String.t`, *default:* `nil`) - [Output Only] IPv6 address for this VPN interface associated with the VPN gateway. The IPv6 address must be a regional external IPv6 address. The format is RFC 5952 format (e.g. 2001:db8::2d9:51:0:0). """ use GoogleApi.Gax.ModelBase @@ -31,12 +32,14 @@ defmodule GoogleApi.Compute.V1.Model.VpnGatewayVpnGatewayInterface do @type t :: %__MODULE__{ :id => integer() | nil, :interconnectAttachment => String.t() | nil, - :ipAddress => String.t() | nil + :ipAddress => String.t() | nil, + :ipv6Address => String.t() | nil } field(:id) field(:interconnectAttachment) field(:ipAddress) + field(:ipv6Address) end defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.VpnGatewayVpnGatewayInterface do diff --git a/clients/compute/lib/google_api/compute/v1/model/vpn_tunnel.ex b/clients/compute/lib/google_api/compute/v1/model/vpn_tunnel.ex index d860c7ed59..ac1220489f 100644 --- a/clients/compute/lib/google_api/compute/v1/model/vpn_tunnel.ex +++ b/clients/compute/lib/google_api/compute/v1/model/vpn_tunnel.ex @@ -27,11 +27,13 @@ defmodule GoogleApi.Compute.V1.Model.VpnTunnel do * `id` (*type:* `String.t`, *default:* `nil`) - [Output Only] The unique identifier for the resource. This identifier is defined by the server. * `ikeVersion` (*type:* `integer()`, *default:* `nil`) - IKE protocol version to use when establishing the VPN tunnel with the peer VPN gateway. Acceptable IKE versions are 1 or 2. The default version is 2. * `kind` (*type:* `String.t`, *default:* `compute#vpnTunnel`) - [Output Only] Type of resource. Always compute#vpnTunnel for VPN tunnels. + * `labelFingerprint` (*type:* `String.t`, *default:* `nil`) - A fingerprint for the labels being applied to this VpnTunnel, which is essentially a hash of the labels set used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve a VpnTunnel. + * `labels` (*type:* `map()`, *default:* `nil`) - Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty. * `localTrafficSelector` (*type:* `list(String.t)`, *default:* `nil`) - Local traffic selector to use when establishing the VPN tunnel with the peer VPN gateway. The value should be a CIDR formatted string, for example: 192.168.0.0/16. The ranges must be disjoint. Only IPv4 is supported. * `name` (*type:* `String.t`, *default:* `nil`) - Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. * `peerExternalGateway` (*type:* `String.t`, *default:* `nil`) - URL of the peer side external VPN gateway to which this VPN tunnel is connected. Provided by the client when the VPN tunnel is created. This field is exclusive with the field peerGcpGateway. * `peerExternalGatewayInterface` (*type:* `integer()`, *default:* `nil`) - The interface ID of the external VPN gateway to which this VPN tunnel is connected. Provided by the client when the VPN tunnel is created. Possible values are: `0`, `1`, `2`, `3`. The number of IDs in use depends on the external VPN gateway redundancy type. - * `peerGcpGateway` (*type:* `String.t`, *default:* `nil`) - URL of the peer side HA GCP VPN gateway to which this VPN tunnel is connected. Provided by the client when the VPN tunnel is created. This field can be used when creating highly available VPN from VPC network to VPC network, the field is exclusive with the field peerExternalGateway. If provided, the VPN tunnel will automatically use the same vpnGatewayInterface ID in the peer GCP VPN gateway. + * `peerGcpGateway` (*type:* `String.t`, *default:* `nil`) - URL of the peer side HA VPN gateway to which this VPN tunnel is connected. Provided by the client when the VPN tunnel is created. This field can be used when creating highly available VPN from VPC network to VPC network, the field is exclusive with the field peerExternalGateway. If provided, the VPN tunnel will automatically use the same vpnGatewayInterface ID in the peer Google Cloud VPN gateway. * `peerIp` (*type:* `String.t`, *default:* `nil`) - IP address of the peer VPN gateway. Only IPv4 is supported. * `region` (*type:* `String.t`, *default:* `nil`) - [Output Only] URL of the region where the VPN tunnel resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body. * `remoteTrafficSelector` (*type:* `list(String.t)`, *default:* `nil`) - Remote traffic selectors to use when establishing the VPN tunnel with the peer VPN gateway. The value should be a CIDR formatted string, for example: 192.168.0.0/16. The ranges should be disjoint. Only IPv4 is supported. @@ -54,6 +56,8 @@ defmodule GoogleApi.Compute.V1.Model.VpnTunnel do :id => String.t() | nil, :ikeVersion => integer() | nil, :kind => String.t() | nil, + :labelFingerprint => String.t() | nil, + :labels => map() | nil, :localTrafficSelector => list(String.t()) | nil, :name => String.t() | nil, :peerExternalGateway => String.t() | nil, @@ -78,6 +82,8 @@ defmodule GoogleApi.Compute.V1.Model.VpnTunnel do field(:id) field(:ikeVersion) field(:kind) + field(:labelFingerprint) + field(:labels, type: :map) field(:localTrafficSelector, type: :list) field(:name) field(:peerExternalGateway) diff --git a/clients/compute/lib/google_api/compute/v1/model/waf_expression_set_expression.ex b/clients/compute/lib/google_api/compute/v1/model/waf_expression_set_expression.ex index 0942591561..9421a1c56e 100644 --- a/clients/compute/lib/google_api/compute/v1/model/waf_expression_set_expression.ex +++ b/clients/compute/lib/google_api/compute/v1/model/waf_expression_set_expression.ex @@ -22,15 +22,18 @@ defmodule GoogleApi.Compute.V1.Model.WafExpressionSetExpression do ## Attributes * `id` (*type:* `String.t`, *default:* `nil`) - Expression ID should uniquely identify the origin of the expression. E.g. owasp-crs-v020901-id973337 identifies Owasp core rule set version 2.9.1 rule id 973337. The ID could be used to determine the individual attack definition that has been detected. It could also be used to exclude it from the policy in case of false positive. required + * `sensitivity` (*type:* `integer()`, *default:* `nil`) - The sensitivity value associated with the WAF rule ID. This corresponds to the ModSecurity paranoia level, ranging from 1 to 4. 0 is reserved for opt-in only rules. """ use GoogleApi.Gax.ModelBase @type t :: %__MODULE__{ - :id => String.t() | nil + :id => String.t() | nil, + :sensitivity => integer() | nil } field(:id) + field(:sensitivity) end defimpl Poison.Decoder, for: GoogleApi.Compute.V1.Model.WafExpressionSetExpression do